This is the gfxmath Reference Manual, version 0.1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon May 15 05:05:06 2023 GMT+0.
The main system appears first, followed by any subsystem dependency.
gfxmath
A graphics math library.
Michael Fiano <mail@mfiano.net>
MIT
0.1.1
mfiano-utils
(system).
str
(system).
package.lisp
(file).
macros.lisp
(file).
types.lisp
(file).
common.lisp
(file).
shared-ops.lisp
(file).
vector.lisp
(file).
matrix.lisp
(file).
quaternion.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
gfxmath/gfxmath.asd
gfxmath/package.lisp
gfxmath/macros.lisp
gfxmath/types.lisp
gfxmath/common.lisp
gfxmath/shared-ops.lisp
gfxmath/vector.lisp
gfxmath/matrix.lisp
gfxmath/quaternion.lisp
gfxmath/macros.lisp
package.lisp
(file).
gfxmath
(system).
with-matrix
(macro).
with-quaternion
(macro).
with-vector
(macro).
%filter-types
(function).
%generate-accessors
(macro).
%generate-bindings/1d
(function).
%generate-bindings/2d
(function).
%generate-type
(macro).
%parse-extended-class-specializers
(function).
%parse-extended-eql-specializers
(function).
%parse-extended-specializers
(function).
%parse-keyword-parameters
(function).
%parse-optional-parameters
(function).
%parse-parameters
(function).
%parse-required-parameters
(function).
%parse-rest-parameter
(function).
%parse-specialized-specs
(function).
%process-documentation
(function).
%with-columns
(macro).
%with-components
(macro).
%with-each
(macro).
%with-each/2d
(macro).
%with-each/parallel
(macro).
%with-rows
(macro).
*axis-length->vector*
(special variable).
*columns->vector*
(special variable).
*descriptions*
(special variable).
*matrix->rotation*
(special variable).
*rows->vector*
(special variable).
*types*
(special variable).
define-op
(macro).
doc
(macro).
gfxmath/types.lisp
macros.lisp
(file).
gfxmath
(system).
make-load-form
(method).
math-object
(class).
matrix
(class).
matrix2
(class).
matrix3
(class).
matrix4
(class).
print-object
(method).
print-object
(method).
print-object
(method).
quaternion
(class).
vector
(class).
vector2
(class).
vector3
(class).
vector4
(class).
column-count
(reader method).
components
(reader method).
(setf components)
(writer method).
components/single
(reader method).
(setf components/single)
(writer method).
row-count
(reader method).
gfxmath/common.lisp
types.lisp
(file).
gfxmath
(system).
mref
(function).
(setf mref)
(function).
ref
(function).
(setf ref)
(function).
%axis->index
(function).
%index->axis
(function).
%make-random
(function).
%print-object/columnar
(function).
%print-object/horizontal
(function).
~=
(function).
gfxmath/vector.lisp
shared-ops.lisp
(file).
gfxmath
(system).
*
(method).
*
(method).
*
(method).
*!
(method).
*!
(method).
*!
(method).
+v2+x+
(constant).
+v2+y+
(constant).
+v2-ones+
(constant).
+v2-x+
(constant).
+v2-y+
(constant).
+v2-zero+
(constant).
+v3+x+
(constant).
+v3+y+
(constant).
+v3+z+
(constant).
+v3-ones+
(constant).
+v3-x+
(constant).
+v3-y+
(constant).
+v3-z+
(constant).
+v3-zero+
(constant).
+v4+w+
(constant).
+v4+x+
(constant).
+v4+y+
(constant).
+v4+z+
(constant).
+v4-ones+
(constant).
+v4-w+
(constant).
+v4-x+
(constant).
+v4-y+
(constant).
+v4-z+
(constant).
+v4-zero+
(constant).
/
(method).
/
(method).
/
(method).
/!
(method).
/!
(method).
/!
(method).
<
(generic function).
<=
(generic function).
>
(generic function).
>=
(generic function).
abs
(generic function).
abs!
(generic function).
acos
(generic function).
acos!
(generic function).
angle
(generic function).
asin
(generic function).
asin!
(generic function).
atan
(generic function).
atan!
(generic function).
ceiling
(generic function).
ceiling!
(generic function).
cos
(generic function).
cos!
(generic function).
cross
(generic function).
cross!
(generic function).
default
(method).
default
(method).
default
(method).
degrees->radians
(generic function).
degrees->radians!
(generic function).
expt
(generic function).
expt!
(generic function).
floor
(generic function).
floor!
(generic function).
fract
(generic function).
fract!
(generic function).
interpolate
(method).
interpolate
(method).
interpolate
(method).
interpolate!
(method).
interpolate!
(method).
interpolate!
(method).
invert
(method).
invert
(method).
invert
(method).
invert!
(method).
invert!
(method).
invert!
(method).
lerp
(generic function).
lerp!
(generic function).
max
(generic function).
max!
(generic function).
min
(generic function).
min!
(generic function).
mod
(generic function).
mod!
(generic function).
ones
(generic function).
ones!
(generic function).
parallel?
(generic function).
radians->degrees
(generic function).
radians->degrees!
(generic function).
round
(generic function).
round!
(generic function).
same-direction?
(generic function).
sign
(generic function).
sign!
(generic function).
sin
(generic function).
sin!
(generic function).
sqrt
(generic function).
sqrt!
(generic function).
tan
(generic function).
tan!
(generic function).
vec
(compiler macro).
vec
(function).
vec/from-vec
(function).
vec/random
(function).
vec/velocity
(function).
vec/zero
(compiler macro).
vec/zero
(function).
velocity!
(generic function).
w
(method).
(setf w)
(method).
x
(method).
x
(method).
x
(method).
(setf x)
(method).
(setf x)
(method).
(setf x)
(method).
y
(method).
y
(method).
y
(method).
(setf y)
(method).
(setf y)
(method).
(setf y)
(method).
z
(method).
z
(method).
(setf z)
(method).
(setf z)
(method).
gfxmath/matrix.lisp
vector.lisp
(file).
gfxmath
(system).
*
(method).
*
(method).
*
(method).
*
(method).
*
(method).
*
(method).
*!
(method).
*!
(method).
*!
(method).
*!
(method).
*!
(method).
*!
(method).
+m2-id+
(constant).
+m2-zero+
(constant).
+m3-id+
(constant).
+m3-zero+
(constant).
+m4-id+
(constant).
+m4-zero+
(constant).
anti-diagonal
(generic function).
anti-diagonal!
(generic function).
default
(method).
default
(method).
default
(method).
determinant
(generic function).
diagonal?
(generic function).
get-axis
(generic function).
get-axis!
(generic function).
get-column
(generic function).
get-column!
(generic function).
get-rotation
(generic function).
get-rotation!
(generic function).
get-row
(generic function).
get-row!
(generic function).
get-scale
(generic function).
get-scale!
(generic function).
get-translation
(generic function).
get-translation!
(generic function).
id
(method).
id
(method).
id
(method).
id!
(method).
id!
(method).
id!
(method).
id?
(method).
id?
(method).
id?
(method).
invert
(method).
invert
(method).
invert!
(method).
invert!
(method).
look-at
(generic function).
look-at!
(generic function).
main-diagonal
(generic function).
main-diagonal!
(generic function).
mat
(compiler macro).
mat
(function).
mat/from-mat
(compiler macro).
mat/from-mat
(function).
mat/from-vecs
(compiler macro).
mat/from-vecs
(function).
mat/id
(compiler macro).
mat/id
(function).
mat/random
(function).
mat/rotation
(compiler macro).
mat/rotation
(function).
normalize-rotation
(generic function).
normalize-rotation!
(generic function).
ortho
(generic function).
ortho!
(generic function).
orthogonal?
(generic function).
orthonormalize
(generic function).
orthonormalize!
(generic function).
perspective
(generic function).
perspective!
(generic function).
rotate
(method).
rotate
(method).
rotate
(method).
rotate!
(method).
rotate!
(method).
rotate!
(method).
rotation/x!
(generic function).
rotation/y!
(generic function).
rotation/z!
(generic function).
scale
(generic function).
scale!
(generic function).
set-axis
(generic function).
set-axis!
(method).
set-axis!
(method).
set-axis!
(method).
set-axis!
(method).
set-axis!
(method).
set-axis!
(method).
set-axis!
(method).
set-column
(generic function).
set-column!
(generic function).
set-diagonal
(generic function).
set-diagonal!
(generic function).
set-scale
(generic function).
set-scale!
(generic function).
set-translation
(generic function).
set-translation!
(generic function).
trace
(generic function).
translate
(generic function).
translate!
(method).
translate!
(method).
transpose
(generic function).
transpose!
(generic function).
%get-column
(function).
%get-row
(function).
%invert/generic-4x4
(function).
%mat/from-vecs
(function).
%matrix*
(macro).
%set-column
(function).
gfxmath/quaternion.lisp
matrix.lisp
(file).
gfxmath
(system).
*
(method).
*!
(method).
+q-id+
(constant).
conjugate
(generic function).
conjugate!
(generic function).
default
(method).
from-axis-angle!
(generic function).
from-matrix
(generic function).
from-matrix!
(generic function).
from-velocity!
(generic function).
id
(method).
id!
(method).
id?
(method).
interpolate
(method).
interpolate!
(method).
inverse
(generic function).
inverse!
(generic function).
orient!
(generic function).
quat
(function).
quat/from-axis-angle
(function).
quat/from-mat
(function).
quat/from-velocity
(function).
quat/id
(function).
quat/oriented
(function).
rotate
(method).
rotate
(method).
rotate!
(method).
rotate!
(method).
slerp
(generic function).
slerp!
(generic function).
to-euler-angles
(generic function).
to-euler-angles!
(generic function).
to-matrix3
(generic function).
to-matrix3!
(generic function).
to-matrix4
(generic function).
to-matrix4!
(generic function).
w
(method).
(setf w)
(method).
x
(method).
(setf x)
(method).
y
(method).
(setf y)
(method).
z
(method).
(setf z)
(method).
%quaternion-to-matrix
(function).
Packages are listed by definition order.
gfxmath
common-lisp
.
*
(generic function).
*!
(generic function).
+
(generic function).
+!
(generic function).
+m2-id+
(constant).
+m2-zero+
(constant).
+m3-id+
(constant).
+m3-zero+
(constant).
+m4-id+
(constant).
+m4-zero+
(constant).
+q-id+
(constant).
+v2+x+
(constant).
+v2+y+
(constant).
+v2-ones+
(constant).
+v2-x+
(constant).
+v2-y+
(constant).
+v2-zero+
(constant).
+v3+x+
(constant).
+v3+y+
(constant).
+v3+z+
(constant).
+v3-ones+
(constant).
+v3-x+
(constant).
+v3-y+
(constant).
+v3-z+
(constant).
+v3-zero+
(constant).
+v4+w+
(constant).
+v4+x+
(constant).
+v4+y+
(constant).
+v4+z+
(constant).
+v4-ones+
(constant).
+v4-w+
(constant).
+v4-x+
(constant).
+v4-y+
(constant).
+v4-z+
(constant).
+v4-zero+
(constant).
-
(generic function).
-!
(generic function).
/
(generic function).
/!
(generic function).
<
(generic function).
<=
(generic function).
=
(generic function).
>
(generic function).
>=
(generic function).
abs
(generic function).
abs!
(generic function).
acos
(generic function).
acos!
(generic function).
angle
(generic function).
anti-diagonal
(generic function).
anti-diagonal!
(generic function).
asin
(generic function).
asin!
(generic function).
atan
(generic function).
atan!
(generic function).
ceiling
(generic function).
ceiling!
(generic function).
clamp
(generic function).
clamp!
(generic function).
conjugate
(generic function).
conjugate!
(generic function).
copy
(generic function).
copy!
(generic function).
cos
(generic function).
cos!
(generic function).
cross
(generic function).
cross!
(generic function).
default
(generic function).
degrees->radians
(generic function).
degrees->radians!
(generic function).
determinant
(generic function).
diagonal?
(generic function).
dot
(generic function).
expt
(generic function).
expt!
(generic function).
floor
(generic function).
floor!
(generic function).
fract
(generic function).
fract!
(generic function).
from-axis-angle!
(generic function).
from-matrix
(generic function).
from-matrix!
(generic function).
from-velocity!
(generic function).
get-axis
(generic function).
get-axis!
(generic function).
get-column
(generic function).
get-column!
(generic function).
get-rotation
(generic function).
get-rotation!
(generic function).
get-row
(generic function).
get-row!
(generic function).
get-scale
(generic function).
get-scale!
(generic function).
get-translation
(generic function).
get-translation!
(generic function).
id
(generic function).
id!
(generic function).
id?
(generic function).
interpolate
(generic function).
interpolate!
(generic function).
inverse
(generic function).
inverse!
(generic function).
invert
(generic function).
invert!
(generic function).
lerp
(generic function).
lerp!
(generic function).
look-at
(generic function).
look-at!
(generic function).
magnitude
(generic function).
magnitude-squared
(generic function).
main-diagonal
(generic function).
main-diagonal!
(generic function).
mat
(compiler macro).
mat
(function).
mat/from-mat
(compiler macro).
mat/from-mat
(function).
mat/from-vecs
(compiler macro).
mat/from-vecs
(function).
mat/id
(compiler macro).
mat/id
(function).
mat/random
(function).
mat/rotation
(compiler macro).
mat/rotation
(function).
math-object
(class).
matrix
(class).
matrix2
(class).
matrix3
(class).
matrix4
(class).
max
(generic function).
max!
(generic function).
min
(generic function).
min!
(generic function).
mod
(generic function).
mod!
(generic function).
mref
(function).
(setf mref)
(function).
negate
(generic function).
negate!
(generic function).
normalize
(generic function).
normalize!
(generic function).
normalize-rotation
(generic function).
normalize-rotation!
(generic function).
ones
(generic function).
ones!
(generic function).
orient!
(generic function).
ortho
(generic function).
ortho!
(generic function).
orthogonal?
(generic function).
orthonormalize
(generic function).
orthonormalize!
(generic function).
parallel?
(generic function).
perspective
(generic function).
perspective!
(generic function).
quat
(function).
quat/from-axis-angle
(function).
quat/from-mat
(function).
quat/from-velocity
(function).
quat/id
(function).
quat/oriented
(function).
quaternion
(class).
radians->degrees
(generic function).
radians->degrees!
(generic function).
random!
(generic function).
ref
(function).
(setf ref)
(function).
rotate
(generic function).
rotate!
(generic function).
rotation/x!
(generic function).
rotation/y!
(generic function).
rotation/z!
(generic function).
round
(generic function).
round!
(generic function).
same-direction?
(generic function).
scale
(generic function).
scale!
(generic function).
set-axis
(generic function).
set-axis!
(generic function).
set-column
(generic function).
set-column!
(generic function).
set-diagonal
(generic function).
set-diagonal!
(generic function).
set-scale
(generic function).
set-scale!
(generic function).
set-translation
(generic function).
set-translation!
(generic function).
sign
(generic function).
sign!
(generic function).
sin
(generic function).
sin!
(generic function).
slerp
(generic function).
slerp!
(generic function).
sqrt
(generic function).
sqrt!
(generic function).
tan
(generic function).
tan!
(generic function).
to-array
(generic function).
to-array!
(generic function).
to-euler-angles
(generic function).
to-euler-angles!
(generic function).
to-matrix3
(generic function).
to-matrix3!
(generic function).
to-matrix4
(generic function).
to-matrix4!
(generic function).
trace
(generic function).
translate
(generic function).
translate!
(generic function).
transpose
(generic function).
transpose!
(generic function).
vec
(compiler macro).
vec
(function).
vec/from-vec
(function).
vec/random
(function).
vec/velocity
(function).
vec/zero
(compiler macro).
vec/zero
(function).
vector
(class).
vector2
(class).
vector3
(class).
vector4
(class).
velocity!
(generic function).
w
(generic function).
(setf w)
(generic function).
with-matrix
(macro).
with-quaternion
(macro).
with-vector
(macro).
x
(generic function).
(setf x)
(generic function).
y
(generic function).
(setf y)
(generic function).
z
(generic function).
(setf z)
(generic function).
zero
(generic function).
zero!
(generic function).
zero?
(generic function).
%axis->index
(function).
%filter-types
(function).
%generate-accessors
(macro).
%generate-bindings/1d
(function).
%generate-bindings/2d
(function).
%generate-type
(macro).
%get-column
(function).
%get-row
(function).
%index->axis
(function).
%invert/generic-4x4
(function).
%make-random
(function).
%mat/from-vecs
(function).
%matrix*
(macro).
%parse-extended-class-specializers
(function).
%parse-extended-eql-specializers
(function).
%parse-extended-specializers
(function).
%parse-keyword-parameters
(function).
%parse-optional-parameters
(function).
%parse-parameters
(function).
%parse-required-parameters
(function).
%parse-rest-parameter
(function).
%parse-specialized-specs
(function).
%print-object/columnar
(function).
%print-object/horizontal
(function).
%process-documentation
(function).
%quaternion-to-matrix
(function).
%set-column
(function).
%with-columns
(macro).
%with-components
(macro).
%with-each
(macro).
%with-each/2d
(macro).
%with-each/parallel
(macro).
%with-rows
(macro).
*axis-length->vector*
(special variable).
*columns->vector*
(special variable).
*descriptions*
(special variable).
*matrix->rotation*
(special variable).
*rows->vector*
(special variable).
*types*
(special variable).
column-count
(generic reader).
components
(generic reader).
(setf components)
(generic writer).
components/single
(generic reader).
(setf components/single)
(generic writer).
define-op
(macro).
doc
(macro).
row-count
(generic reader).
~=
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A 2x2 identity matrix.
A 2x2 matrix with each component set to 0.
A 3x3 identity matrix.
A 3x3 matrix with each component set to 0.
A 4x4 identity matrix.
A 4x4 matrix with each component set to 0.
An identity quaternion.
A 2-dimensional vector representing a direction along the positive X axis.
A 2-dimensional vector representing a direction along the positive Y axis.
A 2-dimensional vector with each component set to 1.
A 2-dimensional vector representing a direction along the negative X axis.
A 2-dimensional vector representing a direction along the negative Y axis.
A 2-dimensional zero vector.
A 3-dimensional vector representing a direction along the positive X axis.
A 3-dimensional vector representing a direction along the positive Y axis.
A 3-dimensional vector representing a direction along the positive Z axis.
A 3-dimensional vector with each component set to 1.
A 3-dimensional vector representing a direction along the negative X axis.
A 3-dimensional vector representing a direction along the negative Y axis.
A 3-dimensional vector representing a direction along the negative Z axis.
A 3-dimensional zero vector.
A 4-dimensional vector representing a direction along the positive W axis.
A 4-dimensional vector representing a direction along the positive X axis.
A 4-dimensional vector representing a direction along the positive Y axis.
A 4-dimensional vector representing a direction along the positive Z axis.
A 4-dimensional vector with each component set to 1.
A 4-dimensional vector representing a direction along the negative W axis.
A 4-dimensional vector representing a direction along the negative X axis.
A 4-dimensional vector representing a direction along the negative Y axis.
A 4-dimensional vector representing a direction along the negative Z axis.
A 4-dimensional zero vector.
Lexically bind each component of the given matrices by prepending PREFIX to the to the row and ~
column indices. SPECS is a list of specifications, with each being of the form ~
(SIZE PREFIX OBJECT) where:
SIZE is the dimensionality of the matrix: 2, 3, or 4.
PREFIX is a symbol to prefix each row and column with: For example, ‘M‘ will produce a binding ~
named ‘M12‘ for the component located at row 1 and column 2 of the matrix.
OBJECT is the name of a variable bound to a matrix of the given SIZE.
If :READ-ONLY is nil, each binding is SETF-able.
Lexically bind each component of the given quaternions by prepending PREFIX to the component ~ name. SPECS is a list of specifications, with each being of the form ~ (PREFIX OBJECT) where: ~
PREFIX is a symbol to prefix each component name with. For example, ‘Q‘ will produce a binding ~
named ‘QY‘ for the Y component of the quaternion.
OBJECT is the name of a variable bound to a quaternion.
If :READ-ONLY is nil, each binding is SETF-able.
Lexically bind each component of the given vectors by prepending PREFIX to the component name. ~
SPECS is a list of specifications, with each being of the form (SIZE PREFIX OBJECT) where:
SIZE is the dimensionality of the vector: 2, 3, or 4.
PREFIX is a symbol to prefix each component name with. For example, ‘V‘ will produce a binding ~
named ‘VY‘ for the Y component of the vector.
OBJECT is the name of a variable bound to a vector of the given SIZE.
If :READ-ONLY is nil, each binding is SETF-able.
Construct a matrix of the given SIZE, with each component set to 0.
Construct a matrix of the given SIZE, by copying the components of the given MATRIX of any size ~ into it. If MATRIX has fewer rows or columns than SIZE, any remaining components along that axis ~ are set to zero, unless that component falls along the main diagonal, in which case it is set to ~ 1. If MATRIX has more rows or columns than SIZE, any remaining components along that axis are ~ dropped.
Construct a matrix from the given VECTORS. The vectors are written into the columns of the ~ resulting matrix. The number of vectors given determines the number of rows and columns of the ~ resulting matrix.
Construct an identity matrix with a dimensionality equal to SIZE.
Construct a matrix of the given SIZE with each component set to a random value bounded by MIN ~ and MAX.
Construct a rotation matrix of the given SIZE that represents a rotation of ANGLE radians ~ around the given AXIS. AXIS may be :Z when SIZE is 2, or :X, :Y, or :Z when SIZE is 3 or 4.
Get a component of a math object by row and column indices.
Set a component of a math object by row and column indices.
Construct a quaternion with its components set to the corresponding argument.
Construct a quaternion from the ANGLE in radians around the axis denoted by the 3-dimensional ~ vector AXIS.
Construct a quaternion from the given matrix. MATRIX may be either a 3x3 or 4x4 matrix.
Construct a unit quaternion representing an angular velocity rotation in DELTA units of time, ~ from the 3-dimensional vector VELOCITY, a vector with its magnitude representing a radians per ~ second rotation around its axis.
Construct an identity quaternion.
Construct a quaternion representing a series of rotations around the axes and angles given. ~ AXES/ANGLES are pairs of axes and angles, with an axis being either one of the symbols :X, :Y, or ~ :Z, or a 3-dimensional vector representing an arbitrary axis, and angle being any real number ~ representing the angle in radians around its paired axis.
Get a component of a math object at the given column-major index.
Set a component of a math object at the given column-major index.
Construct a zero vector of the given size.
quaternion
) (object2 quaternion
)) ¶Multiply the quaternion OBJECT1 by the quaternion OBJECT2, storing the result in a new quaternion.
matrix4
) (object2 vector4
)) ¶Multiply the 4x4 matrix OBJECT1 by the 4-dimensional vector OBJECT2, storing the result in a new 4-dimensional vector.
matrix3
) (object2 vector3
)) ¶Multiply the 3x3 matrix OBJECT1 by the 3-dimensional vector OBJECT2, storing the result in a new 3-dimensional vector.
matrix2
) (object2 vector2
)) ¶Multiply the 2x2 matrix OBJECT1 by the 2-dimensional vector OBJECT2, storing the result in a new 2-dimensional vector.
matrix4
) (object2 matrix4
)) ¶Multiply the 4x4 matrix OBJECT1 by the 4x4 matrix OBJECT2, storing the result in a new 4x4 matrix.
matrix3
) (object2 matrix3
)) ¶Multiply the 3x3 matrix OBJECT1 by the 3x3 matrix OBJECT2, storing the result in a new 3x3 matrix.
matrix2
) (object2 matrix2
)) ¶Multiply the 2x2 matrix OBJECT1 by the 2x2 matrix OBJECT2, storing the result in a new 2x2 matrix.
vector4
) (object2 vector4
)) ¶Perform component-wise multiplication by multiplying each component of the 4-dimensional vector OBJECT1 by the corresponding component of the 4-dimensional vector OBJECT2, storing the result in a new 4-dimensional vector.
vector3
) (object2 vector3
)) ¶Perform component-wise multiplication by multiplying each component of the 3-dimensional vector OBJECT1 by the corresponding component of the 3-dimensional vector OBJECT2, storing the result in a new 3-dimensional vector.
vector2
) (object2 vector2
)) ¶Perform component-wise multiplication by multiplying each component of the 2-dimensional vector OBJECT1 by the corresponding component of the 2-dimensional vector OBJECT2, storing the result in a new 2-dimensional vector.
quaternion
) (object2 real
)) ¶Perform scalar multiplication by multiplying each component of the quaternion OBJECT1 by the scalar OBJECT2, storing the result in a new quaternion.
vector4
) (object2 real
)) ¶Perform scalar multiplication by multiplying each component of the 4-dimensional vector OBJECT1 by the scalar OBJECT2, storing the result in a new 4-dimensional vector.
quaternion
) (object2 quaternion
) (out quaternion
)) ¶Multiply the quaternion OBJECT1 by the quaternion OBJECT2, storing the result in the quaternion OUT.
matrix4
) (object2 vector4
) (out vector4
)) ¶Multiply the 4x4 matrix OBJECT1 by the 4-dimensional vector OBJECT2, storing the result in the 4-dimensional vector OUT.
matrix3
) (object2 vector3
) (out vector3
)) ¶Multiply the 3x3 matrix OBJECT1 by the 3-dimensional vector OBJECT2, storing the result in the 3-dimensional vector OUT.
matrix2
) (object2 vector2
) (out vector2
)) ¶Multiply the 2x2 matrix OBJECT1 by the 2-dimensional vector OBJECT2, storing the result in the 2-dimensional vector OUT.
matrix4
) (object2 matrix4
) (out matrix4
)) ¶Multiply the 4x4 matrix OBJECT1 by the 4x4 matrix OBJECT2, storing the result in the 4x4 matrix OUT.
matrix3
) (object2 matrix3
) (out matrix3
)) ¶Multiply the 3x3 matrix OBJECT1 by the 3x3 matrix OBJECT2, storing the result in the 3x3 matrix OUT.
matrix2
) (object2 matrix2
) (out matrix2
)) ¶Multiply the 2x2 matrix OBJECT1 by the 2x2 matrix OBJECT2, storing the result in the 2x2 matrix OUT.
vector4
) (object2 vector4
) (out vector4
)) ¶Perform component-wise multiplication by multiplying each component of the 4-dimensional vector OBJECT1 by the corresponding component of the 4-dimensional vector OBJECT2, storing the result in the 4-dimensional vector OUT.
vector3
) (object2 vector3
) (out vector3
)) ¶Perform component-wise multiplication by multiplying each component of the 3-dimensional vector OBJECT1 by the corresponding component of the 3-dimensional vector OBJECT2, storing the result in the 3-dimensional vector OUT.
vector2
) (object2 vector2
) (out vector2
)) ¶Perform component-wise multiplication by multiplying each component of the 2-dimensional vector OBJECT1 by the corresponding component of the 2-dimensional vector OBJECT2, storing the result in the 2-dimensional vector OUT.
quaternion
) (object2 real
) (out quaternion
)) ¶Perform scalar multiplication by multiplying each component of the quaternion OBJECT1 by the scalar OBJECT2, storing the result in the quaternion OUT.
vector4
) (object2 real
) (out vector4
)) ¶Perform scalar multiplication by multiplying each component of the 4-dimensional vector OBJECT1 by the scalar OBJECT2, storing the result in the 4-dimensional vector OUT.
vector2
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 2-dimensional vector OBJECT1, storing the result in a new 2-dimensional vector.
vector3
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 3-dimensional vector OBJECT1, storing the result in a new 3-dimensional vector.
vector4
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 4-dimensional vector OBJECT1, storing the result in a new 4-dimensional vector.
matrix2
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 2x2 matrix OBJECT1, storing the result in a new 2x2 matrix.
matrix3
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 3x3 matrix OBJECT1, storing the result in a new 3x3 matrix.
matrix4
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 4x4 matrix OBJECT1, storing the result in a new 4x4 matrix.
quaternion
) (object2 real
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the quaternion OBJECT1, storing the result in a new quaternion.
vector2
) (object2 vector2
)) ¶Perform component-wise addition by adding each component of the 2-dimensional vector OBJECT1 to te corresponding component of the 2-dimensional vector OBJECT2, storing the result in a new 2-dimensional vector.
vector3
) (object2 vector3
)) ¶Perform component-wise addition by adding each component of the 3-dimensional vector OBJECT1 to te corresponding component of the 3-dimensional vector OBJECT2, storing the result in a new 3-dimensional vector.
vector4
) (object2 vector4
)) ¶Perform component-wise addition by adding each component of the 4-dimensional vector OBJECT1 to te corresponding component of the 4-dimensional vector OBJECT2, storing the result in a new 4-dimensional vector.
matrix2
) (object2 matrix2
)) ¶Perform component-wise addition by adding each component of the 2x2 matrix OBJECT1 to te corresponding component of the 2x2 matrix OBJECT2, storing the result in a new 2x2 matrix.
matrix3
) (object2 matrix3
)) ¶Perform component-wise addition by adding each component of the 3x3 matrix OBJECT1 to te corresponding component of the 3x3 matrix OBJECT2, storing the result in a new 3x3 matrix.
matrix4
) (object2 matrix4
)) ¶Perform component-wise addition by adding each component of the 4x4 matrix OBJECT1 to te corresponding component of the 4x4 matrix OBJECT2, storing the result in a new 4x4 matrix.
quaternion
) (object2 quaternion
)) ¶Perform component-wise addition by adding each component of the quaternion OBJECT1 to te corresponding component of the quaternion OBJECT2, storing the result in a new quaternion.
vector2
) (object2 real
) (out vector2
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 2-dimensional vector OBJECT1, storing the result in the 2-dimensional vector OUT.
vector3
) (object2 real
) (out vector3
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 3-dimensional vector OBJECT1, storing the result in the 3-dimensional vector OUT.
vector4
) (object2 real
) (out vector4
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 4-dimensional vector OBJECT1, storing the result in the 4-dimensional vector OUT.
matrix2
) (object2 real
) (out matrix2
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 2x2 matrix OBJECT1, storing the result in the 2x2 matrix OUT.
matrix3
) (object2 real
) (out matrix3
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 3x3 matrix OBJECT1, storing the result in the 3x3 matrix OUT.
matrix4
) (object2 real
) (out matrix4
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the 4x4 matrix OBJECT1, storing the result in the 4x4 matrix OUT.
quaternion
) (object2 real
) (out quaternion
)) ¶Perform scalar addition by adding the scalar OBJECT2 to each component of the quaternion OBJECT1, storing the result in the quaternion OUT.
vector2
) (object2 vector2
) (out vector2
)) ¶Perform component-wise addition by adding each component of the 2-dimensional vector OBJECT1 to the corresponding component of the 2-dimensional vector OBJECT2, storing the result in the 2-dimensional vector OUT.
vector3
) (object2 vector3
) (out vector3
)) ¶Perform component-wise addition by adding each component of the 3-dimensional vector OBJECT1 to the corresponding component of the 3-dimensional vector OBJECT2, storing the result in the 3-dimensional vector OUT.
vector4
) (object2 vector4
) (out vector4
)) ¶Perform component-wise addition by adding each component of the 4-dimensional vector OBJECT1 to the corresponding component of the 4-dimensional vector OBJECT2, storing the result in the 4-dimensional vector OUT.
matrix2
) (object2 matrix2
) (out matrix2
)) ¶Perform component-wise addition by adding each component of the 2x2 matrix OBJECT1 to the corresponding component of the 2x2 matrix OBJECT2, storing the result in the 2x2 matrix OUT.
matrix3
) (object2 matrix3
) (out matrix3
)) ¶Perform component-wise addition by adding each component of the 3x3 matrix OBJECT1 to the corresponding component of the 3x3 matrix OBJECT2, storing the result in the 3x3 matrix OUT.
matrix4
) (object2 matrix4
) (out matrix4
)) ¶Perform component-wise addition by adding each component of the 4x4 matrix OBJECT1 to the corresponding component of the 4x4 matrix OBJECT2, storing the result in the 4x4 matrix OUT.
quaternion
) (object2 quaternion
) (out quaternion
)) ¶Perform component-wise addition by adding each component of the quaternion OBJECT1 to the corresponding component of the quaternion OBJECT2, storing the result in the quaternion OUT.
vector2
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 2-dimensional vector OBJECT1, storing the result in a new 2-dimensional vector.
vector3
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 3-dimensional vector OBJECT1, storing the result in a new 3-dimensional vector.
vector4
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 4-dimensional vector OBJECT1, storing the result in a new 4-dimensional vector.
matrix2
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 2x2 matrix OBJECT1, storing the result in a new 2x2 matrix.
matrix3
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 3x3 matrix OBJECT1, storing the result in a new 3x3 matrix.
matrix4
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 4x4 matrix OBJECT1, storing the result in a new 4x4 matrix.
quaternion
) (object2 real
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the quaternion OBJECT1, storing the result in a new quaternion.
vector2
) (object2 vector2
)) ¶Perform component-wise subtraction by subtracting each component of the 2-dimensional vector OBJECT2 from the corresponding component of the 2-dimensional vector OBJECT1, storing the result in a new 2-dimensional vector.
vector3
) (object2 vector3
)) ¶Perform component-wise subtraction by subtracting each component of the 3-dimensional vector OBJECT2 from the corresponding component of the 3-dimensional vector OBJECT1, storing the result in a new 3-dimensional vector.
vector4
) (object2 vector4
)) ¶Perform component-wise subtraction by subtracting each component of the 4-dimensional vector OBJECT2 from the corresponding component of the 4-dimensional vector OBJECT1, storing the result in a new 4-dimensional vector.
matrix2
) (object2 matrix2
)) ¶Perform component-wise subtraction by subtracting each component of the 2x2 matrix OBJECT2 from the corresponding component of the 2x2 matrix OBJECT1, storing the result in a new 2x2 matrix.
matrix3
) (object2 matrix3
)) ¶Perform component-wise subtraction by subtracting each component of the 3x3 matrix OBJECT2 from the corresponding component of the 3x3 matrix OBJECT1, storing the result in a new 3x3 matrix.
matrix4
) (object2 matrix4
)) ¶Perform component-wise subtraction by subtracting each component of the 4x4 matrix OBJECT2 from the corresponding component of the 4x4 matrix OBJECT1, storing the result in a new 4x4 matrix.
quaternion
) (object2 quaternion
)) ¶Perform component-wise subtraction by subtracting each component of the quaternion OBJECT2 from the corresponding component of the quaternion OBJECT1, storing the result in a new quaternion.
vector2
) (object2 real
) (out vector2
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 2-dimensional vector OBJECT1, storing the result in the 2-dimensional vector OUT.
vector3
) (object2 real
) (out vector3
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 3-dimensional vector OBJECT1, storing the result in the 3-dimensional vector OUT.
vector4
) (object2 real
) (out vector4
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 4-dimensional vector OBJECT1, storing the result in the 4-dimensional vector OUT.
matrix2
) (object2 real
) (out matrix2
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 2x2 matrix OBJECT1, storing the result in the 2x2 matrix OUT.
matrix3
) (object2 real
) (out matrix3
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 3x3 matrix OBJECT1, storing the result in the 3x3 matrix OUT.
matrix4
) (object2 real
) (out matrix4
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the 4x4 matrix OBJECT1, storing the result in the 4x4 matrix OUT.
quaternion
) (object2 real
) (out quaternion
)) ¶Perform scalar subtraction by subtracting the scalar OBJECT2 from each component of the quaternion OBJECT1, storing the result in the quaternion OUT.
vector2
) (object2 vector2
) (out vector2
)) ¶Perform component-wise subtraction by subtracting each component of the 2-dimensional vector OBJECT2 from the corresponding component of the 2-dimensional vector OBJECT1, storing the result in the 2-dimensional vector OUT.
vector3
) (object2 vector3
) (out vector3
)) ¶Perform component-wise subtraction by subtracting each component of the 3-dimensional vector OBJECT2 from the corresponding component of the 3-dimensional vector OBJECT1, storing the result in the 3-dimensional vector OUT.
vector4
) (object2 vector4
) (out vector4
)) ¶Perform component-wise subtraction by subtracting each component of the 4-dimensional vector OBJECT2 from the corresponding component of the 4-dimensional vector OBJECT1, storing the result in the 4-dimensional vector OUT.
matrix2
) (object2 matrix2
) (out matrix2
)) ¶Perform component-wise subtraction by subtracting each component of the 2x2 matrix OBJECT2 from the corresponding component of the 2x2 matrix OBJECT1, storing the result in the 2x2 matrix OUT.
matrix3
) (object2 matrix3
) (out matrix3
)) ¶Perform component-wise subtraction by subtracting each component of the 3x3 matrix OBJECT2 from the corresponding component of the 3x3 matrix OBJECT1, storing the result in the 3x3 matrix OUT.
matrix4
) (object2 matrix4
) (out matrix4
)) ¶Perform component-wise subtraction by subtracting each component of the 4x4 matrix OBJECT2 from the corresponding component of the 4x4 matrix OBJECT1, storing the result in the 4x4 matrix OUT.
quaternion
) (object2 quaternion
) (out quaternion
)) ¶Perform component-wise subtraction by subtracting each component of the quaternion OBJECT2 from the corresponding component of the quaternion OBJECT1, storing the result in the quaternion OUT.
vector4
) (object2 vector4
)) ¶Perform component-wise division by dividing each component of the 4-dimensional vector OBJECT1 by the corresponding component of the 4-dimensional vector OBJECT2, storing the result in a new 4-dimensional vector.
vector3
) (object2 vector3
)) ¶Perform component-wise division by dividing each component of the 3-dimensional vector OBJECT1 by the corresponding component of the 3-dimensional vector OBJECT2, storing the result in a new 3-dimensional vector.
vector2
) (object2 vector2
)) ¶Perform component-wise division by dividing each component of the 2-dimensional vector OBJECT1 by the corresponding component of the 2-dimensional vector OBJECT2, storing the result in a new 2-dimensional vector.
quaternion
) (object2 real
)) ¶Perform scalar division by dividing each component of the quaternion OBJECT1 by the scalar OBJECT2, storing the result in a new quaternion.
vector4
) (object2 real
)) ¶Perform scalar division by dividing each component of the 4-dimensional vector OBJECT1 by the scalar OBJECT2, storing the result in a new 4-dimensional vector.
vector4
) (object2 vector4
) (out vector4
)) ¶Perform component-wise division by dividing each component of the 4-dimensional vector OBJECT1 by the corresponding component of the 4-dimensional vector OBJECT2, storing the result in the 4-dimensional vector OUT.
vector3
) (object2 vector3
) (out vector3
)) ¶Perform component-wise division by dividing each component of the 3-dimensional vector OBJECT1 by the corresponding component of the 3-dimensional vector OBJECT2, storing the result in the 3-dimensional vector OUT.
vector2
) (object2 vector2
) (out vector2
)) ¶Perform component-wise division by dividing each component of the 2-dimensional vector OBJECT1 by the corresponding component of the 2-dimensional vector OBJECT2, storing the result in the 2-dimensional vector OUT.
quaternion
) (object2 real
) (out quaternion
)) ¶Perform scalar division by dividing each component of the quaternion OBJECT1 by the scalar OBJECT2, storing the result in the quaternion OUT.
vector4
) (object2 real
) (out vector4
)) ¶Perform scalar division by dividing each component of the 4-dimensional vector OBJECT1 by the scalar OBJECT2, storing the result in the 4-dimensional vector OUT.
vector4
) (vector2 vector4
)) ¶Check if each component of the 4-dimensional vector VECTOR1 is less than the corresponding component of the 4-dimensional vector VECTOR2.
vector4
) (vector2 vector4
)) ¶Check if each component of the 4-dimensional vector VECTOR1 is less than or equal to the corresponding component of the 4-dimensional vector VECTOR2.
vector2
) (object2 vector2
) &key rel abs) ¶Check if all components of the given 2-dimensional vectors are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
vector3
) (object2 vector3
) &key rel abs) ¶Check if all components of the given 3-dimensional vectors are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
vector4
) (object2 vector4
) &key rel abs) ¶Check if all components of the given 4-dimensional vectors are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
matrix2
) (object2 matrix2
) &key rel abs) ¶Check if all components of the given 2x2 matrices are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
matrix3
) (object2 matrix3
) &key rel abs) ¶Check if all components of the given 3x3 matrices are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
matrix4
) (object2 matrix4
) &key rel abs) ¶Check if all components of the given 4x4 matrices are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
quaternion
) (object2 quaternion
) &key rel abs) ¶Check if all components of the given quaternions are equal. REL and ABS are the relative and absolute error tolerances used to determine equality.
vector4
) (vector2 vector4
)) ¶Check if each component of the 4-dimensional vector VECTOR1 is greater than the corresponding component of the 4-dimensional vector VECTOR2.
vector4
) (vector2 vector4
)) ¶Check if each component of the 4-dimensional vector VECTOR1 is greater than or equal to the corresponding component of the 4-dimensional vector VECTOR2.
vector4
)) ¶Compute the absolute value of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the absolute value of each component of the 4-dimensional vector VECTOR, storing the result in a the 4-dimensional vector OUT.
vector4
)) ¶Compute the trigonometric arccosine of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric arccosine of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
matrix4
) (out vector4
)) ¶Compute the anti-diagonal of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Compute the trigonometric arcsine of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric arcsine of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Compute the trigonometric arctangent of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric arctangent of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Take the ceiling of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Take the ceiling of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
matrix4
) (min real
) (max real
)) ¶Clamp each component of the 4x4 matrix OBJECT to be within the range bounded by the corresponding components of the 4x4 matrices MIN and MAX, storing the result in a new 4x4 matrix.
matrix3
) (min real
) (max real
)) ¶Clamp each component of the 3x3 matrix OBJECT to be within the range bounded by the corresponding components of the 3x3 matrices MIN and MAX, storing the result in a new 3x3 matrix.
matrix2
) (min real
) (max real
)) ¶Clamp each component of the 2x2 matrix OBJECT to be within the range bounded by the corresponding components of the 2x2 matrices MIN and MAX, storing the result in a new 2x2 matrix.
vector4
) (min real
) (max real
)) ¶Clamp each component of the 4-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 4-dimensional vectors MIN and MAX, storing the result in a new 4-dimensional vector.
vector3
) (min real
) (max real
)) ¶Clamp each component of the 3-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 3-dimensional vectors MIN and MAX, storing the result in a new 3-dimensional vector.
vector2
) (min real
) (max real
)) ¶Clamp each component of the 2-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 2-dimensional vectors MIN and MAX, storing the result in a new 2-dimensional vector.
matrix4
) (min matrix4
) (max matrix4
)) ¶Clamp each component of the 4x4 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in a new 4x4 matrix.
matrix3
) (min matrix3
) (max matrix3
)) ¶Clamp each component of the 3x3 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in a new 3x3 matrix.
matrix2
) (min matrix2
) (max matrix2
)) ¶Clamp each component of the 2x2 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in a new 2x2 matrix.
vector4
) (min vector4
) (max vector4
)) ¶Clamp each component of the 4-dimensional vector OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in a new 4-dimensional vector.
matrix4
) (min real
) (max real
) (out matrix4
)) ¶Clamp each component of the 4x4 matrix OBJECT to be within the range bounded by the corresponding components of the 4x4 matrices MIN and MAX, storing the result in the 4x4 matrix OUT.
matrix3
) (min real
) (max real
) (out matrix3
)) ¶Clamp each component of the 3x3 matrix OBJECT to be within the range bounded by the corresponding components of the 3x3 matrices MIN and MAX, storing the result in the 3x3 matrix OUT.
matrix2
) (min real
) (max real
) (out matrix2
)) ¶Clamp each component of the 2x2 matrix OBJECT to be within the range bounded by the corresponding components of the 2x2 matrices MIN and MAX, storing the result in the 2x2 matrix OUT.
vector4
) (min real
) (max real
) (out vector4
)) ¶Clamp each component of the 4-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 4-dimensional vectors MIN and MAX, storing the result in the 4-dimensional vector OUT.
vector3
) (min real
) (max real
) (out vector3
)) ¶Clamp each component of the 3-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 3-dimensional vectors MIN and MAX, storing the result in the 3-dimensional vector OUT.
vector2
) (min real
) (max real
) (out vector2
)) ¶Clamp each component of the 2-dimensional vector OBJECT to be within the range bounded by the corresponding components of the 2-dimensional vectors MIN and MAX, storing the result in the 2-dimensional vector OUT.
matrix4
) (min matrix4
) (max matrix4
) (out matrix4
)) ¶Clamp each component of the 4x4 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in the 4x4 matrix OUT.
matrix3
) (min matrix3
) (max matrix3
) (out matrix3
)) ¶Clamp each component of the 3x3 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in the 3x3 matrix OUT.
matrix2
) (min matrix2
) (max matrix2
) (out matrix2
)) ¶Clamp each component of the 2x2 matrix OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in the 2x2 matrix OUT.
vector4
) (min vector4
) (max vector4
) (out vector4
)) ¶Clamp each component of the 4-dimensional vector OBJECT to be within the range bounded by the scalars MIN and MAX, storing the result in the 4-dimensional vector OUT.
quaternion
)) ¶Compute the conjugate of the quaternion QUATERNION, storing the result in a new quaternion.
quaternion
) (out quaternion
)) ¶Compute the conjugate of the quaternion QUATERNION, storing the result in the quaternion.
quaternion
)) ¶Create a fresh copy of the quaternion OBJECT.
vector2
) (out vector2
)) ¶Copy the components of the 2-dimensional vector OBJECT into the 2-dimensional vector OUT.
vector3
) (out vector3
)) ¶Copy the components of the 3-dimensional vector OBJECT into the 3-dimensional vector OUT.
vector4
) (out vector4
)) ¶Copy the components of the 4-dimensional vector OBJECT into the 4-dimensional vector OUT.
matrix2
) (out matrix2
)) ¶Copy the components of the 2x2 matrix OBJECT into the 2x2 matrix OUT.
matrix3
) (out matrix3
)) ¶Copy the components of the 3x3 matrix OBJECT into the 3x3 matrix OUT.
matrix4
) (out matrix4
)) ¶Copy the components of the 4x4 matrix OBJECT into the 4x4 matrix OUT.
quaternion
) (out quaternion
)) ¶Copy the components of the quaternion OBJECT into the quaternion OUT.
vector4
)) ¶Compute the trigonometric cosine of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric cosine of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
quaternion
)) ¶Construct a default quaternion. Each math type has this method defined, and for quaternions this creates an identity quaternion.
matrix4
)) ¶Construct a default matrix of the same dimensions as OBJECT. Each math type has this method defined, and for matrices this creates an identity matrix.
matrix3
)) ¶Construct a default matrix of the same dimensions as OBJECT. Each math type has this method defined, and for matrices this creates an identity matrix.
matrix2
)) ¶Construct a default matrix of the same dimensions as OBJECT. Each math type has this method defined, and for matrices this creates an identity matrix.
vector4
)) ¶Construct a default vector of the same dimensions as OBJECT. Each math type has this method defined, and for vectors this creates a zero vector.
vector3
)) ¶Construct a default vector of the same dimensions as OBJECT. Each math type has this method defined, and for vectors this creates a zero vector.
vector4
)) ¶Convert each component of the 4-dimensional vector VECTOR, which are assumed to be in degrees, to radians, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Convert each component of the 4-dimensional vector VECTOR, which are assumed to be in degrees, to radians, storing the result in the 4-dimensional vector OUT.
quaternion
) (object2 quaternion
)) ¶Compute the dot product between the quaternion OBJECT1 and the quaternion OBJECT2, producing a scalar value.
vector4
) (object2 vector4
)) ¶Compute the dot product between the 4-dimensional vector OBJECT1 and the 4-dimensional vector OBJECT2, producing a scalar value.
vector4
) (power real
)) ¶Raise each component of the 4-dimensional vector VECTOR to the power of POWER, storing the result in a new 4-dimensional vector.
vector4
) (power real
) (out vector4
)) ¶Raise each component of the 4-dimensional vector VECTOR to the power of POWER, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Take the floor of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Take the floor of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Extract the fractional component of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
Note: This is computed as n - floor(n).
vector4
) (out vector4
)) ¶Extract the fractional component of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
Note: This is computed as n - floor(n).
vector3
) (angle real
) (out quaternion
)) ¶Modify the quaternion OUT to be oriented around the axis denoted by the 3-dimensional vector AXIS by ANGLE radians.
matrix4
) (out quaternion
)) ¶Convert the rotation of the 4x4 matrix MATRIX to a quaternion, storing the result in a new quaternion
matrix3
) (out quaternion
)) ¶Convert the rotation of the 3x3 matrix MATRIX to a quaternion, storing the result in a new quaternion
matrix4
) (out quaternion
)) ¶Convert the rotation of the 4x4 matrix MATRIX to a quaternion, storing the result in the quaternion OUT.
matrix3
) (out quaternion
)) ¶Convert the rotation of the 3x3 matrix MATRIX to a quaternion, storing the result in the quaternion OUT.
vector3
) (delta real
) (out quaternion
)) ¶Construct a unit quaternion representing an angular velocity rotation in DELTA units of time, from the 3-dimensional vector VELOCITY, a vector with its magnitude representing a radians per second rotation around its axis, storing the result in the quaternion OUT.
matrix4
) (axis (eql :z)
)) ¶Get the Z rotation axis of the 4x4 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix4
) (axis (eql :y)
)) ¶Get the Y rotation axis of the 4x4 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix4
) (axis (eql :x)
)) ¶Get the X rotation axis of the 4x4 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix3
) (axis (eql :y)
)) ¶Get the Y rotation axis of the 3x3 matrix MATRIX, storing the result in a new 2-dimensional vector.
matrix3
) (axis (eql :x)
)) ¶Get the X rotation axis of the 3x3 matrix MATRIX, storing the result in a new 2-dimensional vector.
matrix4
) (axis (eql :z)
) (out vector3
)) ¶Get the Z rotation axis of the 4x4 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix3
) (axis (eql :z)
) (out vector2
)) ¶Get the Z rotation axis of the 3x3 matrix MATRIX, storing the result in the 2-dimensional vector OUT.
matrix4
) (axis (eql :y)
) (out vector3
)) ¶Get the Y rotation axis of the 4x4 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix4
) (axis (eql :x)
) (out vector3
)) ¶Get the X rotation axis of the 4x4 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix3
) (axis (eql :y)
) (out vector2
)) ¶Get the Y rotation axis of the 3x3 matrix MATRIX, storing the result in the 2-dimensional vector OUT.
matrix3
) (axis (eql :x)
) (out vector2
)) ¶Get the X rotation axis of the 3x3 matrix MATRIX, storing the result in the 2-dimensional vector OUT.
matrix4
) (index (eql 3)
)) ¶Get the 3rd column of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
matrix4
) (index (eql 2)
)) ¶Get the 2nd column of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
matrix3
) (index (eql 2)
)) ¶Get the 2nd column of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix4
) (index (eql 1)
)) ¶Get the 1st column of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
matrix4
) (index (eql 0)
)) ¶Get the 0th column of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
matrix3
) (index (eql 1)
)) ¶Get the 1st column of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix3
) (index (eql 0)
)) ¶Get the 0th column of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
matrix4
) (index (eql 3)
) (out vector4
)) ¶Get the 3rd column of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
matrix4
) (index (eql 2)
) (out vector4
)) ¶Get the 2nd column of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
matrix3
) (index (eql 2)
) (out vector3
)) ¶Get the 2nd column of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix4
) (index (eql 1)
) (out vector4
)) ¶Get the 1st column of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
matrix4
) (index (eql 0)
) (out vector4
)) ¶Get the 0th column of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
matrix3
) (index (eql 1)
) (out vector3
)) ¶Get the 1st column of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix3
) (index (eql 0)
) (out vector3
)) ¶Get the 0th column of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
matrix4
) (index (eql 3)
)) ¶Get the 3rd row of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 2)
)) ¶Get the 2nd row of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 2)
)) ¶Get the 2nd row of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 1)
)) ¶Get the 1st row of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 0)
)) ¶Get the 0th row of the 4x4 matrix MATRIX, storing the result in a new 4-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 1)
)) ¶Get the 1st row of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 0)
)) ¶Get the 0th row of the 3x3 matrix MATRIX, storing the result in a new 3-dimensional vector.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 3)
) (out vector4
)) ¶Get the 3rd row of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 2)
) (out vector4
)) ¶Get the 2nd row of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 2)
) (out vector3
)) ¶Get the 2nd row of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 1)
) (out vector4
)) ¶Get the 1st row of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix4
) (index (eql 0)
) (out vector4
)) ¶Get the 0th row of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 1)
) (out vector3
)) ¶Get the 1st row of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
matrix3
) (index (eql 0)
) (out vector3
)) ¶Get the 0th row of the 3x3 matrix MATRIX, storing the result in the 3-dimensional vector OUT.
Note: The resulting vector does not change its shape; vectors are always column vectors.
quaternion
)) ¶Construct an identity quaternion.
matrix4
)) ¶Construct a new identity matrix of the same dimensions as OBJECT.
matrix3
)) ¶Construct a new identity matrix of the same dimensions as OBJECT.
quaternion
)) ¶Modify the quaternion OBJECT to be an identity quaternion.
quaternion
)) ¶Check whether the quaternion OBJECT is an identity quaternion.
quaternion
) (object2 quaternion
) (parameter real
)) ¶Perform a suitable interpolation between the quaternions OBJECT1 and OBJECT2, storing the result in a new quaternion. This is the same as LERP for vectors and SLERP for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector4
) (object2 vector4
) (parameter real
)) ¶Perform a suitable interpolation between the 4-dimensional vectors OBJECT1 and OBJECT2, storing the result in a new 4-dimensional vector. This is the same as LERP for vectors and SLERP for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector3
) (object2 vector3
) (parameter real
)) ¶Perform a suitable interpolation between the 3-dimensional vectors OBJECT1 and OBJECT2, storing the result in a new 3-dimensional vector. This is the same as LERP for vectors and SLERP for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector2
) (object2 vector2
) (parameter real
)) ¶Perform a suitable interpolation between the 2-dimensional vectors OBJECT1 and OBJECT2, storing the result in a new 2-dimensional vector. This is the same as LERP for vectors and SLERP for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
quaternion
) (object2 quaternion
) (parameter real
) (out quaternion
)) ¶Perform a suitable interpolation between the quaternions OBJECT1 and OBJECT2, storing the result in the quaternion OUT. This is the same as LERP! for vectors and SLERP! for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector4
) (object2 vector4
) (parameter real
) (out vector4
)) ¶Perform a suitable interpolation between the 4-dimensional vectors OBJECT1 and OBJECT2, storing the result in the 4-dimensional vector OUT. This is the same as LERP! for vectors and SLERP! for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector3
) (object2 vector3
) (parameter real
) (out vector3
)) ¶Perform a suitable interpolation between the 3-dimensional vectors OBJECT1 and OBJECT2, storing the result in the 3-dimensional vector OUT. This is the same as LERP! for vectors and SLERP! for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
vector2
) (object2 vector2
) (parameter real
) (out vector2
)) ¶Perform a suitable interpolation between the 2-dimensional vectors OBJECT1 and OBJECT2, storing the result in the 2-dimensional vector OUT. This is the same as LERP! for vectors and SLERP! for quaternions. It exists to conveniently dispatch to the appropriate interpolation method given the types of the objects.
quaternion
)) ¶Compute the inverse of the quaternion QUATERNION, storing the result in a new quaternion.
quaternion
) (out quaternion
)) ¶Compute the inverse of the quaternion QUATERNION, storing the result in the quaternion OUT.
matrix4
)) ¶Invert the 4x4 matrix OBJECT, storing the result in a new {MATRIX:DESC}.
matrix3
)) ¶Invert the 3x3 matrix OBJECT, storing the result in a new {MATRIX:DESC}.
vector4
)) ¶Invert each component of the 4-dimensional vector VECTOR (1/n), storing the result in a new 4-dimensional vector.
vector3
)) ¶Invert each component of the 3-dimensional vector VECTOR (1/n), storing the result in a new 3-dimensional vector.
matrix4
) (out matrix4
)) ¶Invert the 4x4 matrix OBJECT, storing the result in the 4x4 matrix OUT.
matrix3
) (out matrix3
)) ¶Invert the 3x3 matrix OBJECT, storing the result in the 3x3 matrix OUT.
vector4
) (out vector4
)) ¶Invert each component of the 4-dimensional vector VECTOR (1/n), storing the result in the 4-dimensional vector OUT.
vector3
) (out vector3
)) ¶Invert each component of the 3-dimensional vector VECTOR (1/n), storing the result in the 3-dimensional vector OUT.
vector4
) (vector2 vector4
) (parameter real
)) ¶Perform a linear interpolation between the 4-dimensional vectors VECTOR1 and VECTOR2 by the parameter PARAMETER, storing the result in a new 4-dimensional vector.
vector4
) (vector2 vector4
) (parameter real
) (out vector4
)) ¶Perform a linear interpolation between the 4-dimensional vectors VECTOR1 and VECTOR2 by the parameter PARAMETER, storing the result in the 4-dimensional vector OUT.
quaternion
)) ¶Compute the magnitude of the quaternion OBJECT, producing a scalar value.
vector4
)) ¶Compute the magnitude of the 4-dimensional vector OBJECT, producing a scalar value.
quaternion
)) ¶Compute the squared magnitude of the quaternion OBJECT, producing a scalar value.
vector4
)) ¶Compute the squared magnitude of the 4-dimensional vector OBJECT, producing a scalar value.
matrix4
) (out vector4
)) ¶Compute the main diagonal of the 4x4 matrix MATRIX, storing the result in the 4-dimensional vector OUT.
vector4
) (vector2 vector4
)) ¶Take the maximum value of each of the corresponding components of the {VECTOR:DESC}s VECTOR1 and VECTOR2, storing the result in a new 4-dimensional vector.
vector4
) (vector2 vector4
) (out vector4
)) ¶Take the maximum value of each of the corresponding components of the {VECTOR:DESC}s VECTOR1 and VECTOR2, storing the result in the 4-dimensional vector OUT.
vector4
) (vector2 vector4
)) ¶Take the minimum value of each of the corresponding components of the {VECTOR:DESC}s VECTOR1 and VECTOR2, storing the result in a new 4-dimensional vector.
vector4
) (vector2 vector4
) (out vector4
)) ¶Take the minimum value of each of the corresponding components of the {VECTOR:DESC}s VECTOR1 and VECTOR2, storing the result in the 4-dimensional vector OUT.
vector4
) (divisor real
)) ¶For each component of the 4-dimensional vector compute the modulo of DIVISOR, storing the result in a new 4-dimensional vector.
vector4
) (divisor real
) (out vector4
)) ¶For each component of the 4-dimensional vector compute the modulo of DIVISOR, storing the result in the 4-dimensional vector OUT.
quaternion
)) ¶Negate each component of the quaternion OBJECT, storing the result in a new quaternion.
vector4
)) ¶Negate each component of the 4-dimensional vector OBJECT, storing the result in a new 4-dimensional vector.
quaternion
) (out quaternion
)) ¶Negate each component of the quaternion OBJECT, storing the result in the quaternion OUT.
vector4
) (out vector4
)) ¶Negate each component of the 4-dimensional vector OBJECT, storing the result in the 4-dimensional vector OUT.
quaternion
)) ¶Normalize the quaternion OBJECT to be of unit length, storing the result in a new quaternion.
vector4
)) ¶Normalize the 4-dimensional vector OBJECT to be of unit length, storing the result in a new 4-dimensional vector.
quaternion
) (out quaternion
)) ¶Normalize the quaternion OBJECT to be of unit length, storing the result in the quaternion OUT.
vector4
) (out vector4
)) ¶Normalize the 4-dimensional vector OBJECT to be of unit length, storing the result in the 4-dimensional vector OUT.
matrix4
)) ¶Normalize each of the rotation axes of the 4x4 matrix MATRIX to be of unit length, storing the result in a new 4x4 matrix.
matrix4
) (out matrix4
)) ¶Normalize each of the rotation axes of the 4x4 matrix MATRIX to be of unit length, storing the result in the 4x4 matrix OUT.
quaternion
) &rest axes/angles) ¶Construct a quaternion representing a series of rotations around the axes and angles given, storing the result in the quaternion OUT. AXES/ANGLES are pairs of axes and angles, with an axis being either one of the symbols :X, :Y, or :Z, or a 3-dimensional vector representing an arbitrary axis, and angle being any real number representing the angle in radians around its paired axis.
real
) (right real
) (bottom real
) (top real
) (near real
) (far real
)) ¶Construct an orthographic projection matrix, storing the result in a new 4x4 matrix.
vector4
) (vector2 vector4
)) ¶Check whether the 4-dimensional vectors VECTOR1 and VECTOR2 are parallel to each other.
real
) (aspect real
) (near real
) (far real
)) ¶Construct a perspective projection matrix, storing the result in a new 4x4 matrix.
vector4
)) ¶Convert each component of the 4-dimensional vector VECTOR, which are assumed to be in radians, to to degrees, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Convert each component of the 4-dimensional vector VECTOR, which are assumed to be in radians, to to degrees, storing the result in the 4-dimensional vector OUT.
matrix4
) &key min max) ¶Set each component of the 4x4 matrix OBJECT to a random value bounded by the scalars MIN and MAX, storing the result back into OBJECT.
matrix3
) &key min max) ¶Set each component of the 3x3 matrix OBJECT to a random value bounded by the scalars MIN and MAX, storing the result back into OBJECT.
matrix2
) &key min max) ¶Set each component of the 2x2 matrix OBJECT to a random value bounded by the scalars MIN and MAX, storing the result back into OBJECT.
vector4
) &key min max) ¶Set each component of the 4-dimensional vector OBJECT to a random value bounded by the scalars MIN and MAX, storing the result back into OBJECT.
quaternion
) (object2 vector3
) &key space) ¶Rotate the quaternion OBJECT1 by the 3-dimensional vector OBJECT2 denoting Euler angles in radians, storing the result in a new quaternion. If SPACE is :WORLD instead of the default of :LOCAL, the inverse rotation is performed.
quaternion
) (object2 quaternion
) &key space) ¶Perform a quaternion rotation by multiplying the quaternion OBJECT1 by the quaternion OBJECT2, storing the result in a new quaternion. If SPACE is :WORLD instead of the default of :LOCAL, OBJECT2 is multiplied by OBJECT1.
matrix4
) (object2 vector3
) &key space) ¶Perform a matrix rotation by multiplying the 4x4 matrix OBJECT by a a series of rotation matrices around each of the axes and angles in radians denoted by the 3-dimensional vector OBJECT2, storing the result in a new 4x4 matrix. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrices are multiplying by OBJECT1.
matrix3
) (object2 real
) &key space) ¶Perform a matrix rotation by multiplying the 3x3 matrix OBJECT by a rotation matrix that denotes a rotation around the Z axis by an angle in radians of OBJECT2, storing the result in a new 3x3 matrix. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrix is multiplying by OBJECT2.
matrix2
) (object2 real
) &key space) ¶Perform a matrix rotation by multiplying the 2x2 matrix OBJECT by a rotation matrix that denotes a rotation around the Z axis by an angle in radians of OBJECT2, storing the result in a new 2x2 matrix. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrix is multiplying by OBJECT2.
quaternion
) (object2 vector3
) (out quaternion
) &key space) ¶Rotate the quaternion OBJECT1 by the 3-dimensional vector OBJECT2 denoting Euler angles in radians, storing the result in the quaternion OUT. If SPACE is :WORLD instead of the default of :LOCAL, the inverse rotation is performed.
quaternion
) (object2 quaternion
) (out quaternion
) &key space) ¶Perform a quaternion rotation by multiplying the quaternion OBJECT1 by the quaternion OBJECT2, storing the result in the quaternion OUT. If SPACE is :WORLD instead of the default of :LOCAL, OBJECT2 is multiplied by OBJECT1.
matrix4
) (object2 vector3
) (out matrix4
) &key space) ¶Perform a matrix rotation by multiplying the 4x4 matrix OBJECT by a a series of rotation matrices around each of the axes and angles in radians denoted by the 3-dimensional vector OBJECT2, storing the result in the 4x4 matrix OUT. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrices are multiplying by OBJECT1.
matrix3
) (object2 real
) (out matrix3
) &key space) ¶Perform a matrix rotation by multiplying the 3x3 matrix OBJECT by a rotation matrix that denotes a rotation around the Z axis by an angle in radians of OBJECT2, storing the result in the 3x3 matrix OUT. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrix is multiplying by OBJECT2.
matrix2
) (object2 real
) (out matrix2
) &key space) ¶Perform a matrix rotation by multiplying the 2x2 matrix OBJECT by a rotation matrix that denotes a rotation around the Z axis by an angle in radians of OBJECT2, storing the result in the 2x2 matrix OUT. If SPACE is :WORLD instead of the default of :LOCAL, the rotation matrix is multiplying by OBJECT2.
matrix4
) (angle real
)) ¶Modify the {OUT:DESC} OUT to represent a rotation around the Z axis by ANGLE radians.
vector4
)) ¶Round each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Round each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector4
) (vector2 vector4
)) ¶Check if the 4-dimensional vectors VECTOR1 and VECTOR2 have the same direction.
matrix4
) (vector vector3
)) ¶Scale the 4x4 matrix MATRIX, by the 3-dimensional vector VECTOR, storing the result in a new 4x4 matrix.
matrix4
) (vector vector3
) (out matrix4
)) ¶Scale the 4x4 matrix MATRIX, by the 3-dimensional vector VECTOR, storing the result in the 4x4 matrix OUT.
matrix4
) (vector vector3
) (axis (eql :z)
)) ¶Set the Z axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (vector vector3
) (axis (eql :y)
)) ¶Set the Y axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (vector vector3
) (axis (eql :x)
)) ¶Set the X axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix3
) (vector vector2
) (axis (eql :y)
)) ¶Set the Y axis of the 3x3 matrix MATRIX, by copying the components of the 2-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 3x3 matrix.
matrix3
) (vector vector2
) (axis (eql :x)
)) ¶Set the X axis of the 3x3 matrix MATRIX, by copying the components of the 2-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 3x3 matrix.
matrix4
) (vector vector3
) (axis (eql :z)
) (out matrix4
)) ¶Set the Z axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix4
) (vector vector3
) (axis (eql :y)
) (out matrix4
)) ¶Set the Y axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix4
) (vector vector3
) (axis (eql :x)
) (out matrix4
)) ¶Set the X axis of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix3
) (vector vector2
) (axis (eql :y)
) (out matrix3
)) ¶Set the Y axis of the 3x3 matrix MATRIX, by copying the components of the 2-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 3x3 matrix OUT.
matrix3
) (vector vector2
) (axis (eql :x)
) (out matrix3
)) ¶Set the X axis of the 3x3 matrix MATRIX, by copying the components of the 2-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 3x3 matrix OUT.
matrix2
) (vector vector2
) (axis (eql :y)
) (out matrix2
)) ¶Set the Y axis of the 2x2 matrix MATRIX, by copying the components of the 2-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 2x2 matrix OUT.
matrix4
) (column vector4
) (index (eql 3)
)) ¶Set the 3rd column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (column vector4
) (index (eql 2)
)) ¶Set the 2nd column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix3
) (column vector3
) (index (eql 2)
)) ¶Set the 2nd column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 3x3 matrix.
matrix4
) (column vector4
) (index (eql 1)
)) ¶Set the 1st column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (column vector4
) (index (eql 0)
)) ¶Set the 0th column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix3
) (column vector3
) (index (eql 1)
)) ¶Set the 1st column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 3x3 matrix.
matrix3
) (column vector3
) (index (eql 0)
)) ¶Set the 0th column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in a new 3x3 matrix.
matrix4
) (column vector4
) (index (eql 3)
) (out matrix4
)) ¶Set the 3rd column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix4
) (column vector4
) (index (eql 2)
) (out matrix4
)) ¶Set the 2nd column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix3
) (column vector3
) (index (eql 2)
) (out matrix3
)) ¶Set the 2nd column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 3x3 matrix OUT.
matrix4
) (column vector4
) (index (eql 1)
) (out matrix4
)) ¶Set the 1st column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix4
) (column vector4
) (index (eql 0)
) (out matrix4
)) ¶Set the 0th column of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix3
) (column vector3
) (index (eql 1)
) (out matrix3
)) ¶Set the 1st column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 3x3 matrix OUT.
matrix3
) (column vector3
) (index (eql 0)
) (out matrix3
)) ¶Set the 0th column of the 3x3 matrix MATRIX, by copying the components of the 3-dimensional vector COLUMN into the corresponding locations of the matrix, storing the result in the 3x3 matrix OUT.
matrix4
) (vector vector4
)) ¶Set the diagonal of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (vector vector4
) (out matrix4
)) ¶Set the diagonal of the 4x4 matrix MATRIX, by copying the components of the 4-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
matrix4
) (vector vector3
)) ¶Set the scale of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in a new 4x4 matrix.
matrix4
) (vector vector3
) (out matrix4
)) ¶Set the scale of the 4x4 matrix MATRIX, by copying the components of the 3-dimensional vector VECTOR into the corresponding locations of the matrix, storing the result in the 4x4 matrix OUT.
vector4
)) ¶Take the sign of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector. All values less than 0 become -1, and all values greater than 0 become +1.
vector4
) (out vector4
)) ¶Take the sign of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT. All values less than 0 become -1, and all values greater than 0 become +1.
vector4
)) ¶Compute the trigonometric sine of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric sine of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
quaternion
) (quaternion2 quaternion
) (parameter real
)) ¶Perform a spherical linear interpolation between the quaternions QUATERNION1 and QUATERNION2 by the parameter PARAMETER, storing the result in a new quaternion.
quaternion
) (quaternion2 quaternion
) (parameter real
) (out quaternion
)) ¶Perform a spherical linear interpolation between the quaternions QUATERNION1 and QUATERNION2 by the parameter PARAMETER, storing the result in the quaternion OUT.
vector4
)) ¶Compute the square root of each component in the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the square root of each component in the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector4
)) ¶Compute the trigonometric tangent of each component of the 4-dimensional vector VECTOR, storing the result in a new 4-dimensional vector.
vector4
) (out vector4
)) ¶Compute the trigonometric tangent of each component of the 4-dimensional vector VECTOR, storing the result in the 4-dimensional vector OUT.
vector2
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 2-dimensional vector OBJECT.
vector3
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 3-dimensional vector OBJECT.
vector4
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 4-dimensional vector OBJECT.
matrix2
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 2x2 matrix OBJECT.
matrix3
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 3x3 matrix OBJECT.
matrix4
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the 4x4 matrix OBJECT.
quaternion
) (element-type (eql :double-float)
)) ¶Construct a freshly-allocated 1-dimensional array of double-floats from the components of the quaternion OBJECT.
vector2
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 2-dimensional vector OBJECT.
vector3
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 3-dimensional vector OBJECT.
vector4
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 4-dimensional vector OBJECT.
matrix2
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 2x2 matrix OBJECT.
matrix3
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 3x3 matrix OBJECT.
matrix4
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the 4x4 matrix OBJECT.
quaternion
) (element-type (eql :single-float)
)) ¶Construct a freshly-allocated 1-dimensional array of single-floats from the components of the quaternion OBJECT.
vector2
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 2-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
vector3
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 3-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
vector4
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 4-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix2
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 2x2 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix3
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 3x3 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix4
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the 4x4 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
quaternion
) (element-type (eql :double-float)
)) ¶Get a reference to a 1-dimensional array of double-floats containing the components of the quaternion OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
vector2
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 2-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
vector3
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 3-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
vector4
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 4-dimensional vector OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix2
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 2x2 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix3
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 3x3 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
matrix4
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the 4x4 matrix OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
quaternion
) (element-type (eql :single-float)
)) ¶Get a reference to a 1-dimensional array of single-floats containing the components of the quaternion OBJECT.
NOTE: This object is not freshly-allocated and should not be stored. Its memory will be overwritten on subsequent calls to either TO-ARRAY or TO-ARRAY!. It is intended to be used for once-off operations, such as uploading of GPU uniform variables.
quaternion
)) ¶Convert the quaternion QUATERNION to a 3-dimensional vector of Euler angles in radians, storing the result in a new 3-dimensional vector.
quaternion
) (out vector3
)) ¶Convert the quaternion QUATERNION to a 3-dimensional vector of Euler angles in radians, storing the result in the 3-dimensional vector OUT..
quaternion
)) ¶Convert the quaternion QUATERNION to a 3x3 matrix. storing the result in a new 3x3 matrix.
quaternion
) (out matrix3
)) ¶Convert the quaternion QUATERNION to a 3x3 matrix. storing the result in a the 3x3 matrix OUT.
quaternion
)) ¶Convert the quaternion QUATERNION to a 4x4 matrix. storing the result in a new 4x4 matrix.
quaternion
) (out matrix4
)) ¶Convert the quaternion QUATERNION to a 4x4 matrix. storing the result in a the 4x4 matrix OUT.
matrix4
) (vector vector3
) (out matrix4
)) ¶Translate the 4x4 matrix MATRIX by the 3-dimensional vector VECTOR, storing the result in the 4x4 matrix OUT.
matrix4
) (out matrix4
)) ¶Transpose the rows and columns of the 4x4 matrix MATRIX, storing the result in the 4x4 matrix.
vector4
) (rate real
) (out vector4
)) ¶Modify the 4-dimensional vector OUT, to represent a velocity following the right-hand rule, with a direction parallel to the 4-dimensional vector AXIS, and a magnitude of RATE units per second.
quaternion
)) ¶Get the W component of the given quaternion.
quaternion
)) ¶Set the W component of the given quaternion.
quaternion
)) ¶Get the X component of the given quaternion.
quaternion
)) ¶Set the X component of the given quaternion.
quaternion
)) ¶Get the Y component of the given quaternion.
quaternion
)) ¶Set the Y component of the given quaternion.
quaternion
)) ¶Set the Z component of the given quaternion.
matrix4
)) ¶Construct a fresh 4x4 matrix with every component set to zero. This is a convenience function that is useful when you already have a reference an object to construct a new type from.
matrix3
)) ¶Construct a fresh 3x3 matrix with every component set to zero. This is a convenience function that is useful when you already have a reference an object to construct a new type from.
matrix2
)) ¶Construct a fresh 2x2 matrix with every component set to zero. This is a convenience function that is useful when you already have a reference an object to construct a new type from.
vector4
)) ¶Construct a fresh 4-dimensional vector with every component set to zero. This is a convenience function that is useful when you already have a reference an object to construct a new type from.
matrix4
)) ¶Set each component of the 4x4 matrix OBJECT to zero, storing the result back into OBJECT.
matrix3
)) ¶Set each component of the 3x3 matrix OBJECT to zero, storing the result back into OBJECT.
matrix2
)) ¶Set each component of the 2x2 matrix OBJECT to zero, storing the result back into OBJECT.
vector4
)) ¶Set each component of the 4-dimensional vector OBJECT to zero, storing the result back into OBJECT.
math-object
) &optional environment) ¶quaternion
) stream) ¶The base type that all math types are derived from.
(mfiano-utils:f64a (*))
:components
(mfiano-utils:f32a (*))
:components/single
(integer 1 4)
:row-count
This slot is read-only.
(integer 1 4)
:column-count
This slot is read-only.
A square matrix that all matrix types are derived from.
A 2x2 matrix representing a 2-dimensional rotation.
*
.
*
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
=
.
anti-diagonal
.
anti-diagonal!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
default
.
diagonal?
.
get-axis
.
get-axis
.
get-axis!
.
get-axis!
.
get-column
.
get-column
.
get-column!
.
get-column!
.
get-rotation!
.
get-row
.
get-row
.
get-row!
.
get-row!
.
get-scale
.
get-scale!
.
id
.
id!
.
id?
.
main-diagonal
.
main-diagonal!
.
normalize-rotation
.
normalize-rotation!
.
orthogonal?
.
random!
.
rotate
.
rotate!
.
rotation/z!
.
scale
.
scale!
.
set-axis
.
set-axis
.
set-axis!
.
set-axis!
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
set-scale
.
set-scale!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
trace
.
transpose
.
transpose!
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 2 |
:column-count | 2 |
:components | (make-f64-array 4) |
:components/single | (make-f32-array 4) |
A 3x3 matrix representing either a 2-dimensional transformation or a 3-dimensional rotation.
*
.
*
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
=
.
anti-diagonal
.
anti-diagonal!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
default
.
determinant
.
diagonal?
.
from-matrix
.
from-matrix!
.
get-axis
.
get-axis
.
get-axis!
.
get-axis!
.
get-axis!
.
get-column
.
get-column
.
get-column
.
get-column!
.
get-column!
.
get-column!
.
get-rotation
.
get-rotation!
.
get-rotation!
.
get-row
.
get-row
.
get-row
.
get-row!
.
get-row!
.
get-row!
.
get-translation
.
get-translation!
.
id
.
id!
.
id?
.
invert
.
invert!
.
main-diagonal
.
main-diagonal!
.
normalize-rotation
.
normalize-rotation!
.
orthogonal?
.
orthonormalize
.
orthonormalize!
.
random!
.
rotate
.
rotate!
.
rotation/x!
.
rotation/y!
.
rotation/z!
.
scale
.
scale!
.
set-axis
.
set-axis
.
set-axis!
.
set-axis!
.
set-column
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
set-scale
.
set-scale!
.
set-translation
.
set-translation!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
to-matrix3!
.
trace
.
translate
.
translate!
.
transpose
.
transpose!
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 3 |
:column-count | 3 |
:components | (make-f64-array 9) |
:components/single | (make-f32-array 9) |
A 4x4 matrix representing a 3-dimensional transformation.
*
.
*
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
=
.
anti-diagonal
.
anti-diagonal!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
default
.
determinant
.
diagonal?
.
from-matrix
.
from-matrix!
.
get-axis
.
get-axis
.
get-axis
.
get-axis!
.
get-axis!
.
get-axis!
.
get-column
.
get-column
.
get-column
.
get-column
.
get-column!
.
get-column!
.
get-column!
.
get-column!
.
get-rotation
.
get-rotation!
.
get-row
.
get-row
.
get-row
.
get-row
.
get-row!
.
get-row!
.
get-row!
.
get-row!
.
get-scale
.
get-scale!
.
get-translation
.
get-translation!
.
id
.
id!
.
id?
.
invert
.
invert!
.
look-at!
.
main-diagonal
.
main-diagonal!
.
normalize-rotation
.
normalize-rotation!
.
ortho!
.
orthogonal?
.
orthonormalize
.
orthonormalize!
.
perspective!
.
random!
.
rotate
.
rotate!
.
rotation/x!
.
rotation/y!
.
rotation/z!
.
scale
.
scale!
.
set-axis
.
set-axis
.
set-axis
.
set-axis!
.
set-axis!
.
set-axis!
.
set-column
.
set-column
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
set-scale
.
set-scale!
.
set-translation
.
set-translation!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
to-matrix4!
.
trace
.
translate
.
translate!
.
transpose
.
transpose!
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 4 |
:column-count | 4 |
:components | (make-f64-array 16) |
:components/single | (make-f32-array 16) |
A quaternion representing a 3-dimensional rotation.
*
.
*
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
/
.
/!
.
=
.
conjugate
.
conjugate!
.
copy
.
copy!
.
default
.
dot
.
from-axis-angle!
.
from-matrix
.
from-matrix
.
from-matrix!
.
from-matrix!
.
from-velocity!
.
id
.
id!
.
id?
.
interpolate
.
interpolate!
.
inverse
.
inverse!
.
magnitude
.
magnitude-squared
.
negate
.
negate!
.
normalize
.
normalize!
.
orient!
.
print-object
.
rotate
.
rotate
.
rotate!
.
rotate!
.
slerp
.
slerp!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
to-euler-angles
.
to-euler-angles!
.
to-matrix3
.
to-matrix3!
.
to-matrix4
.
to-matrix4!
.
(setf w)
.
w
.
(setf x)
.
x
.
(setf y)
.
y
.
(setf z)
.
z
.
Initarg | Value |
---|---|
:row-count | 1 |
:column-count | 4 |
:components | (make-f64-array 4) |
:components/single | (make-f32-array 4) |
A column vector that all vector types are derived from.
A 2-dimensional column vector.
*
.
*
.
*
.
*!
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
/
.
/
.
/!
.
/!
.
<
.
<=
.
=
.
>
.
>=
.
abs
.
abs!
.
acos
.
acos!
.
angle
.
anti-diagonal!
.
asin
.
asin!
.
atan
.
atan!
.
ceiling
.
ceiling!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
cos
.
cos!
.
default
.
degrees->radians
.
degrees->radians!
.
dot
.
expt
.
expt!
.
floor
.
floor!
.
fract
.
fract!
.
get-axis!
.
get-axis!
.
get-axis!
.
get-axis!
.
get-axis!
.
get-column!
.
get-column!
.
get-row!
.
get-row!
.
get-scale!
.
get-translation!
.
interpolate
.
interpolate!
.
invert
.
invert!
.
lerp
.
lerp!
.
magnitude
.
magnitude-squared
.
main-diagonal!
.
max
.
max!
.
min
.
min!
.
mod
.
mod!
.
negate
.
negate!
.
normalize
.
normalize!
.
ones
.
ones!
.
parallel?
.
radians->degrees
.
radians->degrees!
.
random!
.
round
.
round!
.
same-direction?
.
scale
.
scale
.
scale!
.
scale!
.
set-axis
.
set-axis
.
set-axis
.
set-axis
.
set-axis!
.
set-axis!
.
set-axis!
.
set-axis!
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
set-scale
.
set-scale
.
set-scale!
.
set-scale!
.
set-translation
.
set-translation!
.
sign
.
sign!
.
sin
.
sin!
.
sqrt
.
sqrt!
.
tan
.
tan!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
translate
.
translate!
.
velocity!
.
(setf x)
.
x
.
(setf y)
.
y
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 2 |
:column-count | 1 |
:components | (make-f64-array 2) |
:components/single | (make-f32-array 2) |
A 3-dimensional column vector.
*
.
*
.
*
.
*!
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
/
.
/
.
/!
.
/!
.
<
.
<=
.
=
.
>
.
>=
.
abs
.
abs!
.
acos
.
acos!
.
angle
.
anti-diagonal!
.
asin
.
asin!
.
atan
.
atan!
.
ceiling
.
ceiling!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
cos
.
cos!
.
cross
.
cross!
.
default
.
degrees->radians
.
degrees->radians!
.
dot
.
expt
.
expt!
.
floor
.
floor!
.
fract
.
fract!
.
from-axis-angle!
.
from-velocity!
.
get-axis!
.
get-axis!
.
get-axis!
.
get-column!
.
get-column!
.
get-column!
.
get-row!
.
get-row!
.
get-row!
.
get-scale!
.
get-translation!
.
interpolate
.
interpolate!
.
invert
.
invert!
.
lerp
.
lerp!
.
look-at
.
look-at!
.
magnitude
.
magnitude-squared
.
main-diagonal!
.
max
.
max!
.
min
.
min!
.
mod
.
mod!
.
negate
.
negate!
.
normalize
.
normalize!
.
ones
.
ones!
.
parallel?
.
radians->degrees
.
radians->degrees!
.
random!
.
rotate
.
rotate
.
rotate!
.
rotate!
.
round
.
round!
.
same-direction?
.
scale
.
scale!
.
set-axis
.
set-axis
.
set-axis
.
set-axis!
.
set-axis!
.
set-axis!
.
set-column
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
set-scale
.
set-scale!
.
set-translation
.
set-translation!
.
sign
.
sign!
.
sin
.
sin!
.
sqrt
.
sqrt!
.
tan
.
tan!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
to-euler-angles!
.
translate
.
translate!
.
velocity!
.
(setf x)
.
x
.
(setf y)
.
y
.
(setf z)
.
z
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 3 |
:column-count | 1 |
:components | (make-f64-array 3) |
:components/single | (make-f32-array 3) |
A 4-dimensional column vector.
*
.
*
.
*
.
*!
.
*!
.
*!
.
+
.
+
.
+!
.
+!
.
-
.
-
.
-!
.
-!
.
/
.
/
.
/!
.
/!
.
<
.
<=
.
=
.
>
.
>=
.
abs
.
abs!
.
acos
.
acos!
.
angle
.
anti-diagonal!
.
asin
.
asin!
.
atan
.
atan!
.
ceiling
.
ceiling!
.
clamp
.
clamp
.
clamp!
.
clamp!
.
copy
.
copy!
.
cos
.
cos!
.
default
.
degrees->radians
.
degrees->radians!
.
dot
.
expt
.
expt!
.
floor
.
floor!
.
fract
.
fract!
.
get-column!
.
get-column!
.
get-column!
.
get-column!
.
get-row!
.
get-row!
.
get-row!
.
get-row!
.
interpolate
.
interpolate!
.
invert
.
invert!
.
lerp
.
lerp!
.
magnitude
.
magnitude-squared
.
main-diagonal!
.
max
.
max!
.
min
.
min!
.
mod
.
mod!
.
negate
.
negate!
.
normalize
.
normalize!
.
ones
.
ones!
.
parallel?
.
radians->degrees
.
radians->degrees!
.
random!
.
round
.
round!
.
same-direction?
.
set-column
.
set-column
.
set-column
.
set-column
.
set-column!
.
set-column!
.
set-column!
.
set-column!
.
set-diagonal
.
set-diagonal!
.
sign
.
sign!
.
sin
.
sin!
.
sqrt
.
sqrt!
.
tan
.
tan!
.
to-array
.
to-array
.
to-array!
.
to-array!
.
velocity!
.
(setf w)
.
w
.
(setf x)
.
x
.
(setf y)
.
y
.
(setf z)
.
z
.
zero
.
zero!
.
zero?
.
Initarg | Value |
---|---|
:row-count | 4 |
:column-count | 1 |
:components | (make-f64-array 4) |
:components/single | (make-f32-array 4) |
math-object
)) ¶automatically generated reader method
math-object
)) ¶automatically generated reader method
math-object
)) ¶automatically generated writer method
math-object
)) ¶automatically generated reader method
math-object
)) ¶automatically generated writer method
math-object
)) ¶automatically generated reader method
Jump to: | %
(
*
+
-
/
<
=
>
~
A C D E F G I L M N O P Q R S T V W X Y Z |
---|