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!