본문 바로가기

DirectX/[서적] DirectX12를 이용한 3D 게임 프로그래밍 입문4

파트1-Chapter-01. 벡터의 외적 외적 벡터곱셈이라고 하고 가위곱 또는 외적이라고 함 결과값으로 벡터가 나옴 3차원 벡터에 대해서만 정의됨 두 3차원 벡터 u, v와의 외적을 취하면 u와 v 모두에게 직교인 w 벡터가 나온다. u = (ux, uy, uz), v = (vx, vy, vz)가 있을 때 둘의 외적은 다음과 같다 w = u x v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx) u = (2, 1, 3) v = (2, 0, 0) w = u x v를 계산해보면 = (1*0 - 3*0, 3*2 - 2*0, 2*0 - 1*2) = (0, 6, -2) 외적으로 얻은 벡터가 어떤 방향인지는 왼손 엄지 법칙으로 알 수 있음 w에 u가 직교인지, v가 직교인지 확인하려면 w * u = 0, w * v = 0이면 직.. 2022. 10. 21.
파트1-Chapter-01. 벡터의 내적 내적 내적은 대응되는 성분들의 곱들의 합, 점곱이라고도 부름 u*v = (ux*vx) + (uy*vy) + (uz*vz) 크기와 방향을 가지고 있으나 일반적인 곱셈과는 다름 동일 방향 길이의 곱이 벡터 내적이다. 벡터는 방향이라는 값을 가지고 있기 때문에 막 곱할 수 없음 그러니 다른 벡터에서 또 다른벡터에 수선을 내려서 그 성분(cos)만큼 곱하는 것 따라서 아래와 같이 쓸 수 있다. u*v = |u|*|v|*cos(θ) u, v가 단위벡터일 경우 u*v는 두 벡터 사이 각도의 코사인 중요한 기하학적 속성 3가지 1. u*v = 0이면 u와 v는 직교이다. 2. u*v > 0이면 두 벡터 사이 각도는 90도보다 작다 3. u*v < 0이면 두 벡터 사이 각도는 90도보다 크다 예제 1. u와 v사이 각.. 2022. 10. 18.
파트1-Chapter-01. 길이와 단위벡터 벡터의 길이 기하학적으로 한 벡터의 크기는 지향 선분의 길이 벡터의 크기는 이중 수직선으로 나타낸다. (||u||) u의 크기 x,y,z가 있을 때 그 크기를 대수적으로 구해보면? 3차원 벡터의 길이는 피타고라스 정리를 2번 적용해서 구할 수 있다. xz좌표만 놓고 삼각형 그려서 1번, 그 위치에서 y까지 삼각형 그려서 1번 벡터의 그림자가 생긴다고 가정하고 그림자를 먼저 구하고 그림자를 밑변으로 해서 다시 구함 단위 벡터 벡터를 방향만 사용하는 경우 길이는 그다지 중요하지 않게 됨 그런 방향 전용벡터는 길이를 1로 맞춰두면 편리함 크기가 1인 벡터를 단위벡터라고 하고 임의의 벡터를 단위벡터로 만드는걸 정규화라고 함 벡터의 각 요소를 길이로 나누게 되면 그게 단위벡터이다. Normalize라고도 하며 N.. 2022. 10. 18.
파트1-Chapter-01. 벡터 대수 이 장의 목표 벡터의 기하학적 표현 방법과 수치적 표현 방법 벡터에 대해 정의되는 연산들과 기하학적 응용 방법 DirectXMath 라이브러리 함수와 클래스 익숙해지기 벡터 벡터란? 크기와 방향을 모두 가진 수량을 가리킨다. 크기와 방향을 모두 가진 수량을 벡터값 수량 이라고 한다. 벡터값 수량의 예로는 힘, 변위 속도가 있다. 힘 : 특정한 방향과 세기로 가해지는 것, (세기=크기) 변위 : 이동 방향, 거리 속도 : 빠르기와 방향 벡터는 힘이나 변위, 속도를 나타내는데 쓰인다. 벡터가 가진 선분의 길이는 크기이고, 화살표는 방향을 나타냄 벡터의 위치는 중요하지 않다. 위치를 바꿔도 크기나 방향이 바뀌지 않기 때문 두 벡터가 상등(equal)인 경우 두 벡터의 길이가 같을 때 같은 방향을 가리킬 때 좌.. 2022. 9. 8.