[Bf-committers] Quaternions in large

Ton Roosendaal bf-committers@blender.org
Mon, 21 Jun 2004 12:51:21 +0200


(w, x, y, z) is the supposed standard in Blender. Where ever possible,  
correct it... but I have no insight in the consequences for  
compatibility of Python API here...


On Monday, Jun 21, 2004, at 04:01 Europe/Amsterdam, Anders Nilsson  

> Are they supposed to be defined as (w,x,y,z) or (x,y,z,w)? It's pretty
> darn hard to find out which!
> In Python::Mathutils they are defined as (w,x,y,z) in the  
> documentation.
> Some functions here operate using built-in blender functions such as
> EulToQuat in blenkernel/artihb.c. Then on the other hand quaternions
> mostly seems to be defined (allocated) as (x,y,z,w) such as in the
> "transform properties" for the bones.
> But the python:API get the quaternions from the bones by copying the
> four floats thus getting (w,x,y,z)=(x,y,z,w) as return value of the
> Bone.getQuat().
> But if I have a bone with a certain rotation and create a
> IPO-quaternion-track for it what's QuatX in the transform properties
> become QuatW in the ipo-window (and some other stuff).
> What have I missed? Is is really such a mess? How can one know what is
> what?
> I'm trying to get armatures working in my application but it's very  
> hard
> when I don't really know what I get from Blender, guess that's a
> documentation problem with the Python-API though.
> Anders Nilsson (breakin)
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers
Ton Roosendaal  Blender Foundation ton@blender.org