Rotation about a point
23 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Daniel Campbell
le 15 Nov 2018
Modifié(e) : Jim Riggs
le 15 Nov 2018
Hi there I have been given a problem:
"A triangle is defined by the points (1, 1), (2, 4) and (7, 2). Using the three constituent simple transformations, transform the triangle with a rotation about the point (1, 3) by 60◦ anti-clockwise".
If I am being honest I have no idea how to start this
Any help would be great
Daniel
2 commentaires
madhan ravi
le 15 Nov 2018
If you keep closing the question , you wont get any further help hereafter
Réponse acceptée
Jim Riggs
le 15 Nov 2018
Modifié(e) : Jim Riggs
le 15 Nov 2018
If you want the equations they are as follows;
X = [1 2 7 1];
Y = [1 4 2 1];
ang = -60 % degrees
Xc = 1; % X cener of rotation
Yc = 3; % Y center of rotation
% Shift X/Y to the rotation center
Xshift = X - Xc;
Yshift = Y - Yc;
% Rotate the coordinates
Xsrot = Xshift*cosd(ang) + Yshift*sind(ang);
Ysrot = -Xshift*sind(ang) + Yshift*cosd(ang);
% Shift the rotated coordinates back to the original reference center
Xrot = Xsrot + Xc;
Yrot = Ysrot + Yc;
Now X,Y is the original triangle and Xrot,Yrot is the rotated triangle
This can be shortened to:
X = [1 2 7 1];
Y = [1 4 2 1];
ang = -60; % degrees
Xc = 1;
Yc = 3;
Xrot = (X-Xc)*cosd(ang) + (Y-Yc)*sind(ang) + Xc;
Yrot = -(X-Xc)*sind(ang) + (Y-Yc)*cosd(ang) + Yc;
0 commentaires
Plus de réponses (1)
madhan ravi
le 15 Nov 2018
Modifié(e) : madhan ravi
le 15 Nov 2018
x=[1 2 7 1];
y=[1 4 2 1];
fig=figure
h=plot(x,y)
center = [1 3];
rotate(h,center,-60)
title('ROTATED TRIANGLE @CENTER (1,3) anticlockwise')
print(fig,'Rotated_triangle','-dpng')
fig1=figure
plot(x,y)
title('ORIGINAL TRIANGLE')
print(fig1,'Orignal_triangle','-dpng')
4 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!