Question
I have such an example: v0 = [0 0 -1]; v1 = [0 0 1]; q = vrrotvec(v0, v1); So, as I understand, v1 is v0 rotated by 180 degrees in x-axis. But I get q = [0 0 0 pi] Why?
Expert Answer
John Williams
PhD Expert
Answered Aug 17, 2026
Actually the rotation could be 180 degrees about any axis that is in the xy-plane, like the y-axis. So the x-axis is not the only correct answer.
To me it seems that the function is not working well. In this case there are infinite choices of correct axis, so the function should return at least one correct axis, for example the y-axis or the x-axis.
However, the axis matters if you want to do this rotation for a 3D body. For a 3D-body the result is different if you rotate 180 degrees about x-axis, or 180 degrees about y-axis. But from those two vectors, it is not possible to determine, whether you want a rotation about x-axis, or y-axis or some other axis in xy-plane.
100% Run Guarantee
3-Hour Fast-Track Delivery
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here
Related MATLAB Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →