์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๊ทธ๋ž˜ํ”ฝ์Šค ์ˆ˜์—… 5๋ฒˆ์งธ ๊ณผ์ œ์ธ 3D Viewing์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
[1] 3D objects๋“ค์ด ์ •์ง€ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ
1. ์นด๋ฉ”๋ผ๊ฐ€ ์ œ์ž๋ฆฌ์—์„œ ํšŒ์ „
2. ์นด๋ฉ”๋ผ๊ฐ€ VPN์„ ๊ณ ์ •์‹œํ‚จ ์ฑ„๋กœ ์˜†์œผ๋กœ ์ด๋™
3. ์ •์ง€ํ•œ ์นด๋ฉ”๋ผ์˜ ์คŒ์ธ, ์คŒ์•„์›ƒ
4. ์นด๋ฉ”๋ผ๊ฐ€ ํŠน์ •ํ•œ ๋ฌผ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํšŒ์ „ํ•˜๋ฉด์„œ ๊ทธ ๋ฌผ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด๋ฉฐ ์นด๋ฉ”๋ผ๊ฐ€ ํšŒ์ „ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ
[2] ์นด๋ฉ”๋ผ์™€ ๋ฌผ์ฒด๊ฐ€ ๋™์‹œ์— ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ





*์ฃผ์š”์†Œ์Šค์ฝ”๋“œ

  • ์™ธ์ ์˜ ๋Œ€์ˆ˜์  ๊ณ„์‚ฐ(Algebraic operation of cross product)

  • 3D์ขŒํ‘œ์ƒ์—์„œ์˜ Vector ํด๋ž˜์Šค ์ •์˜


  • ๋ทฐ์ž‰์ขŒํ‘œ ๊ณ„์‚ฐ

    1. ๋ทฐ์ž‰์ขŒํ‘œ์˜ Z์ถ•์€ ์นด๋ฉ”๋ผ์˜ EyeX,Y,Z ์—์„œ CenterX,Y,Z์˜ ์ฐจ๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋‚˜์˜ต๋‹ˆ๋‹ค.(์นด๋ฉ”๋ผ์œ„์น˜์—์„œ ์นด๋ฉ”๋ผ๊ฐ€ ๋ณด๋Š” ์  ๋นผ๊ธฐ)
    2. View-Up Vector๋Š” ๋‹จ์ˆœํžˆ ์›”๋“œ์ขŒํ‘œ์ƒ์˜ Y์ถ•(0,1,0)์— ํ•ด๋‹นํ•˜๊ฒ ๊ตฌ์š”...
    3. VUP๊ณผ Z๋ฅผ ์™ธ์ ํ•˜๋ฉด X์ถ•์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ 
    4. ๋‹ค์‹œ z์ถ•๊ณผ X์ถ•์„ ์™ธ์ ํ•˜๋ฉด Y์ถ•์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    * ๋‹จ์œ„๋ฒกํ„ฐ๋Š” ๊ทธ๋ƒฅ ์—ฐ์‚ฐ์‹œ์— ํฌ๊ธฐ๋ฅผ ๋‚˜๋ˆ ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



*๊ตฌํ˜„๋œ ๊ฒฐ๊ณผ์˜ ๋น„๋””์˜ค ์บก์ณ (์Œ์„ฑ ์„ค๋ช… ํฌํ•จ)




Discussion
์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์ œ์ผ ๊ณ ์‹ฌํ–ˆ๋˜ ๋ถ€๋ถ„์ด "์นด๋ฉ”๋ผ ์ œ์ž๋ฆฌ ํšŒ์ „" ๋ฐ "๋ฌผ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํšŒ์ „"ํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ˆœํžˆ ์›”๋“œ์ขŒํ‘œ๊ณ„๊ธฐ์ค€์—์„œ X,Y,Z ์ถ• ํšŒ์ „์„ ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ์˜ ๊ธฐ์ค€์œผ๋กœ X,Y,Z์ถ•์ธ์ง€ ๋ช…์‹œ๋˜์–ด์žˆ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์›”๋“œ์ขŒํ‘œ๊ธฐ์ค€์—์„œ "๋ฌผ์ฒด๋ฅผ ๋ฐ”๋ผ๋ณด๋ฉฐ ์ด๋™ํšŒ์ „"์„ ํ•˜๋Š”๊ฒƒ์ด๋ฉด ๊ทธ๋ฆผ1(Z์ถ•๊ธฐ์ค€ ํšŒ์ „์˜ ๊ถค์ ๊ทธ๋ฆผ์€ ์ƒ๋žตํ–ˆ์Šต๋‹ˆ๋‹ค) ๊ณผ ๊ฐ™์ด ์นด๋ฉ”๋ผ๊ฐ€ ๊ถค์ ์„ ๊ทธ๋ฆฌ๊ฒŒ ๋˜์ง€๋งŒ ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ์—์„œ ์ด๋™ํšŒ์ „์„ ํ•˜๊ฒŒ๋˜๋ฉด ๊ทธ๋ฆผ2(Y์ถ•๊ธฐ์ค€ ํšŒ์ „์˜ ๊ถค์ ๋งŒ ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค)์™€ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ทฐ์ž‰์ขŒํ‘œ๊ธฐ์ค€์œผ๋กœ ํšŒ์ „์„ ํ•˜๋ ค๋ฉด ๋‹ค์‹œ glLookatํ•จ์ˆ˜์˜ ๋‚ด๋ถ€๊ตฌํ˜„, ์ฆ‰, Cross Product๋“ฑ์˜ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ทฐ์ž‰์ขŒํ‘œ๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ–ˆ์œผ๋ฉฐ, ํšŒ์ „์‹œ์—๋„ ํ›จ์”ฌ ๋” ๋ณต์žกํ•œ ์—ฐ์‚ฐ์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ์˜ค์ฐจ ๋•Œ๋ฌธ์ธ์ง€ ๊ทธ๋ฆผ2์™€ ๊ฐ™์ด ๊ตฌํ˜„์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํผํฌ๋จผ์Šค๊ฐ€ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค.(Center<๋ฐ”๋ผ๋ณด๋Š”์ >์˜ ์ขŒํ‘œ๊ฐ€ ๊ณ„์† ๋ฐ”๋€Œ๋”๊ตฐ์š” ๋น„๋””์˜ค์บก์ณ ๋งˆ์ง€๋ง‰๋ถ€๋ถ„์— "์ŠคํŽ˜์…œํฌ์Šค"์ฒ˜๋Ÿผ ์›€์ง์ด๋Š” ์žฅ๋ฉด์„ค๋ช…์—์„œ ์ž์„ธํžˆ ๋ณด๋ฉด ๋ฐ”๋ผ๋ณด๋Š”์ ์ด ์กฐ๊ธˆ์”ฉ ์›€์ง์ด๋Š” ๊ฑธ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ๊ทธ๋ž˜์„œ ๋งˆ์šฐ์Šค๋ชจ์…˜ ์„ค์ •์€ ๊ทธ๋ฆผ2์™€ ๊ฐ™์ด, ํ‚ค๋ณด๋“œ ์„ค์ •์€ ๊ทธ๋ฆผ1. ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” 3D์ƒ์—์„œ์˜ ํšŒ์ „์ด์ง€๋งŒ 2D ์„ธ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ 2DํšŒ์ „ ๋ณ€ํ™˜ ๊ณต์‹์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์™ธ์— 3D๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค ๋ณด๋‹ˆ, ์ œ๊ฐ€ ๋™์˜์ƒ์„ ๋งŒ๋“ค์–ด ๋†“๊ณ ๋„ ์–ด๋–ป๊ฒŒ ์ž‘๋™๋˜๋Š” ๊ฒƒ์ธ์ง€ ๋„ˆ๋ฌด ํ˜ผ๋ˆ์Šค๋Ÿฌ์›Œ์„œ x,y,z์ขŒํ‘œ๋ฅผ ๊ทธ์—ˆ๊ณ  ๋”๋ถˆ์–ด xy,yz,xzํ‰๋ฉด์—๋„ ๋ฒ„ํ‹ฐ์ปฌ ์ฒ˜๋Ÿผ ์‹ค์„ ์„ ๋“œ๋ฌธ๋“œ๋ฌธ ๊ทธ์—ˆ์Šต๋‹ˆ๋‹ค(๋นฝ๋นฝํžˆ ์ฑ„์šฐ๋ฉด CPU์ ์œ ์œจ์ด ๋„ˆ๋ฌด ๋†’์•„์ ธ์„œ ํผํฌ๋จผ์Šค๊ฐ€ ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.)

์žฌ๋ฏธ์‚ผ์•„ "์นด์šดํ„ฐ์ŠคํŠธ๋ผ์ดํฌ"๋‚˜ "์ŠคํŽ˜์…œํฌ์Šค"์™€ ๊ฐ™์€ FPS 3D๊ฒŒ์ž„์—์„œ์˜ ์กฐ์ž‘์„ ๋น„๋””์˜ค์บก์ณ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ Demonstrationํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ํ†ตํ•ด ์ˆ˜์—…์‹œ๊ฐ„์— ์ด๋ก ์œผ๋กœ ๋ฐฐ์› ๋˜ ๋ถ€๋ถ„์„ ์ข€ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  3D๊ฒŒ์ž„์ œ์ž‘์„ ํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ๋“ค ์ •๋„๋กœ ํฅ๋ฏธ๋กœ์šด ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค. ^^


๊ทธ๋ฆผ1. ์›”๋“œ์ขŒํ‘œ ๊ธฐ์ค€


๊ทธ๋ฆผ2. ์นด๋ฉ”๋ผ์˜ ๋ทฐ์ž‰์ขŒํ‘œ ๊ธฐ์ค€



* ์†Œ์Šค๋Š” ํ•˜๊ธฐ ๋งํฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.

http://goo.gl/VH3UU




๋ฐ˜์‘ํ˜•

+ Recent posts