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.0128 sec