Kuaternion Hesaplama Aracı Nedir?
Kuaternion, \(q = w + xi + yj + zk\) biçiminde yazılan dört boyutlu bir sayıdır. Burada w skaler (gerçek) kısmı, (x, y, z) ise vektörel (sanal) kısmı temsil eder. Kuaternionlar; 3B bilgisayar grafiklerinde, robotikte, havacılık-uzay alanında ve fizikte dönmeleri ifade etmek için yaygın olarak kullanılır. Euler açılarında görülen gimbal kilidi (gimbal lock) sorunlarını yaşatmadıkları için tercih edilirler. Bu araç iki kuaternionu çarpar, ayrıca her bir girdinin normunu ve birinci kuaternionun eşleniğini de verir.
Nasıl Kullanılır?
q1 ve q2 kuaternionlarının her biri için dört bileşeni (w, x, y, z) girin. Araç; q1 × q2 Hamilton çarpımını yeni bir kuaternion olarak, her iki girdinin büyüklüğünü (norm) ve q1'in eşleniğini hesaplar. Kuaternion çarpımı değişmeli değildir: genel olarak q1 × q2 ≠ q2 × q1 olur; dolayısıyla sıralama önemlidir.
Formülün Açıklaması
Hamilton çarpımı bir skaler kısım ile bir vektörel kısmı birleştirir. Skaler sonuç, w₁w₂ değerinden vektörel kısımların nokta çarpımının çıkarılmasıyla bulunur. Vektörel sonuç ise w₁v₂ + w₂v₁ ifadesine v₁ × v₂ çapraz çarpımının eklenmesiyle elde edilir. Norm, Öklid uzunluğu olan \(\sqrt{w^{2}+x^{2}+y^{2}+z^{2}}\) değeridir; eşlenik ise yalnızca vektör bileşenlerinin işaretini değiştirir: \(q^{*} = (w, -x, -y, -z)\).
$$\begin{gathered} q_1 q_2 = (w_1 w_2 - x_1 x_2 - y_1 y_2 - z_1 z_2) + (w_1 x_2 + x_1 w_2 + y_1 z_2 - z_1 y_2)\,i \\ + (w_1 y_2 - x_1 z_2 + y_1 w_2 + z_1 x_2)\,j + (w_1 z_2 + x_1 y_2 - y_1 x_2 + z_1 w_2)\,k \\[1.5em] \text{where}\quad \left\{ \begin{aligned} q_1 &= \text{w}_1 + \text{x}_1\,i + \text{y}_1\,j + \text{z}_1\,k \\ q_2 &= \text{w}_2 + \text{x}_2\,i + \text{y}_2\,j + \text{z}_2\,k \end{aligned} \right. \end{gathered}$$
$$q_1^{*} = \text{w}_1 - \text{x}_1\,i - \text{y}_1\,j - \text{z}_1\,k$$
$$\lVert q_1 \rVert = \sqrt{\text{w}_1^{2} + \text{x}_1^{2} + \text{y}_1^{2} + \text{z}_1^{2}}$$
$$\lVert q_2 \rVert = \sqrt{\text{w}_2^{2} + \text{x}_2^{2} + \text{y}_2^{2} + \text{z}_2^{2}}$$
Çözümlü Örnek
q1 = (1, 2, 3, 4) ve q2 = (5, 6, 7, 8) olsun. Skaler kısım: \(1\cdot5 - 2\cdot6 - 3\cdot7 - 4\cdot8 = 5 - 12 - 21 - 32 = -60\). i kısmı: \(1\cdot6 + 2\cdot5 + 3\cdot8 - 4\cdot7 = 6 + 10 + 24 - 28 = 12\). j kısmı: \(1\cdot7 - 2\cdot8 + 3\cdot5 + 4\cdot6 = 7 - 16 + 15 + 24 = 30\). k kısmı: \(1\cdot8 + 2\cdot7 - 3\cdot6 + 4\cdot5 = 8 + 14 - 18 + 20 = 24\). Buna göre \(q_1 \times q_2 = (-60, 12, 30, 24)\).
Sıkça Sorulan Sorular
Kuaternion çarpımı değişmeli midir? Hayır. Çapraz çarpım terimi nedeniyle q1 × q2 genellikle q2 × q1'den farklıdır.
Birim kuaternion nedir? Normu 1'e eşit olan kuaterniondur. Birim kuaternionlar, 3B uzaydaki saf dönmeleri temsil eder.
Bir vektörü nasıl döndürürüm? Vektörü w = 0 olan bir kuaternion gibi ele alın ve q · v · q* işlemini hesaplayın; burada q, dönmeyi kodlayan bir birim kuaterniondur.