void function ( Vec3f arg0 , Vec3f arg1 ) { Vec3f loc0 = new Vec3f ( q1 , q2 , q3 ) ; Vec3f loc1 = loc0 . cross ( arg0 ) ; Vec3f loc2 = loc1 . cross ( loc0 ) ; loc1 . scale ( 2.0f * q0 ) ; loc2 . scale ( - 2.0f ) ; arg1 . add ( arg0 , loc1 ) ; arg1 . add ( arg1 , loc2 ) ; }
rotate a vector by this quaternion . implementation is from horn 's robot vision . note : src and dest must be different vectors . concode_field_sep float q1 concode_elem_sep float q2 concode_elem_sep float q3 concode_elem_sep float EPSILON concode_elem_sep float q0 concode_field_sep void init concode_elem_sep Rotf inverse concode_elem_sep void set concode_elem_sep void set concode_elem_sep void set concode_elem_sep float lengthSquared concode_elem_sep void invert concode_elem_sep void mul concode_elem_sep float length concode_elem_sep Rotf times concode_elem_sep void toMatrix concode_elem_sep void fromMatrix concode_elem_sep float get concode_elem_sep void normalize concode_elem_sep String toString concode_elem_sep void setQ concode_elem_sep boolean withinEpsilon