Một quaternion nói chung là một phần mở rộng của một số phức thành 4 chiều. Vì vậy, không, chúng không chỉ là x, y, và z, và một góc, nhưng chúng gần gũi. dưới đây thêm ...
Quaternions có thể được sử dụng để represent rotation, vì vậy họ đang có ích cho đồ họa:
Unit quaternion cung cấp một tiện lợi ký hiệu toán học cho đại diện định hướng và quay các đối tượng trong ba chiều . So với các góc Euler , chúng đơn giản hơn để soạn và tránh vấn đề khóa gimbal. So với ma trận xoay, chúng là ổn định về số lượng và có thể là hiệu quả hơn.
Vì vậy, 4 thành phần và how do they relate to the rotation?
Các [đơn vị quaternion] điểm là gì (w, x, y, z) đại diện cho một vòng quay xung quanh trục của đạo diễn vector (x, y, z) bởi alpha góc = 2 cos -1 w = 2 sin -1 sqrt (x + y + z).
Vì vậy, trở lại câu hỏi của bạn,
Ý nghĩa nếu bạn có X = 0, Z = 0 và Y = 1 đối tượng sẽ phải đối mặt lên?
Không ... đối tượng sẽ xoay quanh vector <0,1,0>
này, tức là xoay quanh trục y, xoay ngược chiều kim đồng hồ như đã thấy ở trên, nếu hệ thống đồ họa của bạn sử dụng xoay vòng bên phải. (Và nếu chúng ta cắm vào w = sqrt (1 - (0 + 1 + 0)), quaternion đơn vị của bạn là (0,0,1,0), và nó sẽ xoay theo góc 2 cos -1 0, = 2 * 90 độ = 180 độ hoặc pi radian.)
Và nếu bạn có Y = 0, Z = 0 và X = 1 đối tượng sẽ phải đối mặt bên phải không?
Điều này sẽ xoay quanh vectơ <1,0,0>
, trục x, vì vậy nó sẽ xoay ngược chiều kim đồng hồ theo hướng x dương (ví dụ: bên phải). Vì vậy, đầu sẽ quay về phía trước (180 độ, do đó, nó sẽ xoay cho đến khi nó phải đối mặt xuống).
đường hoặc lối đi bên trái? – clamp
@clamp: Tùy thuộc vào hệ thống là thuận tay trái hay thuận tay phải. – kennytm
OP cho biết "Y up và Z depth". – LarsH