Hàm quaternion RenderScript

Tổng quan

Các hàm sau đây thao tác với các quaternion.

Tóm tắt

Hàm
rsQuaternionAdd Cộng hai quaternion
Liên hợp rsQuaternion Liên hợp một quaternion
rsQuaternionDot Tích chấm của hai quaternion
rsQuaternionGetMatrixUnit Nhận ma trận xoay từ một quaternion
rsQuaternionLoadLoad Tạo một bộ bốn xoay
rsQuaternionLoad rotationUnit Quaternion biểu thị phép xoay quanh một vectơ đơn vị tuỳ ý
rsQuaternionPeople Nhân một quaternion với một đại lượng vô hướng hoặc một quaternion khác
rsQuaternionChuẩn hoá Chuẩn hoá một quaternion
rsQuaternionSet Tạo quaternion
rsQuaternionSlerp Loại nội suy tuyến tính hình cầu giữa hai quaternion

Hàm

rsQuaternionAdd : Thêm hai quaternion

void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs);
Tham số
qBộ bốn đích cần thêm vào.
rhQuaternion để thêm.

Cộng hai quaternion, tức là *q += *rhs;

rsQuaternionConjugate : Liên hợp một quaternion

void rsQuaternionConjugate(rs_quaternion* q);
Tham số
qQuaternion để sửa đổi.

Liên hợp quaternion.

rsQuaternionDot : Tích dấu chấm của hai quaternion

float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1);
Tham số
quý 0Quaternion đầu tiên.
quý 1Quaternion thứ hai.

Trả về tích của hai quaternion.

rsQuaternionGetMatrixUnit : Lấy ma trận xoay từ một quaternion

vô hiệu rsQuaternionGetMatrixUnit(rs_ma4x4* m, const rs_quaternion* q);
Tham số
mMa trận kết quả.
qQuaternion được chuẩn hoá.

Tính toán ma trận xoay từ quaternion được chuẩn hoá.

rsQuaternionLoadRotate : Tạo một bộ bốn xoay

void rsQuaternionLoadRotate(rs_quaternion* q, float rot, float x, float y, float z);
Tham số
qBộ bốn đích.
mục đíchGóc để xoay theo.
lầnThành phần X của vectơ.
yThành phần Y của vectơ.
zThành phần Z của vectơ.

Tải một quaternion đại diện cho phép xoay đối với một vectơ tuỳ ý (không nhất thiết phải là đơn vị)

rsQuaternionLoadRotateUnit : Quaternion biểu thị độ xoay quanh một vectơ đơn vị tuỳ ý

void rsQuaternionLoadPivotUnit(rs_quaternion* q, dấu phẩy động, số thực x, số thực y, số thực z);
Tham số
qBộ bốn đích.
mục đíchGóc để xoay theo, tính bằng radian.
lầnThành phần X của vectơ.
yThành phần Y của vectơ.
zThành phần Z của vectơ.

Tải một quaternion đại diện cho phép xoay quanh một vectơ đơn vị tuỳ ý.

rsQuaternionPeople : Nhân một quaternion với một đại lượng vô hướng hoặc một quaternion khác

void rsQuaternionPeople(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionPeople(rs_quaternion* q, float scalar);
Tham số
qBộ bốn đích.
đại lượng vô hướngVô hướng để nhân quaternion.
rhQuaternion để nhân quaternion đích với.

Nhân một quatern với một đại lượng vô hướng hoặc với một quaternion khác, ví dụ: *q = *q * scalar; hoặc *q = *q * *rhs;.

rsQuaternionChuẩn hoá : Chuẩn hoá một quaternion

void rsQuaternionStandardize(rs_quaternion* q);
Tham số
qQuaternion để chuẩn hoá.

Chuẩn hoá quaternion.

rsQuaternionSet : Tạo một quaternion

void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z);
Tham số
qBộ bốn đích.
wThành phần W.
lầnThành phần X.
yThành phần Y.
zthành phần Z.
rhBộ quaternion nguồn.

Tạo một quaternion từ bốn thành phần của nó hoặc từ một quaternion khác.

rsQuaternionSlerp : Loại nội suy tuyến tính hình cầu giữa hai quaternion

void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t);
Tham số
qKết quả quaternion từ loại nội suy.
quý 0Quaternion đầu vào đầu tiên.
quý 1Quaternion đầu vào thứ hai.
tGiá trị để nội suy.

Thực hiện nội suy tuyến tính hình cầu giữa hai quaternion.