2012-12-04 3 views
1

분산 된 재귀 적 레이 트레이서를 만들려고합니다. 나는 완벽한/이상적인 반사를 나타내는 Vector3d 객체를 가지고 있으며, 임의의 변형을 만들어서 원래의 벡터와 각도를 가지고 오프셋 된 새로운 벡터를 얻고 싶습니다. 이 같은의원뿔 주위에서 vector3d를 변환하는 Matrix3d ​​행렬을 만듭니다.

정렬 : enter image description here

I는 X 축을 따라 회전 한 후, 임의의 각도로 y 축 방향의 회전, 올바른 접근 방식이 어떻게 든 X 축에 벡터를 투영하는 것입니다 생각하고, 역 투영을하십시오. 행렬이 이러한 변환에 어떤 영향을 미치는지 확신 할 수 없습니다.

감사 (기본적으로, 수동 매트릭스의 각 요소에 대한 거대한 식 입력하지 않고는 OpenGL의 glRotated()와 같은 행렬을 생성 할)!

답변

0

Rodrigues' rotation formula을 넘어서서 더 쉽게 매트릭스를 계산할 수 있습니다. 위키 백과 (Wikipedia)는 인상적으로 들리는 매트릭스 지수가 필요 없다고 말합니다.

세 가지 다른 방법은 here입니다. 쿼터니온을 사용하는 것은 가장 적은 기호의 장점을 가지고있는 것처럼 보입니다.

관련 문제