Rotate the all center positions in the certain angle
조회 수: 1 (최근 30일)
이전 댓글 표시
I have 4 data points with x and y coordinates and I want to rotate them at certain angle in counterclockwise or clockwise.
Assume (x1,y1), (x2,y2), (x3,y3) and (x4,y4).
Is there a way to rotate them and find the new positions after rotating?
Thanks
댓글 수: 0
채택된 답변
Anand
2013년 9월 4일
If you have the Image Processing Toolbox, you can use the affine2d object to help you with this. Here's an example of how:
Let's say you're points are (1,1),(100,1),(1,100) and (100,100) and you want to rotate them by 45 degrees.
%these are the points to rotate
X = [ 1 1;...
100 1;...
1 100;...
100 100];
%define a transformation matrix for 45 degree rotation
theta = 45;
T = [cosd(theta) sind(theta) 0;sind(theta) -cosd(theta) 0;0 0 1];
%construct an affine2d object using this transformation matrix
tform = affine2d(T);
%transform the points in X to new co-ordinates U using the affine2d object
U = transformPointsForward(tform,X)
U =
1.4142 0
71.4178 70.0036
71.4178 -70.0036
141.4214 0
Hope this helps!
추가 답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!