Cone - miniRT-jiphyeonjeon/MiniRT GitHub Wiki

๊ณต์์ ๊ตฌํ๊ธฐ ์ํ ์์์ ์๊ธฐ๋ฅ๊ณผ ๋์ผํ๋ค. ๋์ด์ ํด๋นํ๋ โบ๋ ๋์ผํ๋ค.
(โบ์ ๋ํ ๋ฐฉํฅ์ ๋ฐ๋๋ก ์ ์ฉํ๋ฉด ์์ด ์ข ๋ ๊ฐ๋จํด ์ง ์๋ ์๊ฒ ๋ค.)

์๊ธฐ๋ฅ๊ณผ ๋ค๋ฅธ ์ ์ด ์๋ค๋ฉด, qยทq - r^2 = 0์ ํด๋นํ๋ r๊ฐ์ด โบ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค๋ ๊ฒ์ด๋ค.
โบ๊ฐ 0์ผ ๋, ์ฆ ์ ์ฒด ๋์ด h์ผ ๋๊ฐ ๋ฐ์ง๋ฆ r์ด๋ผ๊ณ ํ๋ค๋ฉด, ์์์ โบ์์ ๋ฐ์ง๋ฆ rโ์ ๋น๋ก์์ ํตํด ๊ตฌํ ์ ์๋ค.

์ด r์ ๊ณต์์ ๋ค์ ์ง์ด๋ฃ๊ณ ์ง์๊ณต์์ ํ์ํ a, bโ, c๋ฅผ ๊ตฌํ๋ฉด......
๊ทธ ๊ณผ์ ์ด ๋ฒ๊ฑฐ๋กญ๊ธด ํ์ง๋ง ์๊ธฐ๋ฅ์์ ๊ณ์ฐ๋ a, bโ, c์ ์์๊ฐ ์ถ๊ฐ๋ ํํ๋ก ๋์ค๊ฒ ๋๋ค.



์๊ธฐ๋ฅ์ normal vector๋ q๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์์ง๋ง, ์๋ฟ์์๋ ์ถ๊ฐ์ ์ธ ๊ณ์ฐ์ด ํ์ํ๋ค.

์์ง์ธ ๋ vector๋ก ๋ง๋ค ์ ์๋ ์ผ๊ฐํ์ด ์์ ๋ ๋๊ฐ์ ์์์ ์ ์ vector๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์
์ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด vector๋ค์ 90๋ ํ์ ์์ผ ๊ณ์ฐํ๋ ๊ฒ์ด๋ค.
์ด ๊ทธ๋ฆผ์ ์ค๋ฅธ์ชฝ ์๋ฟ์ ์ ์ฉ์์ผ๋ณด๋ฉด, a์ ํด๋นํ๋ ๊ฒ์ h - โบ์ผ ๊ฒ์ด๊ณ , b์ ํด๋นํ๋ ๊ฒ์ ํด๋น ์์น์์์ ๋ฐ์ง๋ฆ์ธ rโ์ด ๋๋ค.
๋ฐ๋ผ์ ๊ตฌํ๊ณ ์ ํ๋ vector t๋ ์๋ ์์ผ๋ก ๊ตฌํ ์ ์๋ค. (๋ง์ง๋ง์ unit vector๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ ์์ง ๋ง์.)
