일반적 정의
- 두 벡터의 각 성분끼리의 곱의 합
- 두 벡터의 크기를 곱하고 그 결과에 두 벡터 사이의 각에 대한 코사인을 곱한 것
- 두 개의 벡터가 있을 때 한 벡터의 방향으로 나머지 하나를 투영시킨 것과 다른 한 벡터의 크기의 곱
- 내적 연산은 벡터 두 개를 하나의 스칼라 값으로 변환시키는 연산
두 벡터 A, B가 존재할 때 벡터 A를 벡터 B에 투영한 길이
벡터 A를 벡터 B에 투영한 길이에 벡터 B의 단위벡터를 곱해 주면 벡터 A를 벡터 B에 투영한 벡터를 얻을 수 있습니다.
Unity Documentation - 내적
내적 연산은 두 벡터를 받아 스칼라를 반환합니다. 이 스칼라는 두 벡터의 크기를 곱하고 그 결과에 두 벡터 사이의 각에 대한 코사인을 곱한 것과 같습니다. 두 벡터 모두 노멀라이즈 벡터일 경우 코사인은 근본적으로 첫 번째 벡터가 두 번째 벡터의 방향으로 얼마나 기울었는지를 나타냅니다(또는 그 반대도 성립합니다. 즉 파라미터의 순서는 상관이 없습니다).
계산기를 사용하면 각도를 찾아 그 각도에 해당하는 코사인을 찾기가 매우 쉽습니다. 그러나 아래 다이어그램에 나타난 것처럼 몇몇 주요 코사인 값에 대해 직관적으로 이해하고 있으면 유용합니다.-
내적은 매우 간단한 연산으로 일부 상황에서는 Mathf.Cos 함수 또는 벡터 크기 연산을 대신하여 사용할 수 있습니다(정확히 동일한 일을 하지는 않지만 때로는 얻을 수 있는 효과가 동일합니다). 그러나 내적 함수 연산은 CPU 시간이 훨씬 적게 걸리며 따라서 유용한 최적화 방법이 될 수 있습니다.
참고
https://docs.unity3d.com/kr/530/Manual/UnderstandingVectorArithmetic.html
벡터 연산 이해 - Unity 매뉴얼
벡터 연산은 3D 그래픽스, 물리 연산 및 애니메이션에 있어 핵심적이며 Unity를 최대한 활용하기 위해서는 벡터 연산을 깊이 이해하는 것이 유용합니다. 여기서는 주 연산 및 유용하게 사용할 수
docs.unity3d.com
'dev' 카테고리의 다른 글
[Unity] 2D Circle Mask Shader (0) | 2022.09.26 |
---|---|
[Unity] Batch Breaking Cause (1) | 2022.09.05 |
[Unity] IL2CPP vs Mono (0) | 2022.09.01 |
[Unity] Dictionary의 Key에 Enum을 사용했을 때의 Boxing 이슈 (0) | 2022.08.31 |
[Unity] UniTask (0) | 2022.08.29 |
댓글