์‚ผ๊ฐ๋ฒ•์€ ๋ฌด์—‡์— ์“ฐ์ผ๊นŒ?


์–ด๋–ค ์ง๊ฐ์‚ผ๊ฐํ˜•์ด ์žˆ์„ ๋•Œ, ์—ฌ๋Ÿฌ๋ถ„์€ ๋‘ ๋ณ€์˜ ๊ธธ์ด ๋˜๋Š” ํ•œ ๋ณ€๊ณผ ํ•œ ์˜ˆ๊ฐ์˜ ํฌ๊ธฐ๋งŒ ์•Œ๋ฉด ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์˜ ์‚ฌ์‹ค์„ ์•Œ์•„๋‘๊ธฐ ๋ฐ”๋ž€๋‹ค.


a15f0cac353376b660b8f68b12d21a1df8c7ba4a7380

์•Œ๊ฒ ์ง€? ๋ชจ๋ฅด๊ฒ ๋‹ค๊ณ ? ๋ญ, ๊ฑฑ์ • ์•ˆ ํ•ด๋„ ๋œ๋‹ค. ๋งŒ์•ฝ ๋น—๋ณ€์ด๋‚˜ sin, cos, tan ๊ฐ™์€๊ฑด ํ•œ ๋ฒˆ๋„ ๋ณธ ์ ์ด ์—†๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ € ์‚ผ๊ฐํ˜•์˜ ๋น—๊ธˆ์นœ ๊ฐ ์œ„์— ์•‰๋„๋ก. ์–ด๋–ป๊ฒŒ ๋œ ๊ฑด์ง€๋Š” ๊ณง ์•Œ ์ˆ˜ ์žˆ์„ ํ…Œ๋‹ˆ๊นŒ.

์ง๊ฐ์‚ผ๊ฐํ˜•์—์„œ ๊ฐ€์žฅ ๊ธด ๋ณ€์„ ๋น—๋ณ€์ด๋ผ๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์•‰์•„์žˆ๋Š” ์ž๋ฆฌ์—์„œ ๋ฐ˜๋Œ€์ชฝ์— ์žˆ๋Š” ๊ฒƒ์ด ๋†’์ด(๋Œ€๋ณ€)์ด๋ฉฐ ๋‚˜๋จธ์ง€ ํ•œ ๋ณ€์ด ๋ฐ‘๋ณ€(๋น—๋ณ€ ๋ง๊ณ  ๋ฐ”๋กœ ์˜†์— ์žˆ๋Š” ๋ณ€)์ด๋‹ค.


...(์ค‘๋žต)...


๋‚˜๋ฆ„๋Œ€๋กœ ๊ธฐ์–ตํ•˜๊ธฐ


์ผ๋‹จ ์‚ฌ์ธ, ์ฝ”์‚ฌ์ธ, ํƒ„์  ํŠธ์˜ ๋œป์„ ์•Œ์•˜๋‹ค๋ฉด ์ด์ œ ์„ฑ๊ฐ€์‹  ๋ถ€๋ถ„์€ ์ง๊ฐ์‚ผ๊ฐํ˜•์˜ ์–ด๋А ๋ณ€์œผ๋กœ ๋ถ„์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š”์ง€ ๊ธฐ์–ตํ•˜๋Š” ์ผ ๋ฟ์ด๋‹ค. ํ”ํžˆ ์ง๊ฐ์‚ผ๊ฐํ˜•์„ ๋†“๊ณ  ์‚ฌ์ธ, ์ฝ”์‚ฌ์ธ, ํƒ„์  ํŠธ์˜ ์˜๋ฌธ ํ•„๊ธฐ์ฒด ๋ชจ์–‘์„ ๋”ฐ๋ผ์„œ ๊ธฐ์–ตํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์‚ฌ์ธ์˜ S๋ฅผ ํ•„๊ธฐ์ฒด๋กœ ์“ธ ๋•Œ๋Š” ์‚ฌ์„ ์œผ๋กœ ์˜ฌ๋ผ๊ฐ”๋‹ค ๋‚ด๋ ค์˜ค๋ฏ€๋กœ ๋น—๋ณ€ ๋ถ„์˜ ๋†’์ด, ์ฝ”์‚ฌ์ธ์˜ C๋Š” ์‚ฌ์„ ์œผ๋กœ ๋‚ด๋ ค์™”๋‹ค๊ฐ€ ์˜†์œผ๋กœ ๊ฐ€๋ฏ€๋กœ ๋น—๋ณ€ ๋ถ„์˜ ๋†’์ด๊ฐ€ ๋œ๋‹ค. ์ง์ ‘ ์ง๊ฐ์‚ผ๊ฐํ˜•์„ ๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ์˜ ์˜ˆ๊ฐ์„ ์‹œ์ž‘์œผ๋กœ S, C, t๋ฅผ ํ•„๊ธฐ์ฒด๋กœ ์จ๋ณด๋ฉด ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ž˜ ๋ผ?


์ด๋Ÿฐ ๊ฑด ์–ด๋–จ๊นŒ? ์‚ฌ๋Œ€๋น„ ์ฝ”๋ฐ‘๋น„ ํƒ„๋Œ€๋น„*, ์ด๊ฒƒ์€ ์œ„์˜ ์‹์„ ์ฐŒ๋ถ€๋ŸฌํŠธ๋ ค์„œ ์˜†์œผ๋กœ ๋Š˜์ธ ๊ฒƒ์ด๋‹ค(๋Œ€๋ณ€=๋†’์ด). ์ด ๊ณต์‹์„ ๊ฐ€์ง€๊ณ  ๋‚˜๋ฆ„๋Œ€๋กœ ์—ฝ๊ธฐ์ ์ธ ์งง์€ ๊ธ€์„ ์ง€์–ด ๋ณด๋„๋ก.


"์ฐฐ๊ฑฐ๋จธ๋ฆฌ ๋ฐ•์‚ฌ, ์‚ฌ๋žŒ ๋Œ€๋†“๊ณ  ๋น„์›ƒ์œผ๋ฉฐ ์ฝ” ๋ฐ‘ ๋น„๋น„์ง€ ๋ง๊ณ  ๋”ด ๋ฐ๋กœ ๋น„*ํ‚ค์‹œ์˜ค."


์—ฌ๋Ÿฌ๋ถ„์ด๋ผ๋ฉด ๋” ๋ฉ‹์ง„ ์‹œ๋ฅผ ์ง€์„ ์ˆ˜ ์žˆ์„๊ฑธ.


*์ฐŒ๋ถ€๋ŸฌํŠธ๋ฆฐ ๋ฌธ์žฅ์—๋Š” ๋น„(๋น—๋ณ€)์ด์ง€๋งŒ ์›๋ž˜๋Š” ๋ฐ‘(๋ฐ‘๋ณ€)์ด ๋งž์Œ. ํƒ„๋Œ€๋ฐ‘.

(์ธ์šฉย - ์„ฌ๋œฉ์„ฌ๋œฉ ์‚ผ๊ฐ๋ฒ•)




์ฐธ์กฐ : ์ด ๊ธ€์€ ์œ„ ์˜์ƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœย ์ž‘์„ฑ๋˜์—ˆ์Œ. ํ•œ๊ธ€ ์ž๋ง‰ ์—†์Œ





04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0c8cbe8adc9edc8d19ce30cb8dae3f0a02aeac92203b

๊ฒŒ์ž„์— ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ผ๊ฐํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ์ ์ธ ๋‘๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

๋จผ์ € ํ•˜๋‚˜๋Š” ์ž„์˜์˜ ๊ฐ๋„ ์„ธํƒ€, ์˜ˆ๋ฅผ ๋“ค๋ฉด 120๋„๋ผ๋Š” ๊ฐ๋„๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ฑฐ๊ธฐ์„œ ๋‚˜์˜ค๋Š” ๋ฐฉํ–ฅ์„ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š”์ง€.

๋‘๋ฒˆ์งธ๋Š” ๊ทธ ๋ฐ˜๋Œ€๋กœ ์–ด๋–ค ๋ฒกํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ทธ ๊ฐ๋„๋ฅผ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š”์ง€.

๊ทธ๋ฆฌ๊ณ  ํ˜ธ๋„๋ฒ•(Radian)๊ณผ ๊ฐ๋„๋ฒ•(Degree)๊ฐ„์˜ ๋ณ€ํ™˜, ์ด๊ฑธ ์œ ๋‹ˆํ‹ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0d8ddb403c476418717a1da5d8418a997b98b970956645

๋ฐ˜์ง€๋ฆ„์ด 1์œ ๋‹›์ด๊ณ  ์ค‘์‹ฌ์ ์ด ์›์ ์ธ ์›์—์„œ ์‹œ์ž‘ํ•ด๋ณด์ž.

์šฐ์„  (1,0) ์ง€์ ์— ๊ฐ๋„์˜ ์‹œ์ž‘์„ ์˜๋ฏธํ•˜๋Š” 0ยฐ๋ฅผ ์‹œ์ž‘์œผ๋กœ, ๊ฐ๋„๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋œ๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0d885d6782f8a05d4a5543958cfca0dd3799e207f06bab

๊ทธ๋Ÿผ ์ด์ œ ์–ด๋–ค ์ž„์˜์˜ ๋ฐฉํ–ฅ์„ ํ–ฅํ•˜๋Š” ๋ฒกํ„ฐ๊ฐ€ ์žˆ๊ณ , ์•„๋Š”๊ฒƒ์€ ฮธ(์„ธํƒ€)๋ผ๋Š” ์ด๋ฆ„์˜ 120ยฐ์งœ๋ฆฌ ๊ฐ ํ•˜๋‚˜๋ฟ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

์ด ๋ฒกํ„ฐ๊ฐ€ ์›์— ๋‹ฟ์•„์žˆ๋Š” ์ง€์ ์€ ์›์ ์—์„œ x, y๋งŒํผ ์ด๋™ํ•œ (x, y)์ง€์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ณผ์ •์„ ๊ทธ๋ฆฌ๋ฉด ์ง๊ฐ์‚ผ๊ฐํ˜•์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

๋ฌผ๋ก  ์ง๊ด€์ ์œผ๋กœ ๊ธธ์ด๋Š” ์Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์•ฝ๊ฐ„ ์ด์ƒํ•˜๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ถ€ํ˜ธ๋Š” ๋‚˜์ค‘์— ์œ ์šฉํ•˜๊ฒŒ ์“ธ ๋•Œ๊ฐ€ ์žˆ๋‹ค.

๋ถ€ํ˜ธ๋Š” ์ขŒํ‘œํ‰๋ฉด์—์„œ ์›์ ์œผ๋กœ๋ถ€ํ„ฐ์˜ ๋ฐฉํ–ฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž.


๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์„ธ ์‚ผ๊ฐํ•จ์ˆ˜ ๊ณต์‹, ์‚ฌ์ธ/์ฝ”์‚ฌ์ธ/ํƒ„์  ํŠธ๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

๊ณต์‹์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋Œ€๋กœ sin ํ•จ์ˆ˜์— ฮธ๊ฐ’์„ ๋„ฃ์€ ๊ฒฐ๊ณผ๋Š” y / r, ์ฆ‰ ๋†’์ด๋ฅผ ๋น—๋ณ€(๋ฐ˜์ง€๋ฆ„)์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฝ”์‚ฌ์ธ๊ณผ ํƒ„์  ํŠธ๋„ ๋น„์Šทํ•œ ๋ฐฉ์‹.


๋งŒ์•ฝ y๋ฅผ ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด ์‚ฌ์ธ๊ณต์‹์„ ํ™œ์šฉํ•ด์„œ y / r = sin(ฮธ), ์—ฌ๊ธฐ์„œ๋Š” ๋ฐ˜์ง€๋ฆ„์ด 1์ด๊ธฐ๋•Œ๋ฌธ์— r์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ x = cos(ฮธ)๋ผ๊ณ  ์“ธ ์ˆ˜ ์žˆ๊ณ , ๊ตฌํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ์ž„์˜์˜ ๋ฒกํ„ฐ๋Š” (cos(ฮธ), sin(ฮธ))๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์•ž์„œ ฮธ๋ฅผ 120ยฐ๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ ๊ณ„์‚ฐ๊ธฐ์— ์ด๊ฑธ ์ž…๋ ฅํ•˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ (-0.5, 0.87)์ด๋ผ๋Š” ์ขŒํ‘œ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.




05b2de23fcd139ab2eed86e7459c746fed5347667f789196ca0e3058ea8acf206dea1a50ca335c3cd5e001ff9a6f

๋‘๋ฒˆ์งธ ๋ฌธ์ œ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ์‚ฌ์ธ, ์ฝ”์‚ฌ์ธ, ๊ทธ๋ฆฌ๊ณ  ํƒ„์  ํŠธ ํ•จ์ˆ˜์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•œ ๋ฒˆ ํ™•์ธํ•˜๊ณ  ๊ฐ€์ž.

์ด ์• ๋‹ˆ๋ฉ”์ด์…˜์—์„œ ฮธ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๊ฐ ๊ฐ’๋“ค์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋ณ€ํ•˜๋Š” ๊ฐ’์„ ๊ทธ๋ž˜ํ”„๋กœ ๊ธฐ๋กํ•˜๋ฉด ฮธ์˜ ๊ฐ’์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์œ„์•„๋ž˜๋กœ ์›€์ง์ด๋Š” ์‚ฌ์ธ ๊ณก์„ ์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.ย 

์ฝ”์‚ฌ์ธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ๋กํ•ด๋ณด๋ฉด ์‚ฌ์ธ ๊ณก์„ ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์— 90ยฐ์˜ ์˜คํ”„์…‹๋งŒ ์ด๋™ํ•œ ํ˜•ํƒœ๋กœ ๊ทธ๋ ค์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e088cd89a097879f5fd3adbb88613f7f5e6869566785fef

์ด๋ฅผ ํ†ตํ•ด์„œ sin(ฮธ) = cos(90-ฮธ) ์ž„์„, ๋˜ํ•œ cos(ฮธ) = sin(90-ฮธ) ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ด์–ด์„œ ํƒ„์  ํŠธ ๊ทธ๋ž˜ํ”„๋„ ํ™•์ธํ•ด๋ณด์ž.

ํƒ„์  ํŠธ ํ•จ์ˆ˜๋Š” y/x์ด๋ฏ€๋กœ ํŒŒ๋ž€ ์„  ๊ธธ์ด๋ฅผ ์ดˆ๋ก ์„ ์˜ ๊ธธ์ด๋กœ ๋‚˜๋ˆˆ ๋น„์œจ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰ ํƒ„์  ํŠธ ํ•จ์ˆ˜๋Š” tan(ฮธ) = sin(ฮธ) / cos(ฮธ) ๋ผ๊ณ ๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.


์‹ค์ œ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค ํ™•์ธํ•ด๋ณด๋ฉด, 1๊ณผ -1 ์‚ฌ์ด๋ฅผ ์™•๋ณตํ•˜๋Š” ์‚ฌ์ธ/์ฝ”์‚ฌ์ธ ๊ณก์„ ๊ณผ ๋‹ฌ๋ฆฌ ํƒ„์  ํŠธ ๊ณก์„ ์€ ์Œ์˜ ๋ฌดํ•œ๋ถ€ํ„ฐ ์–‘์˜ ๋ฌดํ•œ๊นŒ์ง€์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค.

์šฐ์„  ์—ฌ๊ธฐ๋Š” ๋‚˜์ค‘์— ๋Œ์•„์˜ค๊ธฐ๋กœ ํ•˜๊ณ , ๋‘๋ฒˆ์งธ ๋ฌธ์ œ๋กœ ๋„˜์–ด๊ฐ€๋ณด์ž.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e088f53d3d2d42ed6c5ca5bd8560cf9bed85995c3559170

๋‘๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ์–ด๋–ค ๋ฒกํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ๋ฒกํ„ฐ์˜ ๊ฐ๋„๊ฐ€ ๋ช‡ ๋„์ธ๊ฐ€ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.ย 

์ด ๋ฌธ์ œ์—์„œ๋Š” X๊ฐ€ -0.71์ด๊ณ , Y๊ฐ€ 0.71์ž„์„ ์•Œ๊ณ ์žˆ์œผ๋ฏ€๋กœ, ํƒ„์  ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ๋„๋ฅผ ๊ตฌํ•ด๋ณด์ž.ย 

tan(ฮธ) = 0.71/-0.71 = -1 ์ด๋ฏ€๋กœ ํƒ„์  ํŠธ ๊ทธ๋ž˜ํ”„๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e088855d25025cfbbe0ff6ff57993f70b29ddcec5a8d261

ํƒ„์  ํŠธ ๊ฐ’์ด -1์ผ ๋•Œ, 135ยฐ์™€ 315ยฐ ๋‘ ๊ฐ€์ง€ ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•œ๋‹ค.

-1/1๊ณผ 1/-1์˜ ๊ฒฝ์šฐ ๋ชจ๋‘ ๊ฐ’์ด -1์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ง€๊ธˆ์˜ ๊ฒฝ์šฐ์—๋Š” ์› ๊ทธ๋ž˜ํ”„์— ๊ทธ๋ ค์ง„ ๊ฐ๋„๋ฅผ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๋ฉด ฮธ๊ฐ€ 135ยฐ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


๋งค๋ฒˆ ์ผ์ผํžˆ ๊ทธ๋ž˜ํ”„์™€ ๊ฐ๋„๋ฅผ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ ๋Œ€์‹  ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ญํ•จ์ˆ˜, asin, acos, atan์„ ์•Œ์•„๋ณด์ž.

๊ฐ๊ฐ ์•„ํฌ์‚ฌ์ธ, ์•„ํฌ์ฝ”์‚ฌ์ธ, ์•„ํฌํƒ„์  ํŠธ๋ผ๊ณ  ์ฝ๋Š”๋‹ค.

๋˜ํ•œ ์•„ํฌํƒ„์  ํŠธ ํ•จ์ˆ˜๋Š” ์ง์ „์— ์–ธ๊ธ‰ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด,

๋Œ€๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” y/x ๋Œ€์‹  y์™€ x๋ฅผ ๋ณ„๊ฐœ์˜ ์ธ์ž๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๋ฐ›๋Š” atan2 ํ•จ์ˆ˜๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0989f3adaa726dbf65ddd7463829e08d17599f54ea8e61

์ด๊ฒŒ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ, ์›์„ ์ถ•์— ๋”ฐ๋ผ 4๊ฐœ์˜ ์‚ฌ๋ถ„๋ฉด์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ณด์ž.

์›์˜ ์œ„์ชฝ ์‚ฌ๋ถ„๋ฉด์—์„œ๋Š” y์˜ ๊ฐ’์ด ์–‘์ผ ๊ฒƒ์ด๊ณ , ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ x๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ์–‘์ผ ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‹ˆ ๋งŒ์•ฝ atan2 ํ•จ์ˆ˜์— ์ธ์ž๋กœ (0.71, -0.71)์„ ์ „๋‹ฌํ•˜๋ฉด ํ•จ์ˆ˜์—์„œ๋Š” y๊ฐ€ ์–‘์ˆ˜๊ณ  x๊ฐ€ ์Œ์ˆ˜์ž„์„ ํ™•์‹คํžˆ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Š” ๋‹ต์ด Q2 ์‚ฌ๋ถ„๋ฉด์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ํ•จ์ˆ˜๋Š” ํ•˜๋‚˜์˜ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

์ฆ‰ ์ด ๋ฌธ์ œ์—์„œ ฮธ๋Š” atan2(y, x)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.




2ee8d375e48368f26fe783b410d7753847ec3a05a8a461d2f101efdd04d56593ea781b293dae71dfca38d7dc9a592400c39d493448025dedcabae2a61899431d52c2e3de8e4527d717bdb07fe755f2cfe484e5c61c751f5eff9ca395f647737e6be85e278abbaa6b20b02f6ffc58ddd283a1c54c5cd4d1d1808d8f345aeb335772eafcdc058ecd8ded5d3dbf6204dd6eb77ad895edcf96bc004b699229980ee0c9300bf206647c02ee1b1c6fd8cca66034c74f21ff31d13de97410cf07421d0b4ffa176ede388965167307c74e31b1

์ด์ œ ํ˜ธ๋„๋ฒ•(๋ผ๋””์•ˆ)์„ ์•Œ์•„๋ณด์ž.

ํ˜ธ๋„๋ฒ•์€ ๋ฐ˜์ง€๋ฆ„๊ณผ ๊ฐ™์€ ๊ธธ์ด์˜ ํ˜ธ๋ฅผ ๊ทธ๋ ธ์„ ๋•Œ ๋Œ€์‘ํ•˜๋Š” ๊ฐ์˜ ํฌ๊ธฐ๋ฅผ 1 rad(๋ผ๋””์•ˆ)์œผ๋กœ ์ •์˜ํ•œ๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0b8c88f43499f3936804cd12fb66a29a2358effa1e8ee0

์˜ค๋ฅธ์ชฝ์˜ 0 ๋ผ๋””์•ˆ ์ง€์ ๋ถ€ํ„ฐ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ์›์˜ ๋‘˜๋ ˆ๋ฅผ ๋”ฐ๋ผ์„œ ์ง„ํ–‰ํ•ด๋ณด๋ฉด ๋ฐ˜์›์€ 3.14, ์ฆ‰ ฯ€๋ผ๋””์•ˆ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ,

์ด๋ฅผ ํ†ตํ•ด์„œ ์šฐ์ธก์˜ 0๋ผ๋””์•ˆ ์ง€์ ๋ถ€ํ„ฐ 90ยฐ์ง€์ ๋งˆ๋‹ค์˜ ๋ผ๋””์•ˆ ๊ฐ’์€ ๊ฐ๊ฐ 0, ฯ€/2, ฯ€, 3ฯ€/2 ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.ย 

๋ผ๋””์•ˆ ๊ฐ’์„ ๋””๊ทธ๋ฆฌ(๊ธฐ์กด์˜ ๊ฐ๋„) ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ฯ€/180์„, ๋ฐ˜๋Œ€๋กœ ๋””๊ทธ๋ฆฌ ๊ฐ’์„ ๋ผ๋””์•ˆ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด 180/ฯ€๋ฅผ ๊ณฑํ•˜๋ฉด ๋œ๋‹ค.

์œ ๋‹ˆํ‹ฐ์˜ ์‚ผ๊ฐํ•จ์ˆ˜๋Š” ๋ผ๋””์•ˆ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋™์ž‘ํ•˜๋Š”๋ฐ, ์ด๋Š” ๊ณง ์‹ค์Šต์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e0b8972781a125143f9d647ab3350ec5dd822ee006fb20c

์‹ค์Šต์— ์•ž์„œ ํ•œ๊ฐ€์ง€ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ์ ์ด ์žˆ๋‹ค.

์œ ๋‹ˆํ‹ฐ์—์„œ์˜ ๊ฐ๋„๋ฅผ ๋ณด๋ฉด ํšŒ์ „์ถ• Y๋ฅผ ๊ธฐ์ค€์œผ๋กœ 0ยฐ๋Š” ์–‘์˜ Z์ถ• ๋ฐฉํ–ฅ์„ ํ–ฅํ•˜๊ณ  ์žˆ๊ณ , ๊ฐ๋„๋ฅผ ๋†’์—ฌ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํšŒ์ „์‹œํ‚ค๋ฉด ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•œ๋‹ค.


์ด๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ์›์„ ๊ทธ๋ฆฌ๋ฉด 12์‹œ ๋ฐฉํ–ฅ์— 0ยฐ์„ ์‹œ์ž‘์œผ๋กœ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,

์ด๋Š” ์•„๊นŒ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ ์–‘์˜ X๋ฐฉํ–ฅ์ด 0ยฐ์ด๊ณ  ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ์‚ผ๊ฐํ•จ์ˆ˜์˜ ์›๊ณผ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋‹ค.




04b3c434ead62da57ab6d9bb56c52b7d57ed1fd35316eea68ebbe34631f1af51e9ac7e6869411e819374cc901f11fc8af2bb82fed4c26eb19c68bc80689e048f6a213d70a7ab4e84fbd0c3af050df74d173b2e8709

์‚ผ๊ฐํ•จ์ˆ˜์˜ ์›๊ณผ ์œ ๋‹ˆํ‹ฐ ๋‘˜ ์‚ฌ์ด์˜ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•์€ ๋‹จ์ˆœํ•˜๊ฒŒ 90์—์„œ ๊ฐ๋„๋ฅผ ๋นผ ์ฃผ๋ฉด ๋œ๋‹ค.ย 

๋งŒ์•ฝ ์œ ๋‹ˆํ‹ฐ์—์„œ์˜ 180ยฐ๋ฅผ ๋ณ€ํ™˜ํ•œ๋‹ค๋ฉด 90ยฐ-180ยฐ=-90ยฐ, -90ยฐ๋Š” 270ยฐ์™€ ๊ฐ™์€ ๋ง์ด๋ฏ€๋กœ ๋ณ€ํ™˜์ด ์™„๋ฃŒ๋œ๋‹ค.

๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ๋„ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ 90ยฐ-270ยฐ=-180ยฐ=180ยฐ ์ด๋ฏ€๋กœ ์—ญ๋„ ์„ฑ๋ฆฝ.




7cf3c028e2f206a26d81f6e74382706e

์œ ๋‹ˆํ‹ฐ๋ฅผ ์—ด๊ณ  ์”ฌ์— ์บ๋ฆญํ„ฐ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž.

๋‹จ์ˆœํ•œ ์บก์А ์บ๋ฆญํ„ฐ์— ๋ฐฉํ–ฅ์„ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ๋ธŒ๋ฅผ ์•ž์ชฝ์— ์ถ”๊ฐ€ํ–ˆ๋‹ค.

์ด์–ด์„œ TrigTest๋ผ๋Š” C#์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ ๋ฐฉ๊ธˆ ๋งŒ๋“  ์บ๋ฆญํ„ฐ์—๊ฒŒ ๋„ฃ์–ด์ฃผ์ž.


public float angleInDegrees;

์šฐ์„  ๊ฐ๋„๋ฅผ ์ž…๋ ฅ๋ฐ›์„ float ํ•˜๋‚˜๋ฅผ ์„ ์–ธํ•˜์ž.

์—…๋ฐ์ดํŠธ ๋ฉ”์„œ๋“œ์—์„œ๋Š” ์ด ๊ฐ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐฉํ–ฅ์„ ๊ณ„์‚ฐํ•  ๊ฒƒ์ด๋‹ค.ย 


Vector3 direction = new Vector3(Mathf.Cos(angleInDegrees * Mathf.PI / 180), 0, Mathf.Sin(angleInDegrees * Mathf.PI / 180));

์ „์— ์–ธ๊ธ‰ํ•œ๋Œ€๋กœ ์œ ๋‹ˆํ‹ฐ์˜ ์‚ผ๊ฐํ•จ์ˆ˜๋Š” ๋ผ๋””์•ˆ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋””๊ทธ๋ฆฌ ๊ฐ’์œผ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ๋„์— ฯ€/180์„ ๊ณฑํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋งค๋ฒˆ ์ด ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š”๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กœ์šฐ๋ฏ€๋กœ ์œ ๋‹ˆํ‹ฐ์˜ Mathf ๊ตฌ์กฐ์ฒด์—์„œ ์ œ๊ณตํ•˜๋Š” Deg2Rad ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด


Vector3 direction = new Vector3(Mathf.Cos(angleInDegrees * Mathf.Deg2Rad), 0, Mathf.Sin(angleInDegrees * Mathf.Deg2Rad));

์ด์ œ ์ด direction์ด ๋ฌด์Šจ ์ผ์„ ํ•˜๊ณ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์‹œ๊ฐํ™” ํ•ด๋ณด๋„๋ก ํ•˜์ž.


Debug.DrawRay(transform.position, direction * 3, Color.green);

๊ด‘์„ ์˜ ์‹œ์ž‘์ ์€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ค‘์‹ฌ, ๊ธธ์ด๋Š” 3, ์ƒ‰๊น”์€ ์ดˆ๋ก์ƒ‰์œผ๋กœ ๊ด‘์„ ์„ ๊ทธ๋ ค์„œ ํ™•์ธํ•ด๋ณด์ž.

์œ„์—์„œ ๊ณ„์‚ฐํ•œ direction์€ ๋ฐ˜์ง€๋ฆ„์ด 1์ด๋ฏ€๋กœ, ๋‹ค์‹œ ๋งํ•˜๋ฉด x/r = cos(ฮธ) ์—์„œ r์ด 1๋กœ์จ ์ƒ๋žต๋œ ๊ผด.

๊ฑฐ๊ธฐ์— ์›ํ•˜๋Š” ๊ธธ์ด(์—ฌ๊ธฐ์„œ๋Š” 3)๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉด ๊ทธ ๊ธธ์ด๋กœ ๊ด‘์„ ์ด ๊ทธ๋ ค์ง€๊ฒŒ ๋œ๋‹ค.

๋ฌผ๋ก  ์—ฌ๊ธฐ์„œ 3 ๋Œ€์‹  ์ƒˆ๋กœ์šด float ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ๋„ ์ข‹์€ ์ƒ๊ฐ.


์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ €์žฅํ•˜๊ณ  ์”ฌ์„ ์‹คํ–‰์‹œ์ผœ๋ณด๋ฉด ์บ๋ฆญํ„ฐ์—์„œ ๊ด‘์„ ์ด ๋‚˜์˜ค๊ณ , angleInDegree ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด 3์‹œ๋ฐฉํ–ฅ(์˜ค๋ฅธ์ชฝ)๋ถ€ํ„ฐ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ๊ด‘์„ ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


Vector3 direction = new Vector3(Mathf.Cos((90 - angleInDegrees) * Mathf.Deg2Rad), 0, Mathf.Sin((90 - angleInDegrees) * Mathf.Deg2Rad));

๊ทธ๋Ÿฌ๋‚˜ ์ „์— ์–ธ๊ธ‰ํ•œ๋Œ€๋กœ ์œ ๋‹ˆํ‹ฐ๋Š” 12์‹œ ๋ฐฉํ–ฅ๋ถ€ํ„ฐ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋‹ค.

์ด๋Š” 90 - ฮธ ๋ณ€ํ™˜์„ ํ†ตํ•ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ฝ”๋“œ์˜ angleInDegrees ๋ถ€๋ถ„์„ ๊ณ ์ณ๋ณด์ž.

์‹คํ–‰์‹œ์ผœ๋ณด๋ฉด 12์‹œ ๋ฐฉํ–ฅ๋ถ€ํ„ฐ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ๋” ๋ฐ”๋€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.



79f3c028e2f206a26d81f6e34685746e

์˜ˆ์ „์˜ ์ด ๊ณต์‹์„ ๊ธฐ์–ตํ•œ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์—์„œ angleInDegrees ๋ถ€๋ถ„์ด ๋”ฑ ์ด ํ˜•ํƒœ์ด๋ฏ€๋กœ


Vector3 direction = new Vector3(Mathf.Sin(angleInDegrees * Mathf.Deg2Rad), 0, Mathf.Cos(angleInDegrees * Mathf.Deg2Rad));

์ด๋ ‡๊ฒŒ x์— sin์„, y์— cos์„ ์‚ฌ์šฉํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์œผ๋‹ˆ ๋ฐฉํ–ฅ์—์„œ ๊ฐ๋„๋ฅผ ๊ตฌํ•˜๋Š” ๋‘๋ฒˆ์งธ ๋ฌธ์ œ๋กœ ๋„˜์–ด๊ฐ€๋ณด์ž.

์—ฌ๊ธฐ์„œ๋Š” ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ›๊ณ  ๊ทธ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ๋„๋ฅผ ๊ตฌํ•ด ์บ๋ฆญํ„ฐ๋ฅผ ํšŒ์ „์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.


Vector3 inputDir = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;

transform.Translate(inputDir * Time.deltaTime * 5, Space.World);

๋ฐฉํ–ฅํ‚ค ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๊ทธ ๋ฐฉํ–ฅ๋Œ€๋กœ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ด๋™์‹œํ‚ค๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ์˜ 5๋Š” ์ด๋™์†๋„๊ฐ€ ๋˜๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ ๋˜ํ•œ ์ƒˆ๋กœ์šด float ๋ฅผ ์„ ์–ธํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹คํ–‰ ํ›„ ์กฐ์ž‘ํ•ด๋ณด๋ฉด ์บ๋ฆญํ„ฐ ์›€์ง์ž„์— ๋”ฐ๋ผ ๊ด‘์„ ์˜ ๋ชจ์–‘์ด ์ด์ƒํ•˜๊ฒŒ ๋น„ํ‹€๋ฆดํ…๋ฐ, ๊ด‘์„ ์˜ ๋์ ์ธ direction ๋ฒกํ„ฐ๋Š” ์›์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ ์ง€์ ์ด๊ธฐ ๋•Œ๋ฌธ.

๊ฑฐ์Šฌ๋ฆฐ๋‹ค๋ฉด ์œ„์˜ Debug.DrawRay ๊ตฌ๋ฌธ์„ ์ฃผ์„์ฒ˜๋ฆฌ ํ•˜๊ฑฐ๋‚˜ direction * 3์— transform.position์„ ๋”ํ•˜๋ฉด ๋œ๋‹ค.

์•„๋ฌดํŠผ ์บ๋ฆญํ„ฐ๋Š” ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋Š”๋Œ€๋กœ ์›€์ง์ด์ง€๋งŒ, ํšŒ์ „ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.


float inputAngle = Mathf.Atan2(inputDir.z, inputDir.x) * Mathf.Rad2Deg;

๋ฐฉํ–ฅ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ๋„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด Atan2 ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

Atan2 ํ•จ์ˆ˜์— ๋งˆ์šฐ์Šค๋ฅผ ์ž ์‹œ ์˜ฌ๋ ค๋ณด๋ฉด "Returns the angle in radians" ๋ผ๊ณ  ๋‚˜์˜ค๋Š”๋ฐ, ์ด๋Š” Atan2์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋ผ๋””์•ˆ์ž„์„ ์˜๋ฏธํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ์‹ค์ œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ผ์ • ๊ฐ๋„(๋””๊ทธ๋ฆฌ)๋งŒํผ ํšŒ์ „์‹œ์ผœ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Rad2Deg๋ฅผ ๊ณฑํ•ด์„œ ๋ผ๋””์•ˆ๊ฐ’์„ ๊ฐ๋„๋กœ ๋ฐ”๊ฟ”์ฃผ์ž.


transform.eulerAngles = Vector3.up * inputAngle;

๊ทธ๋ฆฌ๊ณ  ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ์˜ค๋ธŒ์ ํŠธ์˜ ์‹ค์ œ ๊ฐ๋„๋กœ ํ• ๋‹นํ•ด์„œ ํšŒ์ „์‹œํ‚จ๋‹ค.

์˜ค๋ธŒ์ ํŠธ๊ฐ€ Y์ถ•์„ ์ถ•์œผ๋กœ ํšŒ์ „ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— Vector3.up, ์ฆ‰ (0, 1, 0)์„ ๊ณฑํ•˜๋ฉด Y์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ํšŒ์ „ํ•˜๊ฒŒ ๋œ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ €์žฅํ•˜๊ณ  ์”ฌ์„ ์‹คํ–‰์‹œ์ผœ ๋ณด๋ฉด



05b2de23fcd139ab2eed86e7459c746fed5344667f789197c90e3351ea8acf208f853f27959afb5e889d9cf7fa

์บ๋ฆญํ„ฐ๊ฐ€ ํšŒ์ „ํ•˜๊ธฐ๋Š” ํ•˜๋Š”๋ฐ ์ข€ ์ด์ƒํ•˜๊ฒŒ ํšŒ์ „ํ•œ๋‹ค.

์ด๊ฒƒ์€ ์•„๊นŒ ๊ด‘์„ ์„ ๊ทธ๋ฆด ๋•Œ ์„ค๋ช…ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ผ๊ฐํ•จ์ˆ˜์™€ ์œ ๋‹ˆํ‹ฐ์˜ ๊ฐ๋„ ํšŒ์ „ ๋ฐฉํ–ฅ์ด ๋‹ฌ๋ผ์„œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค.


float inputAngle = 90 - (Mathf.Atan2(inputDir.z, inputDir.x) * Mathf.Rad2Deg);

๊ณ„์‚ฐํ•˜๋Š” ๊ฐ๋„ ๊ฐ’์„ 90์—์„œ ๋นผ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ ํ…Œ์ŠคํŠธํ•ด๋ณด์ž.

์ด๋ฒˆ์—” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ์บ๋ฆญํ„ฐ๊ฐ€ ํšŒ์ „ํ•˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ถ”๊ฐ€๋กœ, ์œ„์˜ direction์—์„œ 90์—์„œ sin์„ ๋นผ๋Š” ๋Œ€์‹  cos์„ ์‚ฌ์šฉํ•˜๋˜ ๋ฐฉ๋ฒ•์„ ์—ฌ๊ธฐ์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


float inputAngle = Mathf.Atan2(inputDir.x, inputDir.z) * Mathf.Rad2Deg;

90์—์„œ ๊ฐ๋„๋ฅผ ๋นผ๋Š” ๋Œ€์‹  Atan2์— ๋„˜๊ธฐ๋Š” ์ธ์ž์˜ ์ˆœ์„œ๋งŒ ๋ฐ”๊ฟ”์ค˜๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.


๋งˆ์ง€๋ง‰์œผ๋กœ ํ‚ค๋ณด๋“œ๋ฅผ ๋–ผ๋Š” ์ˆœ๊ฐ„ ์บ๋ฆญํ„ฐ์˜ ๊ฐ๋„๊ฐ€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜๋Š” ํ˜„์ƒ์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์„์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค.

์ด๋Š” ๋ฐฉํ–ฅํ‚ค๋ฅผ ๋ˆ„๋ฅด์ง€ ์•Š์„ ๋•Œ๋„ ์—…๋ฐ์ดํŠธ์—์„œ ์ง€์†์ ์œผ๋กœ Atan2๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ 0์„ ํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ.


float inputMagnitude = inputDir.sqrMagnitude;

//...

if (inputMagnitude != 0)

{

ย  ย  float inputAngle = Mathf.Atan2(inputDir.x, inputDir.z) * Mathf.Rad2Deg;

ย  ย  transform.eulerAngles = Vector3.up * inputAngle;

}

inputDir ์„ ์–ธ ๋ฐ‘์— ์ƒˆ๋กœ์šด float ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์ž. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ 0์ด ์•„๋‹๋•Œ๋งŒ, ์ฆ‰ ์–ด๋А ๋ฐฉํ–ฅํ‚ค๋ผ๋„ ๋ˆ„๋ฅด๊ณ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐ๋„๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ๋” ํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.


์•„๋ž˜๋Š” ์ฝ”๋“œ ์ „๋ฌธ.


7ef3c028e2f206a26d81f6e744827768

public class TrigTest : MonoBehaviour

{

ย  ย  public float angleInDegrees;

ย  ย  public float rayLength;

ย  ย  public float moveSpeed;


ย  ย  void Update()

ย  ย  {

ย  ย  ย  ย  //Calculate direction

ย  ย  ย  ย  Vector3 direction = new(Mathf.Sin(angleInDegrees * Mathf.Deg2Rad), 0, Mathf.Cos(angleInDegrees * Mathf.Deg2Rad));

ย  ย  ย  ย  Debug.DrawLine(transform.position, transform.position + (direction * rayLength), Color.green);


ย  ย  ย  ย  //Calculate angle and Move

ย  ย  ย  ย  Vector3 inputDir = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical")).normalized;

ย  ย  ย  ย  float inputMagnitude = inputDir.sqrMagnitude;

ย  ย  ย  ย  transform.Translate(moveSpeed * Time.deltaTime * inputDir, Space.World);


ย  ย  ย  ย  if (inputMagnitude != 0)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  float inputAngle = Mathf.Atan2(inputDir.x, inputDir.z) * Mathf.Rad2Deg;

ย  ย  ย  ย  ย  ย  transform.eulerAngles = Vector3.up * inputAngle;

ย  ย  ย  ย  }

ย  ย  }

}