문제

스케일링 및 번역을위한 4x4 행렬을 보유하는 클래스가 있습니다. 이 클래스에 회전 방법을 어떻게 구현합니까? 그리고 회전을 별도의 행렬로 구현해야합니까?

도움이 되었습니까?

해결책

현재 행렬에 회전 행렬에 곱할 수 있습니다. 보세요 http://en.wikipedia.org/wiki/rotation_matrix

다른 팁

3D 변환의 세부 사항을 찾아야 할 때마다 사용하는 사이트가 있습니다. http://www.euclideanspace.com. 매트릭스 회전의 특정 페이지를 찾을 수 있습니다 여기.

편집하다: 주어진 축 주위의 회전은 축 및 각도 대표. 이 페이지는 또한 한 표현을 다른 표현으로 변환하는 방법에 대한 설명으로 링크합니다.

뮤티플 축을 중심으로 회전 해야하는 경우 해당 행렬을 곱하십시오.

질문의 후반에 응답하면 단일 4x4 매트릭스는 스케일링, 번역 및 회전을 유지할 수 있습니다. 따라서 처리 할 수있는 4x4 행렬에 특별한 제한을 두지 않으면 단일 4x4는 원하는대로 괜찮습니다.

임의의 벡터에 대한 회전은 (주석에서 요청하는 것처럼) Wikipedia 기사 Yabcok 링크의 "임의의 벡터에 대한 회전"섹션을보십시오. 4,4 (스케일링) 위치를 제외하고는 0이어야합니다. 그런 다음 스케일링/번역 4x4와 함께 행렬 곱셈을 사용하여 새로운 4x4 행렬을 생성하십시오.

컴퓨터 그래픽에 사용되는 올바른 종류의 매트릭스 (즉, 회전/번역/왜곡을위한 4x4 변환 매트릭스를 사용한 3D 균질 한 좌표)에 대해 설명하는 참조를 찾으십시오.

컴퓨터 그래픽 "성경"을 참조하십시오 폴리와 반 댐 (pg. 213) 또는이 중 하나 :

이 페이지에는 약간의 유용한 정보가 있습니다.
http://knol.google.com/k/matrices-for-3d-applications-translation-rotation

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top