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 ์ค๋ธ์ ์ผ๋ฅผ ์ฌ์ฉํ์ฌ ์์
ํ๋ค ๋ณด๋ฉด ํ๋์ ์ ์ผ๋ก ์์
ํ๋ ๊ฒ๋ณด๋ค ์ฌ๋ฌ ์ ์ ๋ฌถ์ด ์์
ํ๋ ๊ฒ์ด ํจ์จ์ ์์ ์๊ฒ ๋๋ค.
์๋ฅผ ๋ค์ด, ์ปดํจํฐ๋ฅผ ๋ชจ๋ธ๋งํ ๊ฒฝ์ฐ ๋ค์ ์ฝ๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ์ ์ฅํ ์ ์๋ค.
ํ๋์ code[] ์ ๋ "์ธ๊ณ"์ขํ๋ฅผ ๊ตฌํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค.
CPU::GetWorldCoord(int index)๋ ๊ทธ ์ธ๊ณ์ ์์ ์ ๋ํด CPU ์ฌ๋๊ฐ ์ ์ค์ ํ๋๋ฅผ ๋ฐํํ๋ค. ๋จ์ง coordindex๋ฅผ ๋ฐํํ๋ค๋ฉด, CPU์ค์์ ํด๋นํ๋ CPU์ ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ๋์ค์ CPU๋ฅผ ๊ทธ๋ ๋ ์ํ๋ ๋๋ก ๊ทธ๋ฆด ์ ์๊ฒ ๋๋ค. ์ค์์ ์์ง์ด๋ฉด์๋ CPU์ ์ฌ๋๊ฐ๋ฅผ ๋ชจ๋ ์ฎ๊ธฐ๋ ํจ๊ณผ๋ฅผ ๋ผ ์๋ ์๋ค.
์๋ฅผ ๋ค์ด, ์ปดํจํฐ๋ฅผ ๋ชจ๋ธ๋งํ ๊ฒฝ์ฐ ๋ค์ ์ฝ๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ์ ์ฅํ ์ ์๋ค.
~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; } };
1.2. 2. 3D์์ญ์์ 2D์ปดํจํฐ ํ๋ฉด์ผ๋ก ¶
์ญ์๋ ๋์ ์ํ์ ํ๊ณ๋ก. ๊ทธ๋ฅ ์ฐ์ฝ ๋ณด๋ฉด์ ๋์ด ๊ฐ๋ค. ๋ญ์๋ฆฌ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ๊ณ . ใ
ใ
ใ
๊ทธ๋ฅ ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋์ง. ๋์ค์ ๊ถ๊ธํ๋ฉด ๋ ํ๋ณผ๊ฒ์ด๋ค.
ํจ์๋ฅผ ๋ถ๋ฌ ์ฐ๋ฏ์ด. ์ผ์ผ.. ใ กใ ก; ์ด๋ ค์.. ํด์ฑ์ดํํํ ๋ฌผ์ด๋ด์ผ์ง.. --;
ํจ์๋ฅผ ๋ถ๋ฌ ์ฐ๋ฏ์ด. ์ผ์ผ.. ใ กใ ก; ์ด๋ ค์.. ํด์ฑ์ดํํํ ๋ฌผ์ด๋ด์ผ์ง.. --;