計算
クォータニオン
クォータニオン生成 (Quaternion)
Quaternion
入力
- w
- スカラー部(実部)
- x
- ベクトル部x(虚部)
- y
- ベクトル部y(虚部)
- z
- ベクトル部z(虚部)
出力
- out
- クォータニオン
例
入力
- w
- 1.0
- x
- 2.0
- y
- 3.0
- z
- 4.0
出力
- out
-
\[
\begin{bmatrix}
q_w \\
q_x \\
q_y \\
q_z \\
\end{bmatrix}
=
\begin{bmatrix}
1 \\
2 \\
3 \\
4 \\
\end{bmatrix}
\]
計算式
\begin{align}
q=q_w+q_xi+q_yj+q_zk=&
\begin{bmatrix}
q_w \\
q_x \\
q_y \\
q_z \\
\end{bmatrix} \\
i^2+j^2+k^2=&-1 \\
ij=&k \\
jk=&i \\
ki=&j
\end{align}
比較 (qtEQ)
qtEQ
例
加算 (qtADD)
qtADD
入力
- Q1
- クォータニオン1
- Q2
- クォータニオン2
出力
- out
- クォータニオン
例
入力
- Q1
- [1.0, 1.0, 1.0, 1.0]
- Q2
- [0.5, 2.0, 1.0, 0.0]
出力
- out
- [1.5, 3.0, 2.0, 1.0]
計算式
\[
Q1+Q2 =
\begin{bmatrix}
a_{w} \\
a_{x} \\
a_{y} \\
a_{z} \\
\end{bmatrix}
+
\begin{bmatrix}
b_{w} \\
b_{x} \\
b_{y} \\
b_{z} \\
\end{bmatrix}
= out
\]
減算 (qtSUB)
qtSUB
入力
- Q1
- クォータニオン1
- Q2
- クォータニオン2
出力
- out
- クォータニオン
例
入力
- Q1
- [1.0, 1.0, 1.0, 1.0]
- Q2
- [0.5, 2.0, 1.0, 0.0]
出力
- out
- [0.5, -1.0, 0.0, 1.0]
計算式
\[
Q1-Q2 =
\begin{bmatrix}
a_{w} \\
a_{x} \\
a_{y} \\
a_{z} \\
\end{bmatrix}
-
\begin{bmatrix}
b_{w} \\
b_{x} \\
b_{y} \\
b_{z} \\
\end{bmatrix}
= out
\]
外積 (qtCross)
qtCross
入力
- Q1
- クォータニオン1
- Q2
- クォータニオン2
出力
- out
- クォータニオン
例
入力
- Q1
- [1.0, 1.0, 1.0, 1.0]
- Q2
- [0.5, 2.0, 1.0, 0.0]
出力
- out
- [-2.5, 1.5, 3.5, -0.5]
計算式
\[
Q1\times Q2 =
\begin{bmatrix}
a_{w} \\
a_{x} \\
a_{y} \\
a_{z} \\
\end{bmatrix}
\times
\begin{bmatrix}
b_{w} \\
b_{x} \\
b_{y} \\
b_{z} \\
\end{bmatrix}
= out
\]
共役 (qtCQ)
qtCQ
入力
- qt
- クォータニオン
出力
- out
- クォータニオン
例
入力
- qt
- [0.5, 2.0, 1.0, 0.0]
出力
- out
- [0.5, -2.0, -1.0, -0.0]
計算式
\[
\bar{qt} =
\begin{bmatrix}
a_{w} \\
a_{x} \\
a_{y} \\
a_{z} \\
\end{bmatrix}
= out
\]
実部の設定 (qtSetReal)
qtSetReal
入力
- w
- スカラー部(実部)
入出力
- qt
- クォータニオン
例
入力
- w
- 0.5
入出力
- qt
- [0.5, 0.0, 0.0, 0.0]
虚部の設定 (qtSetImag)
qtSetImag
入力
- vec
- ベクトル部(虚部)
入出力
- qt
- クォータニオン
例
入力
- vec
- [1.0, 2.0, 3.0]
入出力
- qt
- [0.0, 1.0, 2.0, 3.0]