From adc93f6097615f16d57e8a24a256302f2144ec4e Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 14 Jan 2005 17:37:50 +0000 Subject: cut out the html - they're going to cause diffing problems. --- man/man3/quaternion.html | 163 ----------------------------------------------- 1 file changed, 163 deletions(-) delete mode 100644 man/man3/quaternion.html (limited to 'man/man3/quaternion.html') diff --git a/man/man3/quaternion.html b/man/man3/quaternion.html deleted file mode 100644 index 257ebe52..00000000 --- a/man/man3/quaternion.html +++ /dev/null @@ -1,163 +0,0 @@ - -quaternion(3) - Plan 9 from User Space - - - - -
-
-
QUATERNION(3)QUATERNION(3) -
-
-

NAME
- -
- - qtom, mtoq, qadd, qsub, qneg, qmul, qdiv, qunit, qinv, qlen, slerp, - qmid, qsqrt – Quaternion arithmetic
- -
-

SYNOPSIS
- -
- - -
- - #include <draw.h> -
-
- #include <geometry.h> -
-
- Quaternion qadd(Quaternion q, Quaternion r) -
-
- Quaternion qsub(Quaternion q, Quaternion r) -
-
- Quaternion qneg(Quaternion q) -
-
- Quaternion qmul(Quaternion q, Quaternion r) -
-
- Quaternion qdiv(Quaternion q, Quaternion r) -
-
- Quaternion qinv(Quaternion q) -
-
- double qlen(Quaternion p) -
-
- Quaternion qunit(Quaternion q) -
-
- void qtom(Matrix m, Quaternion q) -
-
- Quaternion mtoq(Matrix mat) -
-
- Quaternion slerp(Quaternion q, Quaternion r, double a) -
-
- Quaternion qmid(Quaternion q, Quaternion r) -
-
- Quaternion qsqrt(Quaternion q)
-
-
-

DESCRIPTION
- -
- - The Quaternions are a non-commutative extension field of the Real - numbers, designed to do for rotations in 3-space what the complex - numbers do for rotations in 2-space. Quaternions have a real component - r and an imaginary vector component v=(i,j,k). Quaternions add - componentwise and multiply according to - the rule (r,v)(s,w)=(rs-v.w, rw+vs+vxw), where . and x are the ordinary - vector dot and cross products. The multiplicative inverse of a - non-zero quaternion (r,v) is (r,-v)/(r2-v.v). -
- - The following routines do arithmetic on quaternions, represented - as
- -
- - typedef struct Quaternion Quaternion;
- struct Quaternion{
- -
- - double r, i, j, k;
- -
- };
-
-
- Name    Description
- qadd    Add two quaternions.
- qsub    Subtract two quaternions.
- qneg    Negate a quaternion.
- qmul    Multiply two quaternions.
- qdiv    Divide two quaternions.
- qinv    Return the multiplicative inverse of a quaternion.
- qlen    Return sqrt(q.r*q.r+q.i*q.i+q.j*q.j+q.k*q.k), the length of - a quaternion.
- qunit   Return a unit quaternion (length=1) with components proportional - to q’s. -
- - A rotation by angle θ about axis A (where A is a unit vector) - can be represented by the unit quaternion q=(cos θ/2, Asin θ/2). - The same rotation is represented by -q; a rotation by -θ about -A - is the same as a rotation by θ about A. The quaternion q transforms - points by (0,x’,y’,z’) = q-1(0,x,y,z)q. Quaternion - multiplication composes rotations. The orientation of an object - in 3-space can be represented by a quaternion giving its rotation - relative to some ‘standard’ orientation. -
- - The following routines operate on rotations or orientations represented - as unit quaternions:
- mtoq    Convert a rotation matrix (see matrix(3)) to a unit quaternion.
- qtom    Convert a unit quaternion to a rotation matrix.
- slerp   Spherical lerp. Interpolate between two orientations. The - rotation that carries q to r is q-1r, so slerp(q, r, t) is q(q-1r)t.
- qmid    slerp(q, r, .5)
- qsqrt
   The square root of q. This is just a rotation about the same - axis by half the angle.
- -
-

SOURCE
- -
- - /usr/local/plan9/src/libgeometry/quaternion.c
-
-
-

SEE ALSO
- -
- - matrix(3), qball(3)
- -
- -

-
-
- - -
-
-
-Space Glenda -
-
- - -- cgit v1.2.3