$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
四元数と回転 / Quaternion Rotation
Search
USAMI Kosuke
January 22, 2022
Science
0
980
四元数と回転 / Quaternion Rotation
※ Docswell に移行しました
https://www.docswell.com/s/usami-k/K8G9EX-quaternion-rotation
USAMI Kosuke
January 22, 2022
Tweet
Share
More Decks by USAMI Kosuke
See All by USAMI Kosuke
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
660
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
210
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
350
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
510
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
770
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
690
UICollectionView Compositional Layout
usamik26
0
820
Coding Swift with Visual Studio Code and Docker
usamik26
0
540
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Science
See All in Science
防災デジタル分野での官民共創の取り組み (1)防災DX官民共創をどう進めるか
ditccsugii
0
420
データベース10: 拡張実体関連モデル
trycycle
PRO
0
1k
Collective Predictive Coding as a Unified Theory for the Socio-Cognitive Human Minds
tanichu
0
130
なぜ21は素因数分解されないのか? - Shorのアルゴリズムの現在と壁
daimurat
0
200
Kaggle: NeurIPS - Open Polymer Prediction 2025 コンペ 反省会
calpis10000
0
250
academist Prize 4期生 研究トーク延長戦!「美は世界を救う」っていうけど、どうやって?
jimpe_hitsuwari
0
450
論文紹介 音源分離:SCNET SPARSE COMPRESSION NETWORK FOR MUSIC SOURCE SEPARATION
kenmatsu4
0
440
Vibecoding for Product Managers
ibknadedeji
0
120
データベース01: データベースを使わない世界
trycycle
PRO
1
920
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.2k
知能とはなにかーヒトとAIのあいだー
tagtag
0
160
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
1.1k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Practical Orchestrator
shlominoach
190
11k
Designing for Performance
lara
610
69k
4 Signs Your Business is Dying
shpigford
186
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Fireside Chat
paigeccino
41
3.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Facilitating Awesome Meetings
lara
57
6.7k
Docker and Python
trallard
47
3.7k
How to Ace a Technical Interview
jacobian
280
24k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
1/15 四元数と回転 宇佐見 公輔 2022 年 1 月 22 日
宇佐見 公輔 四元数と回転
2/15 自己紹介 宇佐見 公輔(うさみ こうすけ) 職業:プログラマ 趣味:数学 今日の話に関連する過去の登壇: 四元数のはなし(2020 年
5 月 / 関西日曜数学友の会) 八元数のはなし(2021 年 10 月 / 日曜数学会) 宇佐見 公輔 四元数と回転
3/15 自己紹介 近況: 今年から、株式会社ゆめみ所属 ゆめみメンバーによるグループ Liberal Arts Lab の紹介: 2
月 3 日:タカタ先生のお笑い数学全史・第十四章 produced by Liberal Arts Lab × 日本お笑い数学協会 2 月 24 日: 「僕の本、こう活かそう!」〜数学のお兄さんの 書籍を使った算数・数学の学び方〜 produced by Liberal Arts Lab × 日本お笑い数学協会 宇佐見 公輔 四元数と回転
4/15 四元数とは 四元数 𝑥0 + 𝑥1 i + 𝑥2 j
+ 𝑥3 k(𝑥𝑖 ∈ ℝ)とあらわされる数。 i2 = j2 = k2 = −1 ij = −ji = k, jk = −kj = i, ki = −ik = j 加減乗除が可能(特に除法が可能) 。 分配法則、結合法則、加法の交換法則が成り立つ。 乗法の交換法則が成り立たない。 宇佐見 公輔 四元数と回転
5/15 四元数の大きさ 四元数の大きさ(絶対値) 𝑥 = 𝑥0 + 𝑥1 i +
𝑥2 j + 𝑥3 k(𝑥𝑖 ∈ ℝ)の大きさ |𝑥| は、 |𝑥| = √𝑥2 0 + 𝑥2 1 + 𝑥2 2 + 𝑥2 3 で、大きさは乗法によって保たれる。 |𝑥𝑦| = |𝑥||𝑦| ハミルトンは、この性質が成り立つようなものを探した結 果、三元数を作ることはできず、四元数になった。 宇佐見 公輔 四元数と回転
6/15 2 次元平面上の回転 2 次元平面上の回転 複素数 𝑥 = 𝑥0 +
𝑥1 i に大きさ 1 の複素数 𝑞 をかける操作は、2 次 元平面上の回転をあらわす。 𝑥 ↦ 𝑞𝑥 |𝑞𝑥| = |𝑞||𝑥| = |𝑥| なので原点からの距離が保たれる。 宇佐見 公輔 四元数と回転
7/15 4 次元空間上の回転 4 次元空間上の回転 四元数 𝑥 = 𝑥0 +
𝑥1 i + 𝑥2 j + 𝑥3 k に大きさ 1 の四元数 𝑞 をかける操 作は、4 次元空間上の回転をあらわす。 𝑥 ↦ 𝑞𝑥 |𝑞𝑥| = |𝑞||𝑥| = |𝑥| なので原点からの距離が保たれる。 宇佐見 公輔 四元数と回転
8/15 3 次元空間を考える ハミルトンは 3 次元空間上の回転を表現する方法が欲しかったの だが、三元数は作れなかった。 四元数は 4 次元空間の点に対応する。
𝑥0 + 𝑥1 i + 𝑥2 j + 𝑥3 k ↔ (𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 ) 四元数の虚数部だけを使うことにして(純虚四元数) 、3 次元空間 と対応するようにしてみる。 𝑥1 i + 𝑥2 j + 𝑥3 k ↔ (𝑥1 , 𝑥2 , 𝑥3 ) 宇佐見 公輔 四元数と回転
9/15 純虚四元数 純虚四元数は残念ながら乗法で閉じていない。 (𝑥1 i + 𝑥2 j + 𝑥3
k)(𝑦1 i + 𝑦2 j + 𝑦3 k) = − (𝑥1 𝑦1 + 𝑥2 𝑦2 + 𝑥3 𝑦3 ) + (𝑥2 𝑦3 − 𝑥3 𝑦2 )i + (𝑥3 𝑦1 − 𝑥1 𝑦3 )j + (𝑥1 𝑦2 − 𝑥2 𝑦1 )k そのため、単純に乗法で 3 次元空間上の回転を表現することはで きない。 宇佐見 公輔 四元数と回転
10/15 3 次元空間上の回転 実は次のように表現することができる。 3 次元空間上の回転 純虚四元数 𝑥 = 𝑥1
i + 𝑥2 j + 𝑥3 k に対して、大きさ 1 の四元数 𝑞 を 使った次の操作は、3 次元空間上の回転をあらわす。 𝑥 ↦ 𝑞𝑥𝑞−1 𝑞𝑥𝑞−1 は純虚四元数になる。 宇佐見 公輔 四元数と回転
11/15 3 次元空間上の回転とは 3 次元空間上での回転を少し噛み砕いて考えてみる。 2 次元平面上の原点中心の回転は、角度だけで決まっていた。 3 次元空間上の原点中心の回転は、それに加えて「どの方向に回 転させるか」の情報がないと決まらない。言い方を変えると、
「ど の平面上で回転させるか」とも言える。 つまり、3 次元空間上の原点中心の回転は、平面を指定する法線 ベクトル 𝑛 と、その平面上で回転させる角度 𝜃 との 2 つの情報で 決まる。 (こういうことをビジュアライズする能力が欲しい・・・) 宇佐見 公輔 四元数と回転
12/15 3 次元空間上の回転(再) 3 次元空間上の回転 点 𝑋 = (𝑥1 ,
𝑥2 , 𝑥3 ) を法線ベクトル 𝑛 = (𝑛1 , 𝑛2 , 𝑛3 )(ただし |𝑛| = 1 とする)で決まる平面上を 𝜃 だけ回転させる操作を考える。 純虚四元数 𝑥 = 𝑥1 i + 𝑥2 j + 𝑥3 k に対して、大きさ 1 の四元数 𝑞 = cos 𝜃 2 + (sin 𝜃 2 ) (𝑛1 i + 𝑛2 j + 𝑛3 k) を使った次の操作 𝑥 ↦ 𝑞𝑥𝑞−1 は、上述の 3 次元空間上の回転をあらわす。 宇佐見 公輔 四元数と回転
13/15 3 次元空間上の回転の不思議 実際に回転であることの説明はここではしないけれど、3 次元空 間の点と純虚四元数との対応を念頭に置いて、変換 𝑥 ↦ 𝑞𝑥𝑞−1 が
回転になっているらしいというのを飲み込んだとして。 さらに考えてみると、大きさ 1 の四元数を集めた集合は、乗法で 群をなす。𝑥 ↦ 𝑞𝑥𝑞−1 という操作は、群の言葉でいえば共役をと る操作。純虚四元数に対して、大きさ 1 の四元数の群の元で共役 をとるのが、回転変換あるいは鏡映変換に対応すると考えられる。 それでも、𝑥 ↦ 𝑞𝑥𝑞−1 という操作は、ちょっと不思議な感じが する。 宇佐見 公輔 四元数と回転
14/15 3 次元空間上の回転の不思議 𝑥 と 𝑞𝑥𝑞−1 は純虚四元数であり、3 次元空間の点と対応している。 しかしその過程で出てくる 𝑞𝑥
あるいは 𝑥𝑞−1 は純虚四元数では ない。 つまり、3 次元空間上の回転をあらわすために、一度 4 次元の世 界に飛び出している。 左から 𝑞 をかける操作で、実軸方向に (𝑞|𝑥) だけずれた世界で、外 積 𝑞 × 𝑥 をとる。 そこに右から 𝑞−1 をかける操作で、実軸方向にずらして元の世界 に戻ってきて、外積をとる。 これが実は回転になっているというのである。不思議な感じがし ませんか? 宇佐見 公輔 四元数と回転
15/15 参考文献 結論的な話がない感じですが、参考文献を挙げておきます。 これらには先ほどの操作が 3 次元空間をあらわすことの証明や説 明が書かれています。 松岡 学「数の世界 自然数から実数、複素数、そして四元数
へ」講談社ブルーバックス 矢野 忠「四元数の発見」海鳴社 今野 紀雄「四元数」森北出版 宇佐見 公輔 四元数と回転