목록Computer Science/IT MATH (5)
on my way

원과 삼각함수 반지름이 1인 원이고, 원을 따라 아무 곳에 한 점을 찍고 그 점을 P라고 한다. 중심에서 P까지 이어지는 선의 길이는 반지름과 같다. 그리고 점P에서 수직으로 선을 내려 바닥과 직각이 되도록 만들면, 빗변의 길이가 1인 직각삼각형 한 개가 생긴다. 이 직각 삼각형에 대해 삼각함수 sin, cos, tan을 적용하면 다음과 같다. 따라서 점P의 좌표 (x, y)는 다음과 같이 표현할 수 있다. x = cos(a) * r y = sin(a) * r 여기서 r은 빗변의 길이인 반지름이다. 이 과정을 통해, 삼각함수를 통해서 원의 둘레 위의 한 점의 위치를 나타낼 수 있다는 것이다. 이를 응용하여 원 모양으로 움직이는 캐릭터를 구현할 수 있을 것이다. 파이(ㅠ) 3.141592... 자동차 바퀴..

삼각함수 직각삼각형의 각을 직각삼각형의 변들의 길이의 비로 나타내는 함수이다. 탄젠트(tan) 이 그림을 보면 두 변의 길이가 같은 이등변 삼각형이 그려진다는 것을 알 수 있다. 즉, 나무의 그림자의 길이는 곧 나무의 높이와 같고, 이 삼각형은 직각 삼각형이다. tan(45도)는 1이라는 결과가 나온다. 그리고 여기서 비율이 1이라는 것은, 비교 대상이 같다는 뜻이다. 즉 각도가 45도일 때 그림자의 길이와 나무의 높이를 비교하니 둘이 같다는 것을 의미한다. tan은 삼각함수 중 하나인 탄젠트라는 함수이고, 직각삼각형에서 어떤 각도를 넣었을 때 밑변과, 밑변과 수직인 변의 비율을 구해준다. 사인(sin) 25도 각도 경사에, 100m짜리 슬로프인 눈썰매장을 만든다고 가정하면 다음과 같다. 이 눈썰매장 기..

벡터의 외적 > 벡터의 외적은 두 벡터 a,b 사이의 각을 θ라 하면 a·b sin θ라는 크기, 즉 a,b를 두 변으로 하는 평행사변형의 넓이와 같은 크기를 가지고 a,b를 포함하는 평면에 수직이고 a에서 b로 시계방향과 같은 진행방향을 가지는 벡터를 a,b의 외적 또는 벡터곱이라 하고 이것을 내적과 구별하여 [a,b] 또는 a×b로 표시한다 [네이버 지식백과] 벡터의 내적과 외적 내적의 결과값은 벡터가 아닌 스칼라 값이 나온다. 외적의 결과값은 또 다른 벡터가 하나 생기는데, 이 벡터는 두 벡터에 모두 수직인 벡터가 된다. 주의할 점은, 벡터의 외적은 3차원 벡터에서만 적용이 된다는 것이다. 내적을 설명할 때, 법선 벡터라는 것을 언급했는데, 이 법선 벡터를 구할 때 벡터의 외적을 사용하게 된다. 법..

내적 (스칼라 곱 or 점곱, dot product, inner product) 물체가 빛을 받으면 밝은 부분과, 어두운 부분이 생긴다. 이런 명암을 컴퓨터 그래픽으로 모델링할 때 벡터의 내적 연산이 사용된다. 왼쪽은 렌더링 된 결과물, 오른쪽은 카메라와 물체의 관계를 옆에서 본 모습이다. 파란색 벡터 A,B,C,D는 각 벡터의 법선 벡터이다. 법선벡터 (노말벡터) 어느 표면에 붙어있던 해당 표면에 수직인 벡터이다. 검은색 선은 각 폴리곤으로부터 카메라쪽으로 향하는 벡터를 나타낸 것이다. 그림으로 봤을 때, 두 벡터 사이의 각도가 90도 이하이면 해당 폴리곤은 해당 카메라를 바라보고 있다고 판단할 수 있다. (A, B) 반대로 90도보다 크면 카메라를 등지고 있다고 판단할 수 있다. (C, D) 카메라를..

벡터의 뺄셈 뺄셈을 할 때는 수식에서 그대로 -로 표현하여 덧셈하면 된다. 벡터에 -를 붙인다는 것은, 크기는 그대로 두변서 방향만 반대로 바꾸는 것이다. 즉 B-A는 B+(-A)이다. 벡터의 덧셈이란 시작점의 꼬리에서 끝점의 머리까지 잇는 것이다. 즉, 뺄셈도 방향만 바꾸어 그대로 적용하면 위와같은 C 벡터를 얻을 수 있다. 또한 오른쪽 그림처럼 두 빨간 벡터는 크기와 방향이 같기 때문에 완전히 동일한 벡터이다. 따라서 벡터의 뺄셈은 위처럼 특정 위치에서 다른 위치를 향하는 벡터를 구할 때 사용하면 쉽게 해당 벡터를 구할 수 있다. 게임 프로그래밍에서는 캐릭터를 특정 장소로 움직이도록 만들 때 사용한다. 예를 들어 플레이어를 추적하는 몬스터를 구현할 때 몬스터가 플레이어의 현재 위치를 향해 매 프레임 ..