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
940
四元数と回転 / 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
650
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
190
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
340
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
490
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
760
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
680
UICollectionView Compositional Layout
usamik26
0
800
Coding Swift with Visual Studio Code and Docker
usamik26
0
520
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Science
See All in Science
データマイニング - ノードの中心性
trycycle
PRO
0
260
生成検索エンジン最適化に関する研究の紹介
ynakano
2
1.3k
Trend Classification of InSAR Displacement Time Series Using SAE–CNN
satai
4
560
NASの容量不足のお悩み解決!災害対策も兼ねた「Wasabi Cloud NAS」はここがスゴイ
climbteam
0
110
テンソル分解による糖尿病の組織特異的遺伝子発現の統合解析を用いた関連疾患の予測
tagtag
2
220
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
1.5k
機械学習 - pandas入門
trycycle
PRO
0
300
データベース09: 実体関連モデル上の一貫性制約
trycycle
PRO
0
980
研究って何だっけ / What is Research?
ks91
PRO
1
110
How To Buy, Verified Venmo Accounts in 2025 This year
usaallshop68
2
260
データベース08: 実体関連モデルとは?
trycycle
PRO
0
930
機械学習 - DBSCAN
trycycle
PRO
0
990
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Scaling GitHub
holman
462
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
What's in a price? How to price your products and services
michaelherold
246
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
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 次元空間をあらわすことの証明や説 明が書かれています。 松岡 学「数の世界 自然数から実数、複素数、そして四元数
へ」講談社ブルーバックス 矢野 忠「四元数の発見」海鳴社 今野 紀雄「四元数」森北出版 宇佐見 公輔 四元数と回転