이번엔 구를 그립시다!

 

 

원이 빙글빙글 도는 것은

 

보고만 있어도 즐겁죠!

 

 

 

[Math] 삼각함수로 원 그리기!

안녕하세요! 밤말팅입니다~ 최근 삼각함수를 사용해서 원을 그릴 일이 조금 있었는데요! 아무래도 함수만 가지고는 잘 와닿지 않는 부분이라서 헷갈려하시는 분들이 조금! 있으신 것 같아서ㅎ

game-part-factory.tistory.com

 

저번 시간에 저희는 삼각함수로

원을 그리는 데에 성공했습니다!

 

CosSin만으로 이뤄낸 성과죠!

 

오늘은 여기서 한 단계

 

더 나아갑니다!

 

 

이번엔

로 가봅시다!

 

3차원으로 이동해봅시다

위에서 보여드렸던 그림을

 

살짝 뉘여놓은 그림입니다!

 

그리고 을 하나 더 늘렸어요!

 

 

드디어 저희는 3차원으로 이동합니다!

 

원을 그릴 때처럼

 

"각도"를 이용해서 그릴 건데요!

 

각도 방향
90도
0도
-90도 아래

 

이런 느낌으로 잡아봅시다!

 

 

그렇지만 사실

3D로 넘어왔다고 해서

을 그리는 데에

다른 걸 사용하진 않습니다!

 

 

여전히 SinCos으로

그리기를 할 거에요!

 

 

 

위쪽으로 가는 Sin

이제 저희가 원래 사용하던 Sin

 

그대로 이용해서

 

만 위 아래로 맞췄어요!

별 다른 점은 없습니다!

 

그렇다면 이걸 적용하면

어떤 모양이 될까요?

 

 

 

수평에 적용된 애들은 지웠습니다!

뭔가 이상한 느낌이죠?

 

맘대로 늘어나고 줄어드는 것

같아보이기도 하고..

 

대각선으로만 도네요!

 

 

에서도 한 번 보죠!

 

 

 

 

에서 보면 이런 느낌입니다!

 

검은 선이 지금 Sin이에요!

 

오르내리고 있어서

수직선에 가리거나 보이거나 하죠?

 

그런데.. 위에서 볼 때에는

 

아까랑 변화가 없네요!

 

 

 

 

정확히 지금은 이런 모양으로

움직이는 중입니다!

 

원통과도 같다!

 

위 아래로 같이 움직이지만

 

문제는 위로 갈수록

구는 줄어들어야 하는데

 

줄어드는 부분이 없으니

 

원통처럼 움직이는 것이죠!

 

 

 

구는 위 아래가 더 작다!

그래서 저희는

수직 각도가 더 수록

 

원의 크기 자체를

줄여야 합니다!

 

 

다행히 이걸 위한

함수가 아직 남아있죠!

 

 

바로 수직 Cos입니다!

 

지금까지는 위아래로 Sin

적용을 했었죠?

 

 

 

적용한 현재 상태는

이렇습니다!

 

표시할 때 z를 높이라고 할게요!

 

 

x = Cos(수평각도)
y = Sin(수평각도)
z = Sin(수직각도)

 

라는 상태죠!

 

음.. 축 세 개를 모두 사용했는데

Cos(수직각도)는 어디에 넣어야할까요?

 

저희가 원의 크기를 줄이려고

생각했기 때문에

 

크기도 결국 Cos으로!

 

작아지는 양을 Cos으로

계산해볼 수 있습니다!

 

그래서 수평에서 계산했던 원

Cos의 크기대로 줄이기만

끝이에요!

 

대신 이제 코사인은

마이너스로도 간다!

음수로도 갈 수 있어서

절대값(Abs)으로 적용해줄게요!

 

여기선 크기음수일 수는

없으니까요!

 

 

x = Cos(수평각도) * Abs(Cos(수직각도))
y = Sin(수평각도) * Abs(Cos(수직각도))
z = Sin(수직각도)

 

위에서 그냥 Abs(Cos(수직각도))만 곱한 거죠!

 

그러면

 

자유분방

이런 형태가 됩니다!

 

음.. 아직 잘 모르겠네요!

 

 

지금은 수평각도수직각도

같은 속도로 움직이고 있어서

 

모양이 맘에 안드는데요!

 

직접 따로 돌리면

 

이런 모양입니다!


https://youtu.be/P-sPG7IEE7A

어떤가요?

 

직접 조종을 해보니 조금 더

그럴싸한 것 같네요!

 

결국 SinCos을 응용해서

원하는 방향을 가리키는

벡터 하나를 얻을 수 있었군요!

 

단지 3차원이라서

어디에다가 적용해야되는지

 

위치만 바뀌었을 뿐인 것 같네요!

 

자 그래서 간단하게

를 마쳐보았습니다!

 

혹시나 여기에서 더 궁금하신 점!

있으시면 남겨주시구요!

 

저는 그럼 또 다음 언젠가

다시뵙겠습니다~

 

읽어주셔서 감사합니다!!

안녕하세요! 밤말팅입니다~

 

최근 삼각함수를 사용해서 원을 그릴 일이

조금 있었는데요!

 

아무래도 함수만 가지고는

잘 와닿지 않는 부분이라서

 

헷갈려하시는 분들이 조금!

있으신 것 같아서ㅎㅎ

 

그림이랑 같이 들어갑니다!

 

귀여운 원!

동그라미입니다!

 

0도부터 360도까지

집어주면 돌아가는 녀석이죠!

 

이 녀석을 그리는 것이

목표입니다!

 

그런데 왜 삼각함수?

라고 생각하실 수 있으니까!

 

선을 좀 그어드릴게요!

 

 

삼각형 두 개가 된다!

 

선을 그어보았습니다!

 

자세히 보시면 삼각형이

두 개가 생긴 걸 볼 수 있죠!

 

둘 다 직각삼각형인 걸

확인하실 수 있습니다~

 

두 개의 각이 같은 삼각형

그러면 원이라고 하는 녀석에 있는

 

저 삼각형들은 아무튼 각도를 정해주면

 

크기가 어떻게 되었든 상관없이!

 

"비율"은 항상 똑같습니다!

 

위에 두 삼각형도 그냥

파란 삼각형을 복사해서

크기만 늘린 거예요! ㅎㅎ

 

높이 / 빗변

그래서 그 각도에 따라

비율은 항상 정해져 있으니!

 

그중에서도

높이 / 빗변

사인(Sin)

이라고 하고

 

그림으로는 이런 느낌!

각도에 따라 쭉 따라서

그리면 이렇게 됩니다!

 

실제로 반복된다는 느낌이죠?

 

이것은 0 ~ 2π 사이를

반복합니다!

 

 (2π * 반지름) 이 둘레니까!

반지름이 1인 원의

둘레를 나타내고

 

원의 둘레를 모두 돌았다면

다시 처음부터인 것이죠~

 

이런 값을 라디안이라고 합니다!

 

앞으로 자주 사용할 거예요!

 

 

 

 

..반복되는데

 

어쩌라는 거죠?

 

 

그래서 이걸

눈으로 보여드리기 위해

 

돌려보겠습니다!

 

 

 

이렇게!

이러면 좀 감이 오시나요?

 

시간에 따라 움직이다 보면

원의 "높이"와 똑같이

움직이고 있다는 것을

확인하실 수 있죠!

요겁니다 ㅎㅎ

 

좋아요! 내친김에 하나 더 하죠!

 

비슷해보이나요?

두 번째 그래프!

 

어.. 근데 아까랑 비슷해 보이네요?

 

요거는 조금 다른

코사인(Cos)

입니다!

 

물론 주기모양은 같지만!

 

시작을 1로 합니다!

 

너비 / 빗변

얘는 높이가 아니라

너비를 말하는 거거든요!

 

그래서 1로 시작하면 뭐가 되느냐?

 

살짝 돌려서

x축에다가 연결해봅니다!

 

느낌 오시나요?

 

돌립니다!

 

 

사인과 코사인의 콜라보

Sin은 0부터

Cos은 1부터

 

라고 하는 중요한 차이점으로

각각 원의 yx

 

표현할 수 있게 되는 거예요!

 

x = Cos( 값 )
y = Sin( 값 )

이런 느낌이 되는 것이죠!

 

값은 아까 말해드린 대로

0 ~ 2π

이구요!

 

라디안 각도
0 0
0.25π 45
0.5π 90
0.75π 135
1π 180
1.25π 225
1.5π 270
1.75π 315
2π 360

 

따져보면 이런 느낌입니다!

각도를 직접 쓰시고 싶으시면

각도 / 180 * π

(각도 * 0.0174533)

 

이렇게 쓰셔도 되구요!

 

반대로 라디안을 각도로

바꾸고 싶으시면

라디안 * 180 / π

(라디안 * 57.2958)

 

반대로 이렇게도 되겠죠!

 

 

그래서 가장 기본적인

삼각함수을 그리는

방법에 대해서 확인했습니다!

 

CosSin의 특징만 알면

되는 문제였네요!

 

좋습니다! 저희는 그럼 다음 장에선

 

이걸 가지고 3차원으로 가보도록 할게요!

 

 

 

다음 시간은

삼각함수로 구 그리기

입니다!

 

+ Recent posts