본문 바로가기

DirectX( 다이렉트 X)/수학 공식

3D 프로그래밍을 위한 변환 선형 변환 행렬으로 표현 비례- 비레변환은 물체의 크기를 바꾸는 효과를 나타낸다. 예시- 최솟점 (-4,-4,0) 과 최댓점 (4,4,0) 으로 정의된 사각형을 z축은 그대로 두고 x축으로 0.5단위, y축으로 2단위 비례해 보자. 회전-벡터 v를 축n에 대해 회전하는 변환 회전각은 n의 진행 방향을 기준으로 반시계방향으로 측정된다. 회전행렬 예시- 최솟점(-1,0,-1)과 최댓점 (1,0,1)로 정의한 사각형을 y축에 대해 시계방향으로 –30도(반시계 방향으로 30도) 회전 아핀변환동차변환-선형변환에 이동변환을 결합 한 것. 벡터는 이동에 불변동차좌표- 점과 벡터를 동일한 방식으로 다룰수 있다. 동차좌표는 3차원 벡터에 w성분을 추가한 네값쌍의 형태 1.벡터를 나타내는 동차좌표는 (x,y,z,0)2.점.. 더보기
3D 프로그래밍을 위한 행렬 행렬 곱셈 곱 BA는 정의되지 않음 B의 열 수와 A 행 수가 같지 않기 떄문이다. 즉 AB≠BA 교환법칙이 성립되지 않음 열수 = 행수 행*열 위 식은 선형결합(일차 결합)이라 한다. 즉, 어떤 1 x N 행벡터 u와 어떤 N x M 행렬 A에 대해, 곱 uA는 A의 행 벡터들과 u의 스칼라 계수들의 선형결합이다. A(B+C) = AB +AC (A+B)C = AC + BC / (AB)C = A(BC) 결합 법칙 전치행렬 – 행렬의 행들과 열들을 맞바꾼 것 단위행렬 – 주대각 성분들만 1이고 나머지는 모두 0인 정방행렬*정방행렬: 열 수와 행 수가 같은 정사각형의 행렬*주대각: 정방행렬에서 좌상에서 우하로의 주된 대각선이 있는 성분들 단위행렬은 곱셈의 항등원 역할을 한다. 즉, A가 M x N 행렬이고 .. 더보기
3D 프로그래밍을 위한 벡터 스칼라 곱셈 / 벡터의 덧셈과 스칼라의 곱셈으로 정의된 벡터의 뺄셈 길이가 1인 벡터를 단위벡터(unit vector) 임의의 백터를 단위 벡터로 만드는 것을 정규화(normalization) 내적(inner product)은 스칼라값을 내는 벡터의 곱셈이다.u와 v는 단위벡터이면 두 벡터 사이의 각도의 코사인이다. u와 v의 내각 구하기 벡터v와 단위 벡터n이 주어졌을 때 p를 내적을 이용해서 v와 n으로 표현 공식 외적 – 스칼라인 내적과는 달리 외적의 결과는 벡터이다. 외적은 오직 3차원 벡터 외적으로 구한 값은 두 벡터 u와 v에게 직교이다. 직교화: 벡터 집합을 정규직교벡터 집합으로 만드는 것을 직교화(orthogonalization)라고 부른다. 벡터 집합 { v0, v1, v2} 을 이용해서.. 더보기