|
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]
|
- Re: [JAVA3D] Point4f and Vector4f - Homogeneous or not? Alex Bowden
- Re: [JAVA3D] Point4f and Vector4f - Homogeneous or not... Fred Klingener
