Programming Math

용어 정리

Vec1 = (a1, a2, a3)
Vec2 = (b1, b2, b3)
|Vec1| 은 Vec1의 크기를 의미

영어

한글

설명

Vector

벡터

크기와 방향을 가진 것

Scalar

스칼라

크기만 가진 것

Normal Vector

법선 벡터

평면에 수직인 벡터

Unit Vector

단위 벡터

크기가 1인 벡터

Inverse Vector

역벡터

벡터에 대해 크기는 같고 방향은 반대인 벡터

Dot

내적

스칼라곱, 주로 점과 직선 사이의 거리를 구하는데 쓰임

Cross

외적

텐서곱, 주로 법선 벡터를 구하는데 쓰임

Normalize

정규화

0과 1이하로 데이터의 범위를 일치시키는 것

Dot : Vec1·Vec2 = |Vec1|*|Vec2|*cosθ
Cross : |Vec1*Vec2| = |Vec1|*|Vec2|*sinθ
Cross : `Vec1*Vec2 = (a2b3-a3b2), a3b1-a1b3, a1b2-a2b1)`
Normalize : 벡터의 정규화는 벡터의 각 요소를 벡터의 길이로 나눔

어파인 공간

어파인 공간이란, 점을 마치 벡터처럼 취급함으로써 벡터 공간을 확장한 것이다.

이러한 어파인 공간일 시 점 Q에서 P를 빼면 PQ-> 라는 벡터가 된다.

어파인 공간에서는 3가지 연산이 가능하다.

  • 벡터와 벡터의 덧셈, 뺄셈

  • 스칼라와 벡터의 곱셈, 나눗셈

  • 점과 벡터의 덧셈, 뺄셈

vec(3, 4, 5)란?

고민하던 2가지가 모두 정답이라는 것을 이해하는데 쉽지 않았음.

3차원 좌표 상의 해당 위치를 뜻하는 Position으로서의 의미도 맞고, 방향을 가진 벡터의 시작점의 위치도 맞음!

예를들어 한 커브의 그래프가 있을 때 그 해당하는 커브의 3, 4, 5에 위치에서 그려지고 있는 커브는 방향이 있음 그 때의 vec(3, 4, 5)는 벡터의 시작점이자, 3차원 좌표상의 점도 맞음

방향 벡터?, 점?, 그냥 벡터?

벡터는 크기와 방향을 가진 것이다. 즉 점과 점을 빼면 벡터가 나온다. 그 이유는 원점을 기준으로 벡터라고 정의했을 때 벡터와 벡터를 빼면 해당 그 사이의 벡터가 나옴

  • 점은 그냥 3차원 좌표 상의 점이다!

  • 방향 벡터는 0, 0, 0을 기준으로 정의된 벡터이다.

  • 그냥 벡터는 해당 Pos 위치에서 위의 설명한 것과 같은 벡터이다.

직선의 벡터 표현 (1점을 지나는 벡터)

Pos = (x1, x2, x3)
Dir-> = (u1, u2, u3)
Pos + kDir-> = Pos를 지나고 Dir과 평행한 벡터 Vec->
a-> + pB->
는 a를 지나고 B와 평행한 벡터임

Reference

방향이 존재하지 않고 스칼라 값만 알고있을 때, 삼각함수를 이용하여 값을 구하기!!

  • UI 엔진 단에서 개발이 아니라 기능단에서 개발 진행중에 발생한 이슈

삼각 함수

Reference

공부할 때 참고한 전체 Reference