Plot a unit vector in MATLAB, given its starting point and the orientation about 3 axes

I have a point [x y z] and the Euler orientation angles [r p y]. How can I plot a unit vector in MATLAB starting from [x y z] in the orientation of [r p y] ?

댓글 수: 3

If you're using a polarplot() you simply supply the angle and magnitude
polarplot(theta, rho) %theta is in radians
If you're plotting that in cartesian coordinates, convert (theta,rho) to (x,y) using,
[x,y] = pol2cart(theta,rho)
Check out the documentation for pol2cart for input requirements.
Thanks Adam, but my requirement is to use Euler angles to plot a unit vector starting at the specified point. And my goal is to get the plot in 3D.

댓글을 달려면 로그인하십시오.

 채택된 답변

crisdeodates
crisdeodates 2019년 11월 22일
편집: crisdeodates 2019년 11월 22일
At last found a very simple solution.
Converted the euler angles to rotation matrix and rotated to unit vector.

댓글 수: 2

Congrats! If you provide a simple demo or example in your answer it will be more useful to people who may come across this post in the future.
Sure ...
Lets say we want to visualize a vector at a given point [0 0 10] and orientation [0 0 50].
  1. Convert the orientation angles to radians using deg2rad function.
  2. Find the rotational matrix using eul2rotm function in the sequence (eg: XYZ) required.
  3. Initialize a unit vector along x-axis as [1 0 0].
  4. Rotate the unit vector using the rotational matrix obtained in step 2.
  5. Plot the newly formed directional vector usingquiver3 function.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

질문:

2019년 11월 22일

편집:

2019년 11월 22일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by