How to rotate a plane in 3D around arbitrary point ?

조회 수: 6 (최근 30일)
Nina
Nina 2013년 3월 20일
Hi,
I want to a rotate a plane in 3D around arbitrary point. Given is the normal vector n of the plane, a point on the plane p and a point t. The plane should be rotated around the point t.
How can I generated the new normal vector and the new point in the plane?
Anin
  댓글 수: 2
Wouter
Wouter 2013년 3월 20일
Looking for the correct rotation matrices would be a start I suppose.
Nina
Nina 2013년 3월 20일
I have the rotation matrices and can rotate around O but I don't know hoe rotate around another point

댓글을 달려면 로그인하십시오.

채택된 답변

David Legland
David Legland 2013년 3월 20일
Hi,
Maybe you can decompose the procedure in two steps. First you apply the linear part of the transform to the normal vector of the plane, so you get the normal of the transformed plane.
Then you compute the position of the transformed point P. You first need to translate by -T, then you apply the rotation matrix, and you translate back by +T.
Once you have transformed normal vector and transformed plane origin, this should be enough for reprenting the transformed plane.
  댓글 수: 2
Nina
Nina 2013년 3월 20일
Thanks! But I don't understand the first part of your answer. What should I do with the normal vector? Should I translate the normal vector too or should I only apply the roation matrix to the normal vector?
David Legland
David Legland 2013년 3월 20일
you don't have to translate the vector, this will not make sense. You just need to apply the 3-by-3 rotation matrix to the vector.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Coordinate Transformations에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by