# IG.Math

### Namespaces

You can use the following modules:

| Namespace              | Description                                                                       |
| ---------------------- | :-------------------------------------------------------------------------------- |
| IG.Math                | Global space functions like Rad/Deg and Polar/Cartesian conversion, ...           |
| IG.Math.Bounds         | Bounding Boxes                                                                    |
| IG.Math.Euler          | Calculations with euler angles                                                    |
| IG.Math.Line           | A line, consisting of an origin and a direction                                   |
| IG.Math.LinearAlgebra  | Various convenience functions                                                     |
| IG.Math.MathS          | Safe Math functions to avoid getting NaN                                          |
| IG.Math.Matrix3        | 3x3 Matrix functions                                                              |
| IG.Math.Matrix4        | 4x4 Matrix functions                                                              |
| IG.Math.Plane          | A plane, described by its normal and a point that lies in it                      |
| IG.Math.Quaternion     | special Vector4 describing a rotation                                             |
| IG.Math.Ray            | A ray, consisting of an origin and a direction                                    |
| IG.Math.Transformation | The transformation of an object consists of a position and 3 rotations in radians |
| IG.Math.Vector2        | {x, y} Vector functions                                                           |
| IG.Math.Vector3        | {x, y, z} Vector functions                                                        |
| IG.Math.Vector4        | {x, y, z, w} Vector functions                                                     |

### Coding Style

-   Modules: PascalCase
-   Types/Classes: PascalCase
-   Functions/Member: lowerCamelCase
-   in place functions return void and have inPlace in their function name

## History

### 1.0.0

-   fixed lookAt function
-   change lookAt function for use with other base
-   updated comments and tests
-   Matrix4.lookAt() fix for negative z-values & license
-   Matrix4 lookAt function
-   added version logging and minification

### 1.0.0-alpha.0

-   initial release
