How to rotate points on 2D coordinate systems
조회 수: 209 (최근 30일)
이전 댓글 표시
I have some points on a 2D Cartesian coordinate system. I want to rotate all these points 90 degrees counterclockwise. What is the best solution? (When I work with 3D coordinates, I use “view” to change the view direction, but apparently, it doesn’t work with 2D coordinates)
댓글 수: 0
채택된 답변
John Chilleri
2017년 2월 6일
Hello,
Here's a simple implementation,
% Create rotation matrix
theta = 90; % to rotate 90 counterclockwise
R = [cosd(theta) -sind(theta); sind(theta) cosd(theta)];
% Rotate your point(s)
point = [3 5]'; % arbitrarily selected
rotpoint = R*point;
The rotpoint is the 90 degree counterclockwise rotated version of your original point.
Hope this helps!
댓글 수: 4
Ria
2024년 2월 12일
Hello, if you needed the rotation clockwise, could you just reverse each sign of cosd and sind?
George Abrahams
2024년 2월 12일
@Ria You have two options. First option, set theta, the angle of rotation, to -90. Second option, the inverse of a rotation matrix is its transpose,
, so transpose the matrix. In MATLAB this is typically achieved with the .' syntax.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1614691/image.png)
R = [cosd(-90) -sind(-90); sind(-90) cosd(-90)]
R = [cosd(90) -sind(90); sind(90) cosd(90)].'
추가 답변 (3개)
Amit
2023년 3월 29일
Write and execute a MATLAB program for geometric modeling of a parametric circle with center at any point {xc,yc}, radius R and lying in the X-Y plane. Test your program with R=40 mm and center at both the origin and at {10,10} for estimating the point and tangent vector at any given parameter value 0<=u<=1.
댓글 수: 0
Amit
2023년 3월 29일
Write and execute a MATLAB program for geometric modeling of a parametric circle with center at any point {xc,yc}, radius R and lying in the X-Y plane. Test your program with R=40 mm and center at both the origin and at {10,10} for estimating the point and tangent vector at any given parameter value 0<=u<=1.
Write the Matlab code for both the original parametric equation and computationally efficient parametric equation. Compare the computational times.
댓글 수: 0
Amit
2023년 3월 29일
a) Write and execute a MATLAB program to plot a planar parametric curve whose x- and y- axis modeled using cubic polynomial of the form: X(u) =A*u^3+B*u+C Y(u) =E*u^3+F* u^2+G Where 0 ≤ u ≤ 1 is the parameter, and A, B, C, E, F, G are the polynomial coefficients. Your program should work for any user supplied input of these polynomial coefficients.
b) Write Matlab program to generate and plot a the Hermite cubic curve for any set of two control points and two tangent vectors. Validate your code with sample data given below: P0 = [1, 1], P’0 = [0.6, 0.8], P1= [8, 2] and P’1 = [-0.4472, -0.8944].
Also include in the program the facility of putting point at the specified u-value and an arrow for the tangent vector at that point.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Elementary Polygons에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!