This is the 3d-quaternions Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:10:10 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
3d-quaternions
A utility library implementing quaternion and dual-quaternion functionality.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shinmera/3d-quaternions.git)
zlib
1.0.0
documentation-utils
(system).
3d-vectors
(system).
3d-matrices
(system).
package.lisp
(file).
struct.lisp
(file).
ops.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
3d-quaternions/3d-quaternions.asd
3d-quaternions/package.lisp
3d-quaternions/struct.lisp
3d-quaternions/ops.lisp
3d-quaternions/documentation.lisp
3d-quaternions/3d-quaternions.asd
3d-quaternions
(system).
3d-quaternions/struct.lisp
package.lisp
(file).
3d-quaternions
(system).
dqcopy
(function).
dquat
(compiler macro).
dquat
(function).
dquat
(structure).
dquat-p
(function).
make-load-form
(method).
make-load-form
(method).
print-object
(method).
print-object
(method).
qcopy
(function).
qdual
(reader).
(setf qdual)
(writer).
(setf qi)
(setf expander).
qi
(function).
(setf qj)
(setf expander).
qj
(function).
(setf qk)
(setf expander).
qk
(function).
(setf qr)
(setf expander).
qr
(function).
qreal
(reader).
(setf qreal)
(writer).
quat
(compiler macro).
quat
(function).
quat
(structure).
quat-p
(function).
(setf qw)
(setf expander).
qw
(function).
(setf qx)
(setf expander).
qx
(function).
(setf qy)
(setf expander).
qy
(function).
(setf qz)
(setf expander).
qz
(function).
%dquat
(function).
%quat
(function).
%qw
(reader).
(setf %qw)
(writer).
3d-quaternions/ops.lisp
struct.lisp
(file).
3d-quaternions
(system).
dqsetf
(macro).
nq*
(compiler macro).
nq*
(function).
nq+
(compiler macro).
nq+
(function).
nq+*
(function).
nq-
(compiler macro).
nq-
(function).
nq/
(compiler macro).
nq/
(function).
nqexpt
(function).
nqunit
(function).
nqunit*
(function).
q*
(compiler macro).
q*
(function).
q*v
(function).
q+
(compiler macro).
q+
(function).
q-
(compiler macro).
q-
(function).
q.
(function).
q/
(compiler macro).
q/
(function).
q/=
(compiler macro).
q/=
(function).
q<-
(function).
q=
(compiler macro).
q=
(function).
qangle
(function).
(setf qangle)
(function).
qaxis
(function).
(setf qaxis)
(function).
qconjugate
(function).
qequal
(function).
qexpt
(function).
qfrom-angle
(function).
qfrom-mat
(function).
qfrom-position
(function).
qinv
(function).
qlength
(function).
qlength2
(function).
qlookat
(function).
qmat3
(function).
qmat4
(function).
qmix
(function).
qnlerp
(function).
qposition
(function).
qsetf
(macro).
qslerp
(function).
qtowards
(function).
qunit
(function).
qunit*
(function).
%2quat-op
(macro).
define-nquatop
(macro).
define-quatcomp
(macro).
define-quatop
(macro).
qapply
(macro).
qapplyf
(macro).
3d-quaternions/documentation.lisp
ops.lisp
(file).
3d-quaternions
(system).
Packages are listed by definition order.
org.shirakumo.flare.quaternion
3d-matrices
.
3d-vectors
.
common-lisp
.
dqcopy
(function).
dqsetf
(macro).
dquat
(compiler macro).
dquat
(function).
dquat
(structure).
dquat-p
(function).
nq*
(compiler macro).
nq*
(function).
nq+
(compiler macro).
nq+
(function).
nq+*
(function).
nq-
(compiler macro).
nq-
(function).
nq/
(compiler macro).
nq/
(function).
nqexpt
(function).
nqunit
(function).
nqunit*
(function).
q*
(compiler macro).
q*
(function).
q*v
(function).
q+
(compiler macro).
q+
(function).
q-
(compiler macro).
q-
(function).
q.
(function).
q/
(compiler macro).
q/
(function).
q/=
(compiler macro).
q/=
(function).
q<-
(function).
q=
(compiler macro).
q=
(function).
qangle
(function).
(setf qangle)
(function).
qaxis
(function).
(setf qaxis)
(function).
qconjugate
(function).
qcopy
(function).
qdual
(reader).
(setf qdual)
(writer).
qequal
(function).
qexpt
(function).
qfrom-angle
(function).
qfrom-mat
(function).
qfrom-position
(function).
(setf qi)
(setf expander).
qi
(function).
qinv
(function).
(setf qj)
(setf expander).
qj
(function).
(setf qk)
(setf expander).
qk
(function).
qlength
(function).
qlength2
(function).
qlookat
(function).
qmat3
(function).
qmat4
(function).
qmix
(function).
qnlerp
(function).
qposition
(function).
(setf qr)
(setf expander).
qr
(function).
qreal
(reader).
(setf qreal)
(writer).
qsetf
(macro).
qslerp
(function).
qtowards
(function).
quat
(compiler macro).
quat
(function).
quat
(structure).
quat-p
(function).
qunit
(function).
qunit*
(function).
(setf qw)
(setf expander).
qw
(function).
(setf qx)
(setf expander).
qx
(function).
(setf qy)
(setf expander).
qy
(function).
(setf qz)
(setf expander).
qz
(function).
%2quat-op
(macro).
%dquat
(function).
%quat
(function).
%qw
(reader).
(setf %qw)
(writer).
define-nquatop
(macro).
define-quatcomp
(macro).
define-quatop
(macro).
qapply
(macro).
qapplyf
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Update the fields of a dual-quaternion.
Returns the modified dual-quaternion.
See DQUAT
Update the fields of a quaternion.
Returns the modified quaternion.
See QUAT
Returns a fresh copy of the dual-quaternion.
See DQUAT
Constructs a dual-quaternion
If no arguments are passed, an "empty" dual-quaternion is returned.
See DQUAT (type)
Returns true if the given object is a dual-quaternion.
See DQUAT
Returns the first quaternion after being modified by multiplication of the passed quaternions.
You may also pass a real number to multiply with each component.
Note that for quaternions this is *not* element-wise multiplication.
If passed a dual-quaternion, the real side is multiplied normally,
while the dual side is multiplied with the real side to ensure the
quaternions stay true.
See QUAT
See NQ*
Returns the first quaternion after being modified by element-wise addition of all passed quaternions.
You may also pass a real number to add to each component.
If passed a dual-quaternion, both the real and dual are added.
See QUAT
See Q+
Returns the first quaternion after being modified by the addition of the scaled quaternion/vector.
This is useful if you have a rotation that you want to add to an
orientation with a specific delta time.
See QUAT
See NQ+
Returns the first quaternion after being modified by element-wise subtraction of all passed quaternions.
You may also pass a real number to subtract from each component.
If passed a dual-quaternion, both the real and dual are subtracted.
See QUAT
See Q-
Compute the exponentiation of a quaternion.
Returns the modified quaternion.
See QUAT
Returns the quaternion after normalising it.
If passed a dual-quaternion, the real and dual part are normalised by
the length of the real part.
Signals an error if the quaternion has a length of zero.
See QUAT
See QUNIT
See NQUNIT*
Returns the quaternion after normalising it.
If passed a dual-quaternion, the real and dual part are normalised by
the length of the real part.
Returns the unmodified object if the quaternion has a length of zero.
See QUAT
See QUNIT
See NQUNIT*
Returns the multiplication of the passed quaternions.
You may also pass a real number to multiply with each component.
Note that for quaternions this is *not* element-wise multiplication.
If passed a dual-quaternion, the real side is multiplied normally,
while the dual side is multiplied with the real side to ensure the
quaternions stay true.
See QUAT
See NQ*
Returns the vector after multiplying it by the quaternion.
This essentially rotates the vector by the rotation expressed by the
quaternion.
If passed a dual-quaternion, the vector is first rotated, then
translated by the encoded transforms.
See QUAT
See 3D-VECTORS:VEC3
Returns the element-wise addition of the passed quaternions.
You may also pass a real number to add to each component. If passed a dual-quaternion, both the real and dual are added.
See QUAT
See NQ+
Returns the element-wise subtraction of the passed quaternions.
You may also pass a real number to subtract from each component. If passed a dual-quaternion, both the real and dual are subtracted.
See QUAT
See NQ+
Returns the dot product of the two quaternions.
If passed a dual-quaternion, only the real quaternion is dotted.
See QUAT
Returns true if any of the quaternions passed are not the same.
This does not test for element-wise float exact equality,
and instead compares accounting for a minimal epsilon of difference.
If passed a dual-quaternion, both the real and dual are tested.
See QUAT
Copies the quaternion information into the target from the source.
Returns the modified quaternion.
See QUAT
Returns true if the quaternions passed are the same.
This does not test for element-wise float exact equality,
and instead compares accounting for a minimal epsilon of difference.
If passed a dual-quaternion, both the real and dual are tested.
See QUAT
Returns the angle around the rotation axis that the quaternion rotates by.
See QUAT
Returns the normalised axis around which the quaternion rotates.
This is the same as just calling VUNIT.
See QUAT
See 3D-VECTORS:VUNIT
Returns the conjugate of the quaternion.
If passed a dual-quaternion, both the real and dual part are
conjugated independently.
See QUAT
Creates an exact copy of the quaternion.
See QUAT
Accesses the quaternion encompassing the translation of the dual-quaternion.
See QUAT
See DQUAT
Returns true if the quaternions passed describe the same direction.
This disregards the orientation of the rotation encoded, and treats
them the same regardless of whether they rotate around the ’long way’
or the ’short way’.
If passed a dual-quaternion, the real is tested by qequal, and the
dual is tested by q=.
See QUAT
See Q=
Compute the exponentiation of a quaternion.
Returns a fresh quaternion.
See QUAT
Construct a quaternion from an axis and a rotation.
Returns the freshly constructed quaternion.
See QUAT
Returns a quaternion that encompasses the same rotation described by the matrix.
Both a MAT3 and MAT4 can be used.
See QUAT
See QMAT3
See QMAT4
See 3D-MATRICES:MAT3
See 3D-MATRICES:MAT4
Turn a rotation quaternion and a position vector into a dual-quaternion.
See QUAT
See 3D-VECTORS:VEC3
See DQUAT
Returns the inverses of the quaternion.
See QUAT
Returns the length of the quaternion.
If passed a dual-quaternion, only the real quaternion is measured.
See QUAT
See QLENGTH2
Returns the squared length of the quaternion.
If passed a dual-quaternion, only the real quaternion is measured.
See QUAT
See QLENGTH
Returns a quaternion that encompassses the rotation necessary to look in the described direction.
See QUAT
Returns a MAT3 that encompasses the rotation described by the quaternion.
See QUAT
See QMAT4
See QFROM-MAT
See 3D-MATRICES:MAT3
Returns a MAT4 that encompasses the rotation described by the quaternion.
See QUAT
See QMAT3
See QFROM-MAT
See 3D-MATRICES:MAT4
Returns a new quaternion mixed with the two.
This is essentially Q = A*(1-X) + B*X
See QUAT
Returns the linearly interpolated quaternion between the two.
This is essentially Q = A + (B-A)*X
See QUAT
Return the position vector encoded by the dual-quaternion.
See 3D-VECTORS:VEC3
See DQUAT
Accesses the quaternion encompassing the rotation of the dual-quaternion.
see QUAT
See DQUAT
Returns the spherically interpolated quaternion between the two.
This attempts to compute the interpolation by rotating along the unit
sphere.
See QUAT
Construct a quaternion that describes the rotation from one vector to another.
Returns the freshly constructed quaternion.
See QUAT
Constructs a quaternion.
If no arguments are passed, a unit quaternion of 0 0 0 1 is returned.
See QUAT (type)
Returns true if the passed object is a quaternion.
See QUAT
Returns a normalised copy of the quaternion.
If passed a dual-quaternion, the real and dual part are normalised by
the length of the real part.
Returns an unmodified copy if the quaternion has a length of zero.
See QUAT
See NQUNIT
See QUNIT*
Accesses the fourth component of the quaternion.
See QUAT (type)
Accesses the first component of the quaternion.
See QUAT (type)
Accesses the second component of the quaternion.
See QUAT (type)
Accesses the third component of the quaternion.
See QUAT (type)
Encompasses a dual-quaternion.
Dual-quaternions are composed of two quaternions, the ’real’ representing a rotation, and the ’dual’ representing a translation.
See DQUAT (type)
See DQCOPY
See DQUAT-P
See QREAL
See QDUAL
See Q=
See Q/=
See QEQUAL
See Q+
See NQ+
See Q-
See NQ-
See Q*
See NQ*
See Q/
See NQ/
See Q.
See QUNIT
See NQUNIT
See QCONJUGATE
See Q*V
structure-object
.
org.shirakumo.flare.quaternion:quat
(org.shirakumo.flare.quaternion:quat)
org.shirakumo.flare.quaternion:quat
(org.shirakumo.flare.quaternion:quat)
Encompasses a quaternion.
A quaternion describes a rotational axis and an angle.
This is a sub-structure of a VEC3, and as such can be used with any
functions from 3D-VECTORS that support VEC3s.
See 3D-VECTORS:VEC3
See QUAT (function)
See QCOPY
See QUAT-P
See QX
See QY
See QZ
See QW
See QSETF
See QFROM-ANGLE
See QTOWARDS
See QAXIS
See QANGLE
See Q=
See Q/=
See QEQUAL
See Q+
See NQ+
See Q-
See NQ-
See Q*
See NQ*
See Q/
See NQ/
See Q.
See QLENGTH2
See QLENGTH
See QUNIT
See NQUNIT
See QCONJUGATE
See QINV
See Q*V
See QMIX
See QNLERP
See QSLERP
See QEXPT
See NQEXPT
See QLOOKAT
See QMAT3
See QMAT4
See QFROM-MAT
Jump to: | %
(
C D F M N P Q S |
---|
Jump to: | %
(
C D F M N P Q S |
---|
Jump to: | %
Q S |
---|
Index Entry | Section | ||
---|---|---|---|
| |||
% | |||
%qw : | Public structures | ||
| |||
Q | |||
qdual : | Public structures | ||
qreal : | Public structures | ||
| |||
S | |||
Slot, %qw : | Public structures | ||
Slot, qdual : | Public structures | ||
Slot, qreal : | Public structures | ||
|
Jump to: | %
Q S |
---|
Jump to: | 3
D F O P Q S |
---|
Jump to: | 3
D F O P Q S |
---|