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ố
q | Bộ bốn đích cần thêm vào. |
---|---|
rh | Quaternion để 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ố
q | Quaternion để 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ý 0 | Quaternion đầu tiên. |
---|---|
quý 1 | Quaternion 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ố
m | Ma trận kết quả. |
---|---|
q | Quaternion đượ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ố
q | Bộ bốn đích. |
---|---|
mục đích | Góc để xoay theo. |
lần | Thành phần X của vectơ. |
y | Thành phần Y của vectơ. |
z | Thà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ố
q | Bộ bốn đích. |
---|---|
mục đích | Góc để xoay theo, tính bằng radian. |
lần | Thành phần X của vectơ. |
y | Thành phần Y của vectơ. |
z | Thà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ố
q | Bộ bốn đích. |
---|---|
đại lượng vô hướng | Vô hướng để nhân quaternion. |
rh | Quaternion để 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ố
q | Quaternion để 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ố
q | Bộ bốn đích. |
---|---|
w | Thành phần W. |
lần | Thành phần X. |
y | Thành phần Y. |
z | thành phần Z. |
rh | Bộ 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ố
q | Kết quả quaternion từ loại nội suy. |
---|---|
quý 0 | Quaternion đầu vào đầu tiên. |
quý 1 | Quaternion đầu vào thứ hai. |
t | Giá trị để nội suy. |
Thực hiện nội suy tuyến tính hình cầu giữa hai quaternion.