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

2 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Jan
Jan am 8 Feb. 2023
Bearbeitet: Jan am 8 Feb. 2023
  • 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])

Weitere Antworten (0)

Kategorien

Mehr zu 3-D Scene Control finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by