Quaternion

lớp công khai Quaternion

Một lớp quaternion hình thức dành cho float.

Toán tử bậc bốn là Hamilton sử dụng quy ước bên phải.

Các trường

float công khai tuần
float công khai x
float công khai năm
float công khai z

Xây dựng công cộng

Quaternion ()
Tạo Quaternion và đặt thành Identity
Quốc gia (nổi x, nổi y, nổi z, nổi w)
Tạo Quaternion và đặt từng giá trị.
Quaternion(Quaternion q)
Xây dựng Quaternion bằng cách sử dụng các giá trị từ một Quaternion khác
Quaternion(Trục Vector3, góc nổi)
Tạo Quaternion bằng cách sử dụng trục/góc để xác định chế độ xoay
Quaternion(Vector3 eulerAngles)
Xây dựng Quaternion dựa trên eulerAngles.

Phương thức công khai

Tĩnh
Trục góc(Trục Vector3, độ nổi)
Lấy quaternion mới bằng cách sử dụng trục/góc để xác định chế độ xoay
boolean tĩnh
equals(Quaternion lhs, Quaternion rhs)
So sánh 2,4 tỷ

Kiểm tra đẳng thức bằng cách tính tích tích của các số lh và rh.

boolean
equals(Đối tượng khác)
Trả về true nếu đối tượng còn lại là Quaternion và tích số chấm là 1,0 +/- dung sai.
Tĩnh
eulerAngles(Vector3 eulerAngles)
Nhận một Quaternion mới bằng cách sử dụng eulerAngles để xác định cách xoay.
Tĩnh
identity()
Đặt quaternion thành danh tính
tĩnh Vector3
Quy ước
đảo ngược()
Nhận quaternion với chế độ xoay ngược lại
Tĩnh
LookRotation (Vector3 progressInWorld, Vector3 mongUpInWorld)
Nhận được Quaternion mới biểu thị việc xoay theo một hướng tiến đã chỉ định.
Tĩnh
nhân (Quaternion lhs, Quaternion rhs)
Tạo một Quaternion bằng cách kết hợp hai Quaternion nhân(lhs, rhs) tương đương với việc thực hiện xoay rhs, sau đó xoay lhs Thứ tự rất quan trọng cho thao tác này.
boolean
bình thường hóa()
Điều chỉnh tỷ lệ quaternion thành độ dài đơn vị.
Quy ước
bình thường hóa()
Nhận quaternion với một chế độ xoay phù hợp nhưng được điều chỉnh theo tỷ lệ độ dài đơn vị.
tĩnh Vector3
RotateVector(Quaternion q, Vector3 src)
Xoay một Vector3 bằng một Quaternion
Tĩnh
rotationbetweenVectors(Vector3 bắt đầu, Vector3 kết thúc)
Nhận một Quaternion mới biểu thị việc xoay từ một vectơ sang một vectơ khác.
void
đặt(float qx, float qy, float qz, float qw)
Đặt từng giá trị và chuẩn hoá Quaternion
void
set(Trục Vector3, góc nổi)
Cập nhật Quaternion này bằng cách sử dụng trục/góc để xác định chế độ xoay
void
set(Số người dùng q)
Sao chép các giá trị từ một Quaternion khác vào vùng này
void
setIdentity()
Đặt Quaternion về danh tính
Tĩnh
slerp(Quaternion bắt đầu, Quaternion end, float t)
Chuỗi

Các phương thức kế thừa

Các trường

dấu phẩy động công khai w

dấu phẩy động công khai x

dấu phẩy động công khai y

dấu phẩy động công khai z

Xây dựng công cộng

công khai Quaternion ()

Tạo Quaternion và đặt thành Identity

công khai Quaternion (float x, float y, float z, float w)

Tạo Quaternion và đặt từng giá trị. Quaternion sẽ được chuẩn hoá trong quá trình xây dựng

Các tham số
lần
y
z

công khai Quaternion (Quaternion q)

Xây dựng Quaternion bằng cách sử dụng các giá trị từ một Quaternion khác

Các tham số
q

công khai Quy tắc (Trục 3, góc nổi)

Tạo Quaternion bằng cách sử dụng trục/góc để xác định chế độ xoay

Các tham số
axis Đặt hướng xoay
góc giữa A và B Kích thước góc tính bằng độ

công khai Quaternion (Vector3 eulerAngles)

Xây dựng Quaternion dựa trên eulerAngles.

Các tham số
eulerAngles – góc tính theo độ cho mỗi trục.

Phương thức công khai

công khai Tĩnh

Lấy quaternion mới bằng cách sử dụng trục/góc để xác định chế độ xoay

Các tham số
axis Đặt hướng xoay
độ Kích thước góc tính bằng độ

boolean công khai boolean equals (Quaternion lhs, Quaternion rhs)

So sánh 2,4 tỷ

Kiểm tra sự cân bằng bằng cách tính tích của số chấm lh và rh. lhs và -lhs sẽ không bằng với hàm này.

Các tham số
lhs
rh

boolean công khai equals (Đối tượng khác)

Trả về true nếu đối tượng còn lại là Quaternion và tích số chấm là 1,0 +/- dung sai.

Các tham số
Chi phí khác

công khai Quaternion eulerAngles (Vector3 eulerAngles)

Nhận một Quaternion mới bằng cách sử dụng eulerAngles để xác định cách xoay.

Các chế độ xoay được áp dụng theo thứ tự Z, Y, X. Tính năng này nhất quán với các công cụ đồ hoạ khác. Cần lưu ý là hệ thống toạ độ lại khác nhau giữa Sceneform và Unity, vì vậy các góc tương tự sử dụng ở đây sẽ tạo ra hướng khác với Unity. Hãy kiểm tra kỹ các giá trị thông số để có được hiệu quả tương tự như trong các công cụ khác.

Các tham số
eulerAngles – góc độ.

công khai Quaternion identity ()

Đặt quaternion thành danh tính

public static Vector3 verseverseVector (Quaternion q, Vector3 src)

Các tham số
q
src

công khai Quaternion đảo ngược ()

Nhận quaternion với chế độ xoay ngược lại

Trả về
  • xoay ngược chiều

public static Quaternion LookRotation (Vector3 progressInWorld, Vector3 mongUpInWorld)

Nhận được Quaternion mới biểu thị việc xoay theo một hướng tiến đã chỉ định. Nếu upInWorld là trực giao với progressInWorld, thì trục Y sẽ căn chỉnh với mongUpInWorld.

Các tham số
FrontInWorld
muốnUpInWorld

công khai Quaternion nhân (Quaternion lhs, Quaternion rhs)

Tạo một Quaternion bằng cách kết hợp hai Quaternion nhân(lhs, rhs) tương đương với việc thực hiện xoay rhs, sau đó xoay lhs Thứ tự rất quan trọng cho thao tác này.

Các tham số
lhs
rh
Trả về
  • Xoay vòng kết hợp

boolean công khai chuẩn hoá ()

Điều chỉnh tỷ lệ quaternion thành độ dài đơn vị.

Nếu không thể mở rộng Quaternion, Quaternion sẽ được đặt thành Identity và false được trả về.

Trả về
  • true nếu Quaternion khác 0

công khai Quaternion chuẩn hoá ()

Nhận quaternion với một chế độ xoay phù hợp nhưng được điều chỉnh theo tỷ lệ độ dài đơn vị.

Trả về
  • quaternion được chia tỷ lệ theo độ dài đơn vị hoặc bằng 0 nếu không thể thực hiện việc này.

công khai Vector3 rotateVector (Quaternion q, Vector3 src)

Xoay một Vector3 bằng một Quaternion

Các tham số
q
src
Trả về
  • Vectơ xoay

công khai Quaternion rotationbetweenVectors (Vector3 bắt đầu, Vector3 end)

Nhận một Quaternion mới biểu thị việc xoay từ một vectơ sang một vectơ khác.

Các tham số
bắt đầu
end

public void set (float qx, float qy, float qz, float qw)

Đặt từng giá trị và chuẩn hoá Quaternion

Các tham số
qx
so với cùng kỳ năm trước
qz
số lượng

public void set (Vector3 trục, float corner)

Cập nhật Quaternion này bằng cách sử dụng trục/góc để xác định chế độ xoay

Các tham số
axis
góc giữa A và B

public void set (Quaternion q) ()

Sao chép các giá trị từ một Quaternion khác vào vùng này

Các tham số
q

public void setIdentity () là bao gồm

Đặt Quaternion về danh tính

công khai Quaternion slerp (Quaternion bắt đầu, Quaternion end, float t)

Các tham số
bắt đầu
end
t

công khai Chuỗi toString ()