view scripts/quaternion/qtrans.m @ 3295:35a6d027772c

[project @ 1999-10-19 10:13:02 by jwe]
author jwe
date Tue, 19 Oct 1999 10:13:06 +0000
parents 1e7532b9173b
children a892190f4977
line wrap: on
line source

function v = qtrans(v,q)
# function v = qtrans(v,q)
# transform the unit quaternion v by the unit quaternion q;
# v = [w x y z], q = transformation quaternion
# returns v = q*v/q

if(!is_vector(v) | length(v) != 4)
  error(sprintf("qtrans: v(%d,%d) must be a quaternion",rows(v),columns(v)))
elseif(!is_vector(q) | length(q) != 4)
  error(sprintf("qtrans: q(%d,%d) must be a quaternion",rows(q),columns(q)))
endif

v = qmult(q,qmult(v,qinv(q)));