From d54995cad9ddf652cd2f7abb128d5d251f9454f1 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 25 Oct 2022 07:25:01 -0400 Subject: projects: Update chickadee for 0.9.0 release. --- manuals/chickadee/Matrices.html | 51 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) (limited to 'manuals/chickadee/Matrices.html') diff --git a/manuals/chickadee/Matrices.html b/manuals/chickadee/Matrices.html index 551664d..354a9ef 100644 --- a/manuals/chickadee/Matrices.html +++ b/manuals/chickadee/Matrices.html @@ -131,6 +131,16 @@ equivalent to the following code:

Return #t if obj is a 3x3 matrix.

+
+
Procedure: matrix3= m1 m2
+

Return #t if m1 is the same matrix as m2. +

+ +
+
Procedure: matrix3-copy matrix
+

Return a new 3x3 matrix that is a copy of matrix. +

+
Procedure: matrix3* . matrices

Return a new 3x3 matrix containing the product of multiplying all of @@ -171,6 +181,11 @@ matrix matrix.

The following procedures perform in-place, destructive updates to 3x3 matrix objects:

+
+
Procedure: matrix3-copy! src dest
+

Copy the contents of matrix src to dest. +

+
Procedure: matrix3-identity! matrix

Modify matrix in-place to contain the identity matrix. @@ -246,6 +261,16 @@ equivalent to the following code:

Return #t if obj is a 4x4 matrix.

+
+
Procedure: matrix4= m1 m2
+

Return #t if m1 is the same matrix as m2. +

+ +
+
Procedure: matrix4-copy matrix
+

Return a new 4x4 matrix that is a copy of matrix. +

+
Procedure: matrix4* . matrices

Return a new 4x4 matrix containing the product of multiplying all of @@ -254,6 +279,14 @@ the given matrices.

Note: Remember that matrix multiplication is not commutative!

+
+
Procedure: matrix4-inverse matrix
+

Return the inverse of matrix. +

+

A matrix multiplied by its inverse is the identity matrix, thought not +always exactly due to the nature of floating point numbers. +

+
Procedure: orthographic-projection left right top bottom near far
@@ -297,6 +330,14 @@ axis defined by the quaternion q. theta radians.

+

The following procedures perform in-place, destructive updates to 4x4 +matrix objects: +

+
+
Procedure: matrix4-copy! src dest
+

Copy the contents of matrix src to dest. +

+
Procedure: matrix4-identity! matrix

Modify matrix in-place to contain the identity matrix. @@ -308,6 +349,12 @@ axis defined by the quaternion q. the result in the 4x4 matrix dest.

+
+
Procedure: matrix4-inverse! matrix target
+

Compute the inverse of matrix and store the result in +target. +

+
Procedure: matrix4-translate! matrix x

Modify matrix in-place to contain a translation by x, a 2D @@ -334,12 +381,12 @@ axis defined by the quaternion q.

-
Procedure: matrix4-2d-transform! matrix [#:origin] [#:position] [#:rotation] [#:scale] [#:skew]
+
Procedure: matrix4-2d-transform! matrix [#:origin] [#:position] [#:rotation] [#:scale] [#:shear]

Modify matrix in-place to contain the transformation described by position, a 2D vector or rectangle, rotation, a scalar representing a rotation about the Z axis, scale, a 2D vector, -and skew, a 2D vector. The transformation happens with respect +and shear, a 2D vector. The transformation happens with respect to origin, a 2D vector. If an argument is not provided, that particular transformation will not be included in the result.

-- cgit v1.2.3