The 3d-quaternions Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The 3d-quaternions Reference Manual

This is the 3d-quaternions Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 03:13:40 2022 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

## About 3d-quaternions
This is a library for quaternions. It contains most of the quaternion operations one would usually expect out of such a library and offers them both in non-modifying and modifying versions where applicable. It also tries to be efficient where plausible. Each quaternion is made up of ``float``s, which by default are ``single-float``s, as they do not require value boxing on most modern systems and compilers.

## How To
Load it through ASDF or Quicklisp

::
(ql:quickload :3d-quaternions)
(use-package :org.shirakumo.flare.quaternion)
::

Create a quaternion:

::
(quat)
::

Quaternions always use ``float``s. Where sensible, operations should accept ``real`` numbers for convenience. All quaternion operations are prefixed with a ``q`` to allow importing the package without conflicts. 

::
(q+ (quat 1 2 3 4) 4 5 6)
(qfrom-angle +vz+ PI)
::

3d-quaternions implements pretty much all quaternion operations you might need, including comparators, dot product, matrix conversion, and so forth. There's also modifying variants of most operators, which have the same name, except they are prefixed by an ``n``.

::
(let ((q (quat)))
  (nq* (nq+ q (quat 1 2 3 4)) 3)
  q)
::

``quat``s are dumpable, meaning you can insert them as literals into your code and they will be properly saved to and restored from a FASL.

If you require higher precision than ``single-float``s ensure, you can add ``:3d-vectors-double-floats`` to ``*features*`` and recompile the library ``(asdf:compile-system :3d-quaternions :force T)``. Similarly, if you want to switch back to ``single-float``s, you can remove the feature and recompile. Both at the same time is not supported as it would increase complexity in the library massively and make certain operations much slower.

## Also See
- "3d-vectors"(https://shinmera.github.io/3d-vectors) for Vector operations in conjunction with this library.
- "3d-matrices"(https://shinmera.github.io/3d-matrices) for Matrix operations in conjunction with this library.



Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 3d-quaternions

Maintainer

Nicolas Hafner <shinmera@tymoon.eu>

Author

Nicolas Hafner <shinmera@tymoon.eu>

Home Page

https://Shinmera.github.io/3d-quaternions/

Source Control

(:git "https://github.com/shinmera/3d-quaternions.git")

Bug Tracker

https://github.com/Shinmera/3d-quaternions/issues

License

zlib

Description

A utility library implementing quaternion and dual-quaternion functionality.

Version

1.0.0

Dependencies
Source

3d-quaternions.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 3d-quaternions.asd

Location

3d-quaternions.asd

Systems

3d-quaternions (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 3d-quaternions/package.lisp

Parent

3d-quaternions (system)

Location

package.lisp

Packages

org.shirakumo.flare.quaternion


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 3d-quaternions/struct.lisp

Dependency

package.lisp (file)

Parent

3d-quaternions (system)

Location

struct.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 3d-quaternions/ops.lisp

Dependency

struct.lisp (file)

Parent

3d-quaternions (system)

Location

ops.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.5 3d-quaternions/documentation.lisp

Dependency

ops.lisp (file)

Parent

3d-quaternions (system)

Location

documentation.lisp


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 org.shirakumo.flare.quaternion

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: dqsetf QUAT REAL DUAL

Update the fields of a dual-quaternion.

Returns the modified dual-quaternion.

See DQUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Macro: qsetf QUAT X Y Z W

Update the fields of a quaternion.

Returns the modified quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Compiler macros

Compiler Macro: dquat &optional REAL DUAL
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Compiler Macro: nq* VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: nq+ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: nq- VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: nq/ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q* VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q+ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q- VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q/ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q/= VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: q= VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Compiler Macro: quat &optional X Y Z W
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: dqcopy INSTANCE

Returns a fresh copy of the dual-quaternion.

See DQUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: dquat &optional REAL DUAL

Constructs a dual-quaternion

If no arguments are passed, an "empty" dual-quaternion is returned.

See DQUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: dquat-p OBJECT

Returns true if the given object is a dual-quaternion.

See DQUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: nq* VAL &rest VALS

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*

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: nq+ VAL &rest VALS

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+

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: nq- VAL &rest VALS

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-

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: nq/ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: nqexpt QUAT EXP

Compute the exponentiation of a quaternion.

Returns the modified quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: nqunit A

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.

See QUAT
See QUNIT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q* VAL &rest VALS

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*

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q*v Q V

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

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q+ VAL &rest VALS

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+

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q- VAL &rest VALS

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+

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q. A B

Returns the dot product of the two quaternions.

If passed a dual-quaternion, only the real quaternion is dotted.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q/ VAL &rest VALS
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q/= VAL &rest VALS

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

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q<- TARGET SOURCE

Copies the quaternion information into the target from the source.

Returns the modified quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: q= VAL &rest VALS

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

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qangle QUAT

Returns the angle around the rotation axis that the quaternion rotates by.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qaxis QUAT

Returns the normalised axis around which the quaternion rotates.

This is the same as just calling VUNIT.

See QUAT
See 3D-VECTORS:VUNIT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qconjugate A

Returns the conjugate of the quaternion.

If passed a dual-quaternion, both the real and dual part are conjugated independently.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qcopy INSTANCE

Creates an exact copy of the quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: qdual INSTANCE

Accesses the quaternion encompassing the translation of the dual-quaternion.

See QUAT
See DQUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Writer

(setf qdual) (function)

Function: (setf qdual) VALUE INSTANCE
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qdual (function)

Function: qequal A B

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=

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qexpt QUAT EXP

Compute the exponentiation of a quaternion.

Returns a fresh quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qfrom-angle AXIS ANGLE

Construct a quaternion from an axis and a rotation.

Returns the freshly constructed quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qfrom-mat MAT

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

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qfrom-position QUAT VEC

Turn a rotation quaternion and a position vector into a dual-quaternion.

See QUAT
See 3D-VECTORS:VEC3
See DQUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qinv A

Returns the inverses of the quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qlength A

Returns the length of the quaternion.

If passed a dual-quaternion, only the real quaternion is measured.

See QUAT
See QLENGTH2

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qlength2 A

Returns the squared length of the quaternion.

If passed a dual-quaternion, only the real quaternion is measured.

See QUAT
See QLENGTH

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qlookat DIR UP

Returns a quaternion that encompassses the rotation necessary to look in the described direction.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qmat3 QUAT

Returns a MAT3 that encompasses the rotation described by the quaternion.

See QUAT
See QMAT4
See QFROM-MAT
See 3D-MATRICES:MAT3

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qmat4 QUAT

Returns a MAT4 that encompasses the rotation described by the quaternion.

See QUAT
See QMAT3
See QFROM-MAT
See 3D-MATRICES:MAT4

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qmix FROM TO X

Returns a new quaternion mixed with the two.

This is essentially Q = A*(1-X) + B*X

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qnlerp FROM TO X

Returns the linearly interpolated quaternion between the two.

This is essentially Q = A + (B-A)*X

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qposition DQUAT

Return the position vector encoded by the dual-quaternion.

See 3D-VECTORS:VEC3
See DQUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qreal INSTANCE

Accesses the quaternion encompassing the rotation of the dual-quaternion.

see QUAT
See DQUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Writer

(setf qreal) (function)

Function: (setf qreal) VALUE INSTANCE
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qreal (function)

Function: qslerp FROM TO X

Returns the spherically interpolated quaternion between the two.

This attempts to compute the interpolation by rotating along the unit sphere.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qtowards FROM TO

Construct a quaternion that describes the rotation from one vector to another.

Returns the freshly constructed quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: quat &optional X Y Z W

Constructs a quaternion.

If no arguments are passed, a unit quaternion of 0 0 0 1 is returned.

See QUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: quat-p OBJECT

Returns true if the passed object is a quaternion.

See QUAT

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: qunit A

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.

See QUAT
See NQUNIT

Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Function: qw VEC

Accesses the fourth component of the quaternion.

See QUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Setf Expander

(setf qw) (setf expander)

Setf Expander: (setf qw) VEC
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qw (function)

Function: qx VEC

Accesses the first component of the quaternion.

See QUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Setf Expander

(setf qx) (setf expander)

Setf Expander: (setf qx) VEC
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qx (function)

Function: qy VEC

Accesses the second component of the quaternion.

See QUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Setf Expander

(setf qy) (setf expander)

Setf Expander: (setf qy) VEC
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qy (function)

Function: qz VEC

Accesses the third component of the quaternion.

See QUAT (type)

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Setf Expander

(setf qz) (setf expander)

Setf Expander: (setf qz) VEC
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Reader

qz (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Structures

Structure: dquat ()

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

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
  • make-load-form (method)
  • print-object (method)
Direct slots
Slot: qreal
Type

org.shirakumo.flare.quaternion:quat

Initform

(org.shirakumo.flare.quaternion:quat)

Readers

qreal (function)

Writers

(setf qreal) (function)

Slot: qdual
Type

org.shirakumo.flare.quaternion:quat

Initform

(org.shirakumo.flare.quaternion:quat)

Readers

qdual (function)

Writers

(setf qdual) (function)

Structure: 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

Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Direct superclasses

vec3 (structure)

Direct methods
  • make-load-form (method)
  • print-object (method)
Direct slots
Slot: %qw
Type

single-float

Initform

(3d-vectors::ensure-float 1)

Readers

%qw (function)

Writers

(setf %qw) (function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Macros

Macro: %2quat-op NAME A B COMBINATION QRED DQRED &optional 2Q-OVERRIDE
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Macro: define-nquatop NAME OP &optional 2Q-OVERRIDE
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Macro: define-quatcomp NAME OP &optional BUNDLE
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)

Macro: define-quatop NAME NNAME OP &optional 2Q-OVERRIDE
Package

org.shirakumo.flare.quaternion

Source

ops.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: %dquat QREAL QDUAL
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: %quat %VX3 %VY3 %VZ3 %QW
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)

Function: %qw INSTANCE
Function: (setf %qw) VALUE INSTANCE
Package

org.shirakumo.flare.quaternion

Source

struct.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   3  
F   L  
Index Entry  Section

3
3d-quaternions.asd: The 3d-quaternions․asd file
3d-quaternions/documentation.lisp: The 3d-quaternions/documentation․lisp file
3d-quaternions/ops.lisp: The 3d-quaternions/ops․lisp file
3d-quaternions/package.lisp: The 3d-quaternions/package․lisp file
3d-quaternions/struct.lisp: The 3d-quaternions/struct․lisp file

F
File, Lisp, 3d-quaternions.asd: The 3d-quaternions․asd file
File, Lisp, 3d-quaternions/documentation.lisp: The 3d-quaternions/documentation․lisp file
File, Lisp, 3d-quaternions/ops.lisp: The 3d-quaternions/ops․lisp file
File, Lisp, 3d-quaternions/package.lisp: The 3d-quaternions/package․lisp file
File, Lisp, 3d-quaternions/struct.lisp: The 3d-quaternions/struct․lisp file

L
Lisp File, 3d-quaternions.asd: The 3d-quaternions․asd file
Lisp File, 3d-quaternions/documentation.lisp: The 3d-quaternions/documentation․lisp file
Lisp File, 3d-quaternions/ops.lisp: The 3d-quaternions/ops․lisp file
Lisp File, 3d-quaternions/package.lisp: The 3d-quaternions/package․lisp file
Lisp File, 3d-quaternions/struct.lisp: The 3d-quaternions/struct․lisp file

Jump to:   3  
F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
C   D   F   M   N   Q   S  
Index Entry  Section

%
%2quat-op: Internal macros
%dquat: Internal functions
%quat: Internal functions
%qw: Internal functions

(
(setf %qw): Internal functions
(setf qdual): Exported functions
(setf qreal): Exported functions
(setf qw): Exported functions
(setf qx): Exported functions
(setf qy): Exported functions
(setf qz): Exported functions

C
Compiler Macro, dquat: Exported compiler macros
Compiler Macro, nq*: Exported compiler macros
Compiler Macro, nq+: Exported compiler macros
Compiler Macro, nq-: Exported compiler macros
Compiler Macro, nq/: Exported compiler macros
Compiler Macro, q*: Exported compiler macros
Compiler Macro, q+: Exported compiler macros
Compiler Macro, q-: Exported compiler macros
Compiler Macro, q/: Exported compiler macros
Compiler Macro, q/=: Exported compiler macros
Compiler Macro, q=: Exported compiler macros
Compiler Macro, quat: Exported compiler macros

D
define-nquatop: Internal macros
define-quatcomp: Internal macros
define-quatop: Internal macros
dqcopy: Exported functions
dqsetf: Exported macros
dquat: Exported compiler macros
dquat: Exported functions
dquat-p: Exported functions

F
Function, %dquat: Internal functions
Function, %quat: Internal functions
Function, %qw: Internal functions
Function, (setf %qw): Internal functions
Function, (setf qdual): Exported functions
Function, (setf qreal): Exported functions
Function, dqcopy: Exported functions
Function, dquat: Exported functions
Function, dquat-p: Exported functions
Function, nq*: Exported functions
Function, nq+: Exported functions
Function, nq-: Exported functions
Function, nq/: Exported functions
Function, nqexpt: Exported functions
Function, nqunit: Exported functions
Function, q*: Exported functions
Function, q*v: Exported functions
Function, q+: Exported functions
Function, q-: Exported functions
Function, q.: Exported functions
Function, q/: Exported functions
Function, q/=: Exported functions
Function, q<-: Exported functions
Function, q=: Exported functions
Function, qangle: Exported functions
Function, qaxis: Exported functions
Function, qconjugate: Exported functions
Function, qcopy: Exported functions
Function, qdual: Exported functions
Function, qequal: Exported functions
Function, qexpt: Exported functions
Function, qfrom-angle: Exported functions
Function, qfrom-mat: Exported functions
Function, qfrom-position: Exported functions
Function, qinv: Exported functions
Function, qlength: Exported functions
Function, qlength2: Exported functions
Function, qlookat: Exported functions
Function, qmat3: Exported functions
Function, qmat4: Exported functions
Function, qmix: Exported functions
Function, qnlerp: Exported functions
Function, qposition: Exported functions
Function, qreal: Exported functions
Function, qslerp: Exported functions
Function, qtowards: Exported functions
Function, quat: Exported functions
Function, quat-p: Exported functions
Function, qunit: Exported functions
Function, qw: Exported functions
Function, qx: Exported functions
Function, qy: Exported functions
Function, qz: Exported functions

M
Macro, %2quat-op: Internal macros
Macro, define-nquatop: Internal macros
Macro, define-quatcomp: Internal macros
Macro, define-quatop: Internal macros
Macro, dqsetf: Exported macros
Macro, qsetf: Exported macros

N
nq*: Exported compiler macros
nq*: Exported functions
nq+: Exported compiler macros
nq+: Exported functions
nq-: Exported compiler macros
nq-: Exported functions
nq/: Exported compiler macros
nq/: Exported functions
nqexpt: Exported functions
nqunit: Exported functions

Q
q*: Exported compiler macros
q*: Exported functions
q*v: Exported functions
q+: Exported compiler macros
q+: Exported functions
q-: Exported compiler macros
q-: Exported functions
q.: Exported functions
q/: Exported compiler macros
q/: Exported functions
q/=: Exported compiler macros
q/=: Exported functions
q<-: Exported functions
q=: Exported compiler macros
q=: Exported functions
qangle: Exported functions
qaxis: Exported functions
qconjugate: Exported functions
qcopy: Exported functions
qdual: Exported functions
qequal: Exported functions
qexpt: Exported functions
qfrom-angle: Exported functions
qfrom-mat: Exported functions
qfrom-position: Exported functions
qinv: Exported functions
qlength: Exported functions
qlength2: Exported functions
qlookat: Exported functions
qmat3: Exported functions
qmat4: Exported functions
qmix: Exported functions
qnlerp: Exported functions
qposition: Exported functions
qreal: Exported functions
qsetf: Exported macros
qslerp: Exported functions
qtowards: Exported functions
quat: Exported compiler macros
quat: Exported functions
quat-p: Exported functions
qunit: Exported functions
qw: Exported functions
qx: Exported functions
qy: Exported functions
qz: Exported functions

S
Setf Expander, (setf qw): Exported functions
Setf Expander, (setf qx): Exported functions
Setf Expander, (setf qy): Exported functions
Setf Expander, (setf qz): Exported functions

Jump to:   %   (  
C   D   F   M   N   Q   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   %  
Q   S  
Index Entry  Section

%
%qw: Exported structures

Q
qdual: Exported structures
qreal: Exported structures

S
Slot, %qw: Exported structures
Slot, qdual: Exported structures
Slot, qreal: Exported structures

Jump to:   %  
Q   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   3  
D   O   P   Q   S  
Index Entry  Section

3
3d-quaternions: The 3d-quaternions system

D
dquat: Exported structures

O
org.shirakumo.flare.quaternion: The org․shirakumo․flare․quaternion package

P
Package, org.shirakumo.flare.quaternion: The org․shirakumo․flare․quaternion package

Q
quat: Exported structures

S
Structure, dquat: Exported structures
Structure, quat: Exported structures
System, 3d-quaternions: The 3d-quaternions system

Jump to:   3  
D   O   P   Q   S