Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
四元数と回転 / Quaternion Rotation
Search
USAMI Kosuke
January 22, 2022
Science
0
850
四元数と回転 / 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
530
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
110
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
280
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
430
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
690
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
610
UICollectionView Compositional Layout
usamik26
0
680
Coding Swift with Visual Studio Code and Docker
usamik26
0
450
Swift Extension for Visual Studio Code
usamik26
2
910
Other Decks in Science
See All in Science
AI科学の何が“哲学”の問題になるのか ~問いマッピングの試み~
rmaruy
1
2.2k
HAS Dark Site Orientation
astronomyhouston
0
5.3k
山形とさくらんぼに関するレクチャー(YG-900)
07jp27
1
220
機械学習による確率推定とカリブレーション/probabilistic-calibration-on-classification-model
ktgrstsh
2
240
【人工衛星】座標変換についての説明
02hattori11sat03
0
110
Coqで選択公理を形式化してみた
soukouki
0
200
Online Feedback Optimization
floriandoerfler
0
300
Celebrate UTIG: Staff and Student Awards 2024
utig
0
460
20分で分かる Human-in-the-Loop 機械学習におけるアノテーションとヒューマンコンピューターインタラクションの真髄
hurutoriya
5
2.3k
240510 COGNAC LabChat
kazh
0
130
Mechanistic Interpretability の紹介
sohtakahashi
0
350
教師なしテンソル分解に基づく、有糸分裂後の転写再活性化におけるヒストン修飾ブックマークとしての転写因子候補の抽出法
tagtag
0
120
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
20
1.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Building Applications with DynamoDB
mza
90
6.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Optimizing for Happiness
mojombo
376
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Raft: Consensus for Rubyists
vanstee
136
6.6k
How GitHub (no longer) Works
holman
310
140k
Code Reviewing Like a Champion
maltzj
520
39k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Fireside Chat
paigeccino
34
3k
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 次元空間をあらわすことの証明や説 明が書かれています。 松岡 学「数の世界 自然数から実数、複素数、そして四元数
へ」講談社ブルーバックス 矢野 忠「四元数の発見」海鳴社 今野 紀雄「四元数」森北出版 宇佐見 公輔 四元数と回転