Contents
About the Mathematical Utilities
QuickDraw 3D Mathematical Utilities Reference
Data Structures
Bounding Boxes
Bounding Spheres
QuickDraw 3D Mathematical Utilities
Setting Points and Vectors
Q3Point2D_Set
Q3Param2D_Set
Q3Point3D_Set
Q3RationalPoint3D_Set
Q3RationalPoint4D_Set
Q3PolarPoint_Set
Q3SphericalPoint_Set
Q3Vector2D_Set
Q3Vector3D_Set
Converting Dimensions of Points and Vectors
Q3Point2D_To3D
Q3Point3D_To4D
Q3RationalPoint3D_To2D
Q3RationalPoint4D_To3D
Q3Vector2D_To3D
Q3Vector3D_To2D
Subtracting Points
Q3Point2D_Subtract
Q3Param2D_Subtract
Q3Point3D_Subtract
Calculating Distances Between Points
Q3Point2D_Distance
Q3Param2D_Distance
Q3Point3D_Distance
Q3RationalPoint3D_Distance
Q3RationalPoint4D_Distance
Q3Point2D_DistanceSquared
Q3Param2D_DistanceSquared
Q3Point3D_DistanceSquared
Q3RationalPoint3D_DistanceSquared
Q3RationalPoint4D_DistanceSquared
Determining Point Relative Ratios
Q3Point2D_RRatio
Q3Param2D_RRatio
Q3Point3D_RRatio
Q3RationalPoint4D_RRatio
Adding and Subtracting Points and Vectors
Q3Point2D_Vector2D_Add
Q3Param2D_Vector2D_Add
Q3Point3D_Vector3D_Add
Q3Point2D_Vector2D_Subtract
Q3Param2D_Vector2D_Subtract
Q3Point3D_Vector3D_Subtract
Scaling Vectors
Q3Vector2D_Scale
Q3Vector3D_Scale
Determining the Lengths of Vectors
Q3Vector2D_Length
Q3Vector3D_Length
Normalizing Vectors
Q3Vector2D_Normalize
Q3Vector3D_Normalize
Adding and Subtracting Vectors
Q3Vector2D_Add
Q3Vector3D_Add
Q3Vector2D_Subtract
Q3Vector3D_Subtract
Determining Vector Cross Products
Q3Vector2D_Cross
Q3Vector3D_Cross
Q3Point3D_CrossProductTri
Determining Vector Dot Products
Q3Vector2D_Dot
Q3Vector3D_Dot
Transforming Points and Vectors
Q3Vector2D_Transform
Q3Vector3D_Transform
Q3Point2D_Transform
Q3Param2D_Transform
Q3Point3D_Transform
Q3RationalPoint4D_Transform
Q3Point3D_To3DTransformArray
Q3Point3D_To4DTransformArray
Q3RationalPoint4D_To4DTransformArray
Negating Vectors
Q3Vector2D_Negate
Q3Vector3D_Negate
Converting Points from Cartesian to Polar or Spherical Form
Q3Point2D_ToPolar
Q3PolarPoint_ToPoint2D
Q3Point3D_ToSpherical
Q3SphericalPoint_ToPoint3D
Determining Point Affine Combinations
Q3Point2D_AffineComb
Q3Param2D_AffineComb
Q3Point3D_AffineComb
Q3RationalPoint3D_AffineComb
Q3RationalPoint4D_AffineComb
Managing Matrices
Q3Matrix3x3_Copy
Q3Matrix4x4_Copy
Q3Matrix3x3_SetIdentity
Q3Matrix4x4_SetIdentity
Q3Matrix3x3_Transpose
Q3Matrix4x4_Transpose
Q3Matrix3x3_Invert
Q3Matrix4x4_Invert
Q3Matrix3x3_Adjoint
Q3Matrix3x3_Multiply
Q3Matrix4x4_Multiply
Q3Matrix3x3_Determinant
Q3Matrix4x4_Determinant
Setting Up Transformation Matrices
Q3Matrix3x3_SetTranslate
Q3Matrix3x3_SetScale
Q3Matrix3x3_SetRotateAboutPoint
Q3Matrix4x4_SetTranslate
Q3Matrix4x4_SetScale
Q3Matrix4x4_SetRotateAboutPoint
Q3Matrix4x4_SetRotateAboutAxis
Q3Matrix4x4_SetRotate_X
Q3Matrix4x4_SetRotate_Y
Q3Matrix4x4_SetRotate_Z
Q3Matrix4x4_SetRotate_XYZ
Q3Matrix4x4_SetRotateVectorToVector
Q3Matrix4x4_SetQuaternion
Utility Functions
Managing Quaternions
Q3Quaternion_Set
Q3Quaternion_SetIdentity
Q3Quaternion_Copy
Q3Quaternion_IsIdentity
Q3Quaternion_Invert
Q3Quaternion_Normalize
Q3Quaternion_Dot
Q3Quaternion_Multiply
Q3Quaternion_SetRotateAboutAxis
Q3Quaternion_SetRotate_X
Q3Quaternion_SetRotate_Y
Q3Quaternion_SetRotate_Z
Q3Quaternion_SetRotate_XYZ
Q3Quaternion_SetMatrix
Q3Quaternion_SetRotateVectorToVector
Q3Quaternion_MatchReflection
Q3Quaternion_InterpolateFast
Q3Quaternion_InterpolateLinear
Q3Vector3D_TransformQuaternion
Q3Point3D_TransformQuaternion
Managing Bounding Boxes
Q3BoundingBox_Copy
Q3BoundingBox_Union
Q3BoundingBox_Set
Q3BoundingBox_UnionPoint3D
Q3BoundingBox_UnionRationalPoint4D
Q3BoundingBox_SetFromPoints3D
Q3BoundingBox_SetFromRationalPoints4D
Managing Bounding Spheres
Q3BoundingSphere_Copy
Q3BoundingSphere_Union
Q3BoundingSphere_Set
Q3BoundingSphere_UnionPoint3D
Q3BoundingSphere_UnionRationalPoint4D
Q3BoundingSphere_SetFromPoints3D
Q3BoundingSphere_SetFromRationalPoints4D
© 1997 Apple Computer, Inc.