Rotate the all center positions in the certain angle
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Anand
le 4 Sep 2013
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!
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Geometric Transformation and Image Registration 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!