Rotating a Vector
108 次查看(过去 30 天)
显示 更早的评论
Hello! I am wondering if anyone has an elegant way to rotate a vector by a specified degree.
For example, I have a vector that goes from (0,0) to (-1,-12). I want to rotate this vector by 5 degrees, incrementally until it reaches the x-axis.
Obviously this can be done from the math, but I wonder if anyone has a nicer way of doing this.
Thank you in advance!
Amina
0 个评论
采纳的回答
Andrei Bobrov
2011-7-8
complex
vR = v*[1;1i]*exp(-1i*theta*pi/180)
2 个评论
James Tursa
2020-4-16
real(vR) are the x components of the vectors, and imag(vR) are the y components of the vectors.
更多回答(3 个)
Sean de Wolski
2011-7-8
Unless I'm missing something just use the rotation matrix:
v = [-1 -12];
theta = 5;
R = [cosd(theta) -sind(theta); sind(theta) cosd(theta)];
vR = v*R;
quiver(0,0,v(1),v(2))
hold on
quiver(0,0,vR(1),vR(2))
Sayyed Ahmad Khadem
2018-12-26
Hi all,
I read this blog, and I have similar problem. I would be thankful to kindly give me some clues if you know.
Suppose that we have a vector field in y-x plane, let's consider following example:
Vector Field : Vf = [u, v]
u=x
v=y
Now, I need to revolve the given vector field around the center of plot (i.e. [0 0]). Does anyone can provide some nice solution?
Thanks in advance,
1 个评论
Adam Danz
2020-4-16
You can flip the direction of the quiver arrows by using the quiver handle or by flipping the vector component prior to producing the quiver plot.
h = quiver(x,y,u,v);
quiverRotate(h)
% or
[Ur,Vr] = quiverRotate(u,v);
quiver(x,y,Ur,Vr)
wenhao li
2019-1-11
Have you solved this problem? I met this problem, too.
1 个评论
Sayyed Ahmad Khadem
2019-1-11
Hi Wenhao,
No one has suggested a viable approach yet ! :-( I am still struggling !
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!