Rotation about a point
조회 수: 76 (최근 30일)
이전 댓글 표시
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
madhan ravi
2018년 11월 15일
If you keep closing the question , you wont get any further help hereafter
채택된 답변
Jim Riggs
2018년 11월 15일
편집: Jim Riggs
2018년 11월 15일
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
추가 답변 (1개)
madhan ravi
2018년 11월 15일
편집: madhan ravi
2018년 11월 15일
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
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!