Hi
 
I'm trying to get my brain around the use and intent of the 3D library used with J3D.
 
I'm used to 4x4 transformation matrices to give general real world transforms of 3D co-ordinates which are generally used with a 3D homogeneous point or vector definition (x, y, z, 1.0) or more generally (xw, yw, zw, w).  A simple 3D matrix won't, for example, perform a rotation about an arbitrary vector which does NOT pass through the origin.
 
The Transform3D object clearly can do this and almost certainly converts Point3f and Vector3f to Point4f and Vector4f by adding 1.0
for w.  
 
But Point4f and Vector4f don't generally seem to function as homogeneous points and vectors - e.g. add() adds the w components rather than dividing by them first - i.e. they are being used as (x, y, z, w)
 
This seems
a - inefficient (you have to keen swapping between 3f and 4f entities to perform basic operations
b - verbose
c - functionally limiting.  Real homogeneous usage solves so many pathological issues (e.g. letting curve control points go off to infinity in a particular direction while still correctly obeying transformations.....) so its generally nicer to write the hole application in homogeneous3D
 
So,  am I misunderstanding the Point4f and Vector4f or are there proper homogeneous equivalents available somewhere else?
 
 
    thanks
    Alex Bowden - [EMAIL PROTECTED]   

Reply via email to