The order that you multiply them matters too. Both examples given work because inside the Xith3D renderer, when there is a Transform3D that is a child of another Transform3D the matricies are indeed multiplied at render time (and cached).
The Transform3D chaining option is very handy when you are constantly changing one of the components. The “manual” multiplication method is nice when you just need to do it once (reduced scenegraph overhead).
It would be good to read up on Matrices - you can’t avoid them when coding 3D.
Tricks of 3D Game Programming Guru’s chapter 4 has some great stuff on Matrices, Vectors, Quaternions etc. The book is huge, I bought it primarily for that chapter which had more pages and better content (and the book was the same price) as a book I saw soley dedicated to game maths.
I also found the Java 3D API Jump Start useful when learning about the Java3D scenegraph (which Xith3D was modelled on). Good stuff on transform’s, etc. Less hard core maths than the other book, but more specific to the scenegraph.
Cheers,
Will.