rotate by a certain angle a plane in space around a node P
Show older comments
HI! I have a plane normal to a node (point P) in the figure.
line = importdata("line_G.mat");
plane = importdata("plane_G.mat");
P = [24.2914 -21.7784 81.7641];
figure
plot3(line(:,1),line(:,2),line(:,3),'k.','Markersize',10);
hold on
patch(plane(:,1), plane(:,2),plane(:,3),'r');
plot3(P(:,1),P(:,2),P(:,3),'k*','Markersize',10);
hold off
axis equal

How can I rotate the plane in the two directions X and Y by an angle alpha and beta? The plane, consequently, rotates around point P and is no longer normal.

v = plane;
% create a matrix which will be used later in calculations
center = P;
% define a 60 degree counter-clockwise rotation matrix
theta = pi/3; % pi/3 radians = 60 degrees
R = [cos(theta) -sin(theta); sin(theta) cos(theta)];
% do the rotation...
s = v - center; % shift points in the plane so that the center of rotation is at the origin
so = R*s; % apply the rotation about the origin
vo = so + center; % shift again so the origin goes back to the desired center of rotation
% this can be done in one line as:
% vo = R*(v - center) + center
% pick out the vectors of rotated x- and y-data
x_rotated = vo(1,:);
y_rotated = vo(2,:);
% make a plot
plot(x, y, 'k-', x_rotated, y_rotated, 'r-', x_center, y_center, 'bo');
axis equal
1 Comment
Catalytic
on 7 Oct 2023
I'm pretty sure that's a disk, not a plane.
Accepted Answer
More Answers (0)
Categories
Find more on Interactions, Camera Views, and Lighting in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!