How I can rotate cube the way that front plane will be come the top plane?

조회 수: 9 (최근 30일)
Aknur
Aknur 2023년 2월 8일
댓글: Aknur 2023년 3월 17일
Hi! Could you please give me an advice about 3d rotation. How I can rotate plane of 3d cube. If plane is front or side and I need then rotate my cube in way like that side plane or front plane become the top. I have coordinates of plane and need to rotate by 90 degrees.
I have this planes
planes(:,:,1) = [0 3 3; 0 0 3; 0 3 0; 0 0 0; 0 0 0];
planes(:,:,2) = [0 0 3; 3 0 3; 0 0 0; 3 0 0; 0 0 0];
planes(:,:,3) = [3 0 3; 3 3 3; 3 0 0; 3 3 0; 3 0 0];
planes(:,:,4) = [3 3 3; 0 3 3; 3 3 0; 0 3 0; 0 3 3];
planes(:,:,5) = [0 3 0; 3 3 0; 0 0 0; 3 0 0; 0 0 0];
planes(:,:,6) = [0 3 3; 3 3 3; 0 0 3; 3 0 3; 0 0 3];
location_plane = 6;
Thank you in advance for your time and help

채택된 답변

Jan
Jan 2023년 2월 8일
편집: Jan 2023년 2월 8일
  • Use permute(planes, [2,1,3]) to move the 3D coordinates to the first dimension.
  • Move the center of the body to the origin (or to a point of the line to rotate around:
Shift = [-1.5, -1.5, -1.5];
P = planes + Shift;
  • Apply a rotation matrix around the axis to rotate around (see e.g. FEX: RotMatrix)
R = [1, 0, 0; 0, 1, 0; 0, 0, -1] % Adjust to the plane you want
P = R * P;
  • Shift pack and change the dimensions on demand:
Result = permute(P - Shift, [2, 1, 3])

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interactions, Camera Views, and Lighting에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by