-
Notifications
You must be signed in to change notification settings - Fork 0
/
q_to_v.m
28 lines (20 loc) · 1005 Bytes
/
q_to_v.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %%
% Title: q_to_v %
% Description: Receive a 4x1 quaternion and convert it to a 3x1 rotattion %
% vector of Euler angles. %
% %
% Input: 4x1 quaternion defined by [3x1 vector, 1x1 scalar] %
% Output: 3x1 Rotation vector in radians %
% %
% Developed by: ASEL Lab, WVU %
% %
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
function [ v ] = q_to_v( q )
Qv = [q(1); q(2); q(3)];
Qs = q(4,1);
%% Radians
Qnorm=norm(Qv);
theta=2*atan2(Qnorm,Qs);
etheta=Qv/Qnorm;
v = theta*etheta;
end