E D R , A S I H C RSS

C++3DGame

1. 3D ๊ธฐˆ

1.1. 1. ขŒ‘œ๊ณ„ ‚ฌšฉ•˜๊ธฐ

3D ˜—ญ—„œ˜ ž‘—…„ œ„•„œŠ” ‚ฌšฉ•  ขŒ‘œ๊ณ„ฅผ  •˜•••œ‹ค.

๊ฐ€žฅ ผฐ˜ ธ ขŒ‘œ๊ณ„ธ ฐŠธ ขŒ‘œ๊ณ„Š” › œผกœ ‚ฌšฉ•   ๊ณผ › „ €‚˜ฉฐ „œกœ €๊ฐธ „ธ ๊ฐœ˜ • žˆ‹ค.

๊ทธฆฌ๊ณ , Ÿฐ ฐŠธ ขŒ‘œฅผ ‘œ˜„• ˆ˜ žˆŠ” ๊ตฌกฐŠ”.. ‹คŒ๊ณผ ๊ฐ™‹ค.
~cpp 
struct Point3D
{
   float x;
   float y;
   float z;
}

1.1.1. 1.1 ผ ขŒ‘œ๊ณ„

"› —„œ ™„ ฐ”ผฉฐ ฃฝœผกœ 38„ šŒ „•˜๊ณ , œ„กœ 65„ šŒ „•œ ›„—  „ „ ”ฐผ 7.47”ผŠธกœ ™"•˜Š” ฐฉ•œผกœ œ„น˜ฅผ „ค…•  ˆ˜ žˆ‹ค. ๊ทธŸฌ‚˜, ˆ˜•™ œผกœ ’€ ๊ฒฝšฐ,  „ ฆฌ €ฆฌ ›€ง ฒ˜ฆฌ•˜๊ธฐ๊ฐ€ ”š – ค›Œง„‹ค. ๊ทธž˜„œ Ÿฐ ผ ขŒ‘œ๊ณ„Š”  œ–๊ฐ€ – ต๊ธฐ •Œฌธ— 3D—”ง„—„œŠ” ๊ฑฐ˜ ‚ฌšฉ•˜€ •ŠŠ”‹ค.

1.1.2. 1.2 ‹คค‘ ขŒ‘œ๊ณ„ ‚ฌšฉ•˜๊ธฐ

3D ˜คธŒ œผฅผ ‚ฌšฉ•˜—ฌ ž‘—…•˜‹ค •˜‚˜˜  œผกœ ž‘—…•˜Š” ๊ฒƒ‹ค —ฌŸฌ  „ ฌถ– ž‘—…•˜Š” ๊ฒƒ šจœจ ž„„ •Œ๊ฒŒ œ‹ค.
˜ˆฅผ “ค–, “จ„ฐฅผ ธง•  ๊ฒฝšฐ ‹คŒ ฝ”“œ™€ ๊ฐ™€ ๊ตฌกฐกœ  €žฅ• ˆ˜ žˆ‹ค.
~cpp 
struct CPU
{
 Point3D center; // the center of CPU. in world coordinates
 Point3D coord[8]; // the 8 corners of the CPU box relatives to the center point
};
 ‡๊ฒŒ •˜ ๊ฒŒž„—„œ CPUฅผ ›€ง—ฌ••  ๊ฒฝšฐ, CPUฅผ ๊ทธฆฌŠ”ฐ ‚ฌšฉ•˜Š” “  — Œ€•œ “จ„ฐ ค‘•™ งŒ ›€ง œ‹ค.

•˜‚˜˜ code[]  ˆŒ€ "„ธ๊ณ„"ขŒ‘œฅผ ๊ตฌ•˜ ค ‹คŒ๊ณผ ๊ฐ™€ ฝ”“œฅผ ‚ฌšฉ•œ‹ค.
~cpp 
struct CPU
{
 Point3D center;
 Point3D coord[8];
 Point3D GetWorldCoord (int index)
 {
   Point3D result;
   result.x = center.x + coord[index].x;
   result.y = center.y + coord[index].y;
   result.z = center.z + coord[index].z;
   return result;
 }
};

CPU::GetWorldCoord(int index)Š” ๊ทธ „ธ๊ณ„˜ › — Œ€• CPU —ฌŸ๊ฐœ   ค‘˜ •˜‚˜ฅผ ฐ˜™˜•œ‹ค. ‹จ€ coordindexฅผ ฐ˜™˜•œ‹ค, CPUค‘•™— •‹น•˜Š” CPU „ ฐ˜™˜•˜๊ธฐ •Œฌธ— ‚˜ค‘— CPUฅผ ๊ทธž  •Œ ›•˜Š” Œ€กœ ๊ทธ ˆ˜ —†๊ฒŒ œ‹ค. ค‘•™„ ›€ง„œ„ CPU  —ฌŸ๊ฐœฅผ ‘ ˜ฎ๊ธฐŠ” šจ๊ณผฅผ ‚ผ ˆ˜„ žˆ‹ค.

1.2. 2. 3D˜—ญ—„œ 2D“จ„ฐ ™”œผกœ

—ญ‹œ‚˜ ‚˜˜ ˆ˜•™˜ •œ๊ณ„กœ. ๊ทธƒ“ฐœฝ „œ „˜– ๊ฐ”‹ค. ญ”†Œฆฌธ€Š” ๊ฒ ๊ณ . ใ…‹ใ…‹ใ…‹ ๊ทธƒฅ ๊ฐ€ ธ‹ค “ฐ ˜€. ‚˜ค‘— ๊ถ๊ธˆ•˜ ” ŒŒณผ๊ฒƒ‹ค.

•ˆ˜ฅผ ถˆŸฌ “ฐ“ฏ. €€.. ใ…กใ…ก; – ค›Œ.. •„ฑ˜••œ…Œ ฌผ–•€.. --;

1.3. 3. ๊ทธž˜”ฝ ”„กœ๊ทธž˜ฐ ๊ฐœš”


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:44
Processing time 0.0132 sec