Maths - 3D Geometry

Points and Lines from the Origin

We can use a 3 dimensional vector to represent a displacement from the origin and therefore specify a given point by showing its displacement from the origin. For instance, the point shown below is 9 up, 11 right and 7 toward viewer, which can be represented by the vector (11,9,7). By convention the x coordinate is shown first, then the y coordinate, then the z coordinate.

point in 3D coordinates

Angles

In 3 dimensions rotations have 3 degrees of freedom as described here. For instance we can define an angle to rotate the red vector to the blue vector in the diagram below:

rotation in 3D

Just defining the angle is not enough as we have to define the direction that it rotates, we can use a vector to do this, one way to do this is to define an axis which we are rotating around. We can do this because in 3 dimensions lines and planes are 'duels' that is every line has a corresponding plane and visa-versa. More generally we can define the direction of rotation by defining a plane, points in that plane when rotated, stay in that plane.

If we ignore the direction of the rotation, the angle will be,

angle = acos(real(v1*v2))

where:

Areas

In 3 dimensions there are two ways to define areas:

This second case is known as a 'directed area'

areas in 3D

As an example of a directed area, what is the area of a diamond shape with two sides = V1 and two sides = V2 as shown in the diagram above. The answer is:

directed area = vector(V1 * V2)

where:

As explained already, it just so happens that in 3 dimensions we can represent a directed area with a 3 dimensional vector. Or more correctly a bivector because it has slightly different properties in that the result of cross product with bivector operands can be reversed in certain circumstances. bivectors are explained on this page.

If we want to define a plane, without defining an area of it, we can use a normalised (unit length) bivector.

Directed areas can be used to define the direction of rotation explained above. We could use the direction of the bivector to define the plane and the length of the bivector to define the angle, in this way the the bivector alone can fully define a rotation. A more common way to define the rotation is to use a quaternion, which makes it easier to combine rotations, this is related to the angle and the bivector as follows:

real part of quaternion = cos(angle/2)
imaginary part of quaternion = sin(angle/2) * bivector

Volume

A volume, in 3 dimensional space, is a single scalar quantity. This might, for example, indicate how much space is taken up by an object.

Where next

To see how these objects can be projected onto other objects read this page.


metadata block
see also:

 

Correspondence about this page

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.

flag flag flag flag flag flag Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics (Fundamental Theories of Physics). This book is intended for mathematicians and physicists rather than programmers, it is very theoretical. It covers the algebra and calculus of multivectors of any dimension and is not specific to 3D modelling.

 

Terminology and Notation

Specific to this page here:

 

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

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.