I agree, that the documentation should not include a tutorial on how
matrices work or the underlying math. However we DO need documentation
for how to properly set up these matrices.
Are these matrices row-major form or column-major form?
Again quoting from "Real Time Rendering" page 32:
"Another vaild notational scheme sometimes seen in computer graphics
uses matrices with translation vectors in the bottom row. In this
scheme, the order of matrices would be reversed, i.e., the order of
application would read from left to right. Vectors and matrices in this
notation are said to be in row-major form since the vectors are rows.
In this book we use column-major form."
So are Java 3D matrices row-major or column-major?
If we don't have documentation for these little details it becomes
extremely difficult to utilize our other references.
For fun sometime try to map a 3DS transform matrix (3x4 or is that 4x3?)
to a Java 3D Matrix4f (4x4)? It's a lot of trial and error when BOTH
sides are undocumented! (keep in mind that Y & Z are flipped and Z is
negated between Max and Java 3D) You might get lucky with trial and
error and get it right on the first try (I did) but then an error
somewhere else in your code makes the rendering scrambled hence leading
you to think that maybe you misunderstood the matrix (happenned to me).
This is just one example. Yes, Sun has provided a lot of documentation,
they are doing a great job. But I'll continue to advocate that
documentation should be their number one priority. Artur, you are
clearly a talented and intelligent individual, but do you truly enjoy
writing test code to see how each feature actually works? More
importantly can you afford the time to do this? I run a business and
time equals money. When someone asks you a question can you answer it
off the top of your head (or with a quick look at the Javadocs?) or do
you need to write a test program before you can give them the answer?
My customers ask me "can you do this?" and my usual answer is "I'll have
to write a prototype to see if it works". I'd like to do a bit less
prototyping and a bit more off the cuff answering (and documentation is
the first step toward that).
- John Wright
Starfire Research
Artur Biesiadowski wrote:
>
> John Wright wrote:
>
> > For Matrix4f the Javadocs state:
> >
> > "A single precision floating point 4 by 4 matrix. Primarily to support
> > 3D rotations."
> >
> > Ok, is this a Rigid-Body Transform as per page 33 in "Real-Time
> > Rendering" (Tomas Moller & Eric Haines)? Does the row-column
> > orientation match that of the text I reference? (or are they flipped?)
>
> In pdf java3d spec, on page 424 (Version 1.2, April 2000), you have nice
> equation of this matrix, using m00, m01 etc. Unfortunately there is no
> reference to "Real-Time Rendering", but I suppose that matrix layout for
> multiplication, plus equations explaining how to compute matrix
> multiplied by vector should be enough for comparison.
>
> If you mean float[] constructor order, it is explained in long api -
> "
> Constructs and initializes a Matrix4f from the specified 16 element
> array. this.m00 =v[0], this.m01=v[1], etc.
> "
>
> This time it is in most obvious place - Math Objects/Matrix Objects.
>
> Artur
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".