내적 썸네일형 리스트형 내적(dot product) 외적(cross product) 이용 내적 밝기 계산에서 대표적으로 사용되는데, 면에 수직인 벡터(흔히 노말벡터라 부르는)과 빛방향벡터의 사이각을 이용한 내적값으로 밝기를 구하게 됩니다. (단위 벡터를 사용하므로, 면에수직일때 원래밝기, 면에 가까워질수록 어두워집니다. ) 외적 주로 곡면 또는 평면의 한 점에 대해 서로 다른 두 접선 벡터가 주어질 때, 그 표면에 수직한 법선 벡터를 구하는데 사용한다. 두 3D 벡터 P와 Q의 외적은 PXQ로 표기하며, 교환 법칙이 성립하지 않으므로 A와 B의 순서에 주의해야 한다. 즉, PXQ = [Py*Qz - Pz*Qy, Pz*Qx - Px*Qz, Px*Qy - Py*Qx] 교환법칙은 PXQ = -QXP 임을 주의해야 한다. 표면의 법선 벡터 계산 삼각형의 면적 계산 더보기 방향넣으면 각도 출력하는 함수 float CalAngle(D3DXVECTOR3 vDrt) { D3DXVECTOR3 vP1, vP2; D3DXVECTOR3 vCrossResult; float fDotResult; vP1 = D3DXVECTOR3(-1, 0, 0); vDrt = -1.0f * vDrt; //노말라이즈 D3DXVec3Normalize(&vP2, &vDrt); // 외적구해서 내적 방향3을 정한다. D3DXVec3Cross(&vCrossResult, &vP1, &vP2); // 내적구해서 각도를 구한다 fDotResult = D3DXVec3Dot(&vP1, &vP2); if(vCrossResult.y > 0) return acosf(fDotResult); else if(vCrossResult.y < 0.0f) { return.. 더보기 이전 1 다음