Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
kzc_quaternion.h File Reference

Quaternion operations. More...

Data Structures

struct  KzcQuaternion
 Structure of quaternion. More...
 

Functions

void kzcQuaternionSetIdentity (struct KzcQuaternion *quaternion)
 Sets identity quaternion. More...
 
void kzcQuaternionInitializeFromVector (const struct KzcVector3 *axis, kzFloat angleInRadians, struct KzcQuaternion *out_quaternion)
 Creates quaternion from vector and and angle. More...
 
void kzcQuaternionInitializeFromMatrix4x4 (const struct KzcMatrix4x4 *matrix, struct KzcQuaternion *out_quaternion)
 Creates quaternion from matrix. More...
 
void kzcQuaternionConvertToMatrix4x4 (const struct KzcQuaternion *quaternion, struct KzcMatrix4x4 *out_matrix)
 Converts quaternion from 4x4 matrix. More...
 
void kzcQuaternionMultiply (const struct KzcQuaternion *quaternion1, const struct KzcQuaternion *quaternion2, struct KzcQuaternion *out_quaternion)
 Multiplies 2 quaternions, resulting rotation. More...
 
void kzcQuaternionMultiplyVector3 (const struct KzcQuaternion *quaternion, const struct KzcVector3 *vector3, struct KzcVector3 *out_vector3)
 Multiplies quaternion with vector, i.e. More...
 
void kzcQuaternionNormalize (struct KzcQuaternion *quaternion)
 Normalizes a quaternion. More...
 
void kzcQuaternionInverse (struct KzcQuaternion *quaternion)
 Inverses a quaternion. More...
 
void kzcQuaternionSlerp (const struct KzcQuaternion *quaternion1, const struct KzcQuaternion *quaternion2, kzFloat t, struct KzcQuaternion *out_quaternion)
 Spherical interpolation of 2 quaternions. More...
 

Detailed Description

Quaternion operations.

Copyright 2008-2019 by Rightware. All rights reserved.

Function Documentation

void kzcQuaternionSetIdentity ( struct KzcQuaternion quaternion)

Sets identity quaternion.

void kzcQuaternionInitializeFromVector ( const struct KzcVector3 axis,
kzFloat  angleInRadians,
struct KzcQuaternion out_quaternion 
)

Creates quaternion from vector and and angle.

void kzcQuaternionInitializeFromMatrix4x4 ( const struct KzcMatrix4x4 matrix,
struct KzcQuaternion out_quaternion 
)

Creates quaternion from matrix.

void kzcQuaternionConvertToMatrix4x4 ( const struct KzcQuaternion quaternion,
struct KzcMatrix4x4 out_matrix 
)

Converts quaternion from 4x4 matrix.

void kzcQuaternionMultiply ( const struct KzcQuaternion quaternion1,
const struct KzcQuaternion quaternion2,
struct KzcQuaternion out_quaternion 
)

Multiplies 2 quaternions, resulting rotation.

void kzcQuaternionMultiplyVector3 ( const struct KzcQuaternion quaternion,
const struct KzcVector3 vector3,
struct KzcVector3 out_vector3 
)

Multiplies quaternion with vector, i.e.

applies rotation to vector.

void kzcQuaternionNormalize ( struct KzcQuaternion quaternion)

Normalizes a quaternion.

void kzcQuaternionInverse ( struct KzcQuaternion quaternion)

Inverses a quaternion.

void kzcQuaternionSlerp ( const struct KzcQuaternion quaternion1,
const struct KzcQuaternion quaternion2,
kzFloat  t,
struct KzcQuaternion out_quaternion 
)

Spherical interpolation of 2 quaternions.

t as interpolation value ranging [0, 1].