How to organise the mathematics subjects on the pages below this?
I would like to document and classify the mathematics and how it can be computed. Euclid made one of the first attempts to classify mathematics although we now know, through the theorems of Kirt Gödel, that there is no definitive so the organisation here has to be arbitrary in some ways and reflects my own interests.
There are a number of 'foundational' mathematics theories which provide a common approach to a large part of mathematics, these include:
However, for the organisation of this site, we will follow a 'universal algebra' approach where we divide the subject into:
- Varieties of those theories
- Models of those theories.
So theories are things like:
Different people like to think in different ways, a particular approach to a subject may fire one persons imagination but leave another person cold. I am hoping that the way that the topics are richly interconnected will allow someone who is following an approach that is not working to back off and approach the subject from a different direction. In that way, when you understand one topic it should help you understand other topics.
The general hierarchy of this part of the site follows a fairly conventional division of the subject into algebra, geometry, calculus, etc. but many subjects cut across this. For instance: vectors, we might prefer to look at vectors as purely geometric objects, something with magnitude and direction. Another person may like to think of vectors as objects containing an array of scalar values which are treated as a single element with operations defined on it which have algebraic rules. There are other ways of looking at vectors and the real power of the subject comes when we relate all these.
Many (most even) of the topics on this site are cross connected in this way.
||These pages describe vectors and the mathematical operations
that can be applied to them. We discuss the following topics which are useful
for our program such as, Normals,Rays, angle between vectors and lookAt function. We concentrate
on 2D and 3D vectors because these are most useful for our program and these
are encapsulated on the following classes, sfvec2f and sfvec3f.
||These pages cover matrices and specially how they can be used
to represent transforms such as scaling, rotation and translations. In the case of rotations we are interested in the properties of orthogonal
matrices. We are also interested in matrix concepts such as Determinants and Eigenvalues.
In order to represent transforms we derive the sftranslation class which encapsulates the behaviour of 4x4 matrices.
||Complex numbers can represent points on a 2D plane.
||Quaternions can represent rotations in a similar way to orthogonal
matrices but with fewer numbers.
||Clifford Algebra or Geometric Algebra can represent both linear
and rotational quantities as a single entity.
||This shows how the above constructs such as vectors can be
used to define points in space.
||Curves - Bezier Curves,B-Spline,NURBS (Non-Uniform Rational
||This covers 3d shapes such as Dodecahedron and Icosahedon
||Ways to represent rotations such as quaternions, euler, axis
angle and orthogonal matrices the advantages and uses of each of these representations and how to convert between them. These quantities can represent physical properties like orientation,
angular velocity. We derive the sfrotation class which can represent a rotation and can be stored internally as a quaternions, euler or axis
|Rotations + translations
Ways to represent affine transformations such as angle + vector, multivectors and 4*4 matrices the
advantages and uses of each of these representations and how to convert between them.