Maths - Standards

I am very keen to have consistent standards of notation and terminology across this site. Its hard enough to learn these things without being confused by inconsistent standards. It may not be perfect yet so, if you find any inconsistencies across the site please let me know.

I have documented the maths notation on this page.

I have also tried to apply standards to the physics notation and terminology (see physics standards).

In some cases there are different ways to notate, calculate and display. Wherever possible I have tried to base these on standards, here are some standards used:

 This site VRML/X3D (ISO/IEC 19775) OpenGL DirectX MathML http://www.w3.org/TR/REC-MathML/ Vector shown as row or column see D3DVECTOR structure Matrix order opposite of everything else see D3DMATRIX structure Coordinate System right-handed cartesian right-handed cartesian right-handed cartesian (for orthographic projection) left-handed cartesian x,y and z definitions +X to the right +Y straight up +Z axis toward viewer +X to the right +Y straight up +Z axis toward viewer Orthographic Projection see glOrtho() +X to the right +Y straight up +Z axis toward viewer Viewport +X = to the right +Y = top of screen +Z = depth buffer = distance from viewer (range 0 to 1) W = scaling value for perspective transform +X to the right +Y straight up +Z axis into screen Euler angles Heading = rotation about y axis Attitude = rotation about z axis Bank = rotation about x axis Euler angle order Heading applied first Attitude applied second Bank applied last Positive angle right hand screw right hand screw right hand screw (see glRotated) Angle units radians radians degrees (see glRotated) radians Vector Cross product right hand: x = Ay * Bz - By * Az y = Az * Bx - Bz * Ax z = Ax * By - Bx * Ay so, mechanics equations are, = × = × Clifford Algebra: factor ordering dually Clifford Algebra: element ordering grade-ordered

I have tried to use established open standards rather than inventing my own wherever I can.

Where these standards conflict I have used VRML/X3D (ISO/IEC 19775) on this site. For Euler angles I have used NASA standard Aeroplane but I have swapped the y and z axis, to conform to x3d, so:

 Heading applied first (rotation about y axis – which is up-down) Attitude applied second (rotation about z axis which is along wing) Bank applied last (rotation about x axis which is front-back)

Although z and y are swapped: Heading, Attitude and Bank are applied in the same order so the properties of NASA standard Aeroplane are still the same, i.e. the singularity still happens at attitude= -+90 degrees.

I mentioned NASA standard Aeroplane (as its American I should have written NASA standard Airplane) . The problem is that I can't actually find this standard even from NASA employees that I have communicated with. The only information that I have about this standard is from a book: Analytical Dynamics (McGraw-Hill International Editions) and this is very limited information. Is unfortunate as a standard from such a source as NASA would be helpful.

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

This book introduces 3D concepts, VRML, Java3D, MPEG4/BIFS, and X3D. It is a very good introduction to the theory, The writers have an in depth knowledge due to their involvement in the standards making. This is a good book to help you choose which 3D open standards to use and to give you a good insight into these standards. It is probably not for those who want a basic introduction to 3D or for these who want a step-by-step programming in 3D book.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 Dark Basic Professional Edition - It is better to get this professional edition This is a version of basic designed for building games, for example to rotate a cube you might do the following: make object cube 1,100 for x=1 to 360 rotate object 1,x,x,0 next x Game Programming with Darkbasic - book for above software

This site may have errors. Don't use for critical systems.