Positionable_camera - miniRT-jiphyeonjeon/MiniRT GitHub Wiki

Screen Shot 2022-03-29 at 6 50 31 PM

Camera-space Coordinate

์นด๋ฉ”๋ผ๋Š” ๊ธฐ๋ณธ ์ขŒํ‘œ๊ณ„์™€ ๋‹ค๋ฅธ ์ž์ฒด ์ขŒํ‘œ๊ณ„๋ฅผ ๊ฐ€์ง„๋‹ค.

.rt ํŒŒ์ผ์—์„œ ๋ฐ›๋Š” ์นด๋ฉ”๋ผ๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฐฉํ–ฅ์„ ๊ธฐ์ค€์œผ๋กœ, ๋ฐ˜๋Œ€๋ฐฉํ–ฅ์œผ๋กœ ํ‘œํ˜„๋˜๋Š” w์ถ•์„ ๋งŒ๋“ค์–ด์ฃผ์ž.

์ด w์ถ•์ด ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ๋ณธ ์žฌ๋ฃŒ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์ดˆ๋ก์ƒ‰ ๋ฐฉํ–ฅ๋ฒกํ„ฐ t๋Š” ์นด๋ฉ”๋ผ์˜ ์œ„์ชฝ ๋ฐฉํ–ฅ์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ’์ด๋‹ค. (0, 1, 0)

์‚ฌ๋žŒ์œผ๋กœ ๋น„์œ ํ•˜๋ฉด 3์ฐจ์›์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ ์žˆ์„ ๋•Œ์˜ ๊ธฐ๋ณธ ๋จธ๋ฆฌ๋ฐฉํ–ฅ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.


๋งŒ์•ฝ w๊ฐ€ t์™€ ๊ฐ™์€ ๋ฐฉํ–ฅ์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด, ์™ธ์ ์ด 0์ด ๋˜๋ฒ„๋ฆฌ๋Š” ์ฐธ์‚ฌ๊ฐ€ ์ƒ๊ธฐ๋ฏ€๋กœ ์ด ๋•Œ๋Š” t์˜ ๋ฐฉํ–ฅ์„ ์ˆ˜์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋น„์œ ํ•˜์ž๋ฉด ์‚ฌ๋žŒ์ด ์œ„๋ฅผ ์ณ๋‹ค๋ณด๊ธฐ ์œ„ํ•ด ๊ณ ๊ฐœ๋ฅผ ๋“ค๋ฉด ๋จธ๋ฆฌ์˜ ๋ฐฉํ–ฅ์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

(0, 0, 1)๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์ขŒํ‘œ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ์–ด๋А ๋ฐฉํ–ฅ์ด๋“  ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.


๊ณ„์‚ฐ์€ ๊ฐ„๋‹จํ•˜๋‹ค. w์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ์™ธ์ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋!

Screen Shot 2022-03-29 at 6 56 02 PM

์—ฌ๊ธฐ์„œ ๋ชจ๋“  ๋ฒกํ„ฐ๋Š” ๋‹จ์œ„๋ฒกํ„ฐ๋กœ ๊ณ„์‚ฐ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์žŠ์ง€ ๋ง์ž.


FOV (Field of view)

์นด๋ฉ”๋ผ ํ™”๊ฐ์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜์—ญ(๊ฐ๋„)๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

minirt์—์„œ๋Š” ์ด ๊ฐ๋„๋ฅผ ์ˆ˜ํ‰๋ฐฉํ–ฅ์œผ๋กœ ์ ์šฉํ•˜๊ณ  ์žˆ๋‹ค.


-w ๋ฐฉํ–ฅ์„ ๋น„์ถ”๋Š” ์นด๋ฉ”๋ผ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ์ˆ˜ํ‰๋ฐฉํ–ฅ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋Š” tan(๐žฑ / 2)๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฅผ ์–‘์ชฝ์— ์ ์šฉํ•ด์„œ 2๋ฅผ ๊ณฑํ•œ ๊ฐ’์ด ์ตœ์ข… ํญ์ด ๋œ๋‹ค.


์ด ๊ฐ’๊ณผ ์œ„์—์„œ ๊ตฌํ•œ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„๋ฅผ ์ข…ํ•ฉํ•ด๋ณด๋ฉด ์นด๋ฉ”๋ผ๊ฐ€ ์ž„์˜์˜ ์œ„์น˜, ์ž„์˜์˜ ๋ฐฉํ–ฅ์„ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค!

โš ๏ธ **GitHub.com Fallback** โš ๏ธ