Presentation is loading. Please wait.

Presentation is loading. Please wait.

インタラクティブ技術に必要な 数学と物理 東京工業大学 長谷川晶一.

Similar presentations


Presentation on theme: "インタラクティブ技術に必要な 数学と物理 東京工業大学 長谷川晶一."— Presentation transcript:

1 インタラクティブ技術に必要な 数学と物理 東京工業大学 長谷川晶一

2 自己紹介 長谷川晶一 VRをはじめて11年.学部2年からVRコンテストに参加 コンテストで忙しくて授業に出ない日々
教養の数学・物理は,ぎりぎりで単位取得 VRコンテスト→東工大 佐藤・小池研 (力覚インタフェースSPIDARの研究室) 最近は動力学シミュレーションも研究

3 VRシステムの中の数学と物理 VRシステム 提示装置 コンピュータ 数学 物理 計測装置 大画面 HMD 3DCGレンダリング
ポヒマス 加速度センサ 数学 物理 数学 物理 コンピュータ 3DCGレンダリング シミュレーション 数学 物理

4 今日の目標 数学がVR役立つということを納得してもらいたい. VRシステムを作るために必要な最小限の数学と 物理の話をする.
あとで,自分の問題を解くために,教科書のどこを見ればよいか分かるように. 今日の話は(あたりまえですが)不完全です.いつか,それに気づいてほしいです.

5 話の進行 位置の数値化 座標系の変換と行列 積分・微分と シミュレーション 物理シミュレーション 安定性と行列のn乗 トピック
アプリケーション 教科書 位置の数値化 座標系の変換と行列 逆変換 回転変換 行列のランク 積分・微分と シミュレーション 物理シミュレーション 運動方程式(質点・剛体) 安定性と行列のn乗 位置・角度センサ 3DCG ロボット シミュレーション 制御 線形代数 微分積分 力学

6 位置と数値 ポヒマスセンサ という位置センサ トランスミッタからみた,レシーバ位置を計測 レシーバ トランスミッタ

7 位置と数値 数値で表さなければならない コンピュータ レシーバ トランスミッタ

8 位置と数値 レシーバの位置(P)は,トランスミッタ(O)から 矢印pだけ進んだところ 矢印pを数値で表したい. P p O

9 位置と数値 レシーバの位置(P)は,トランスミッタ(O)から 矢印pだけ進んだところ 矢印pを数値で表したい.
向きと長さの基準が必要:基底(基準の矢印) P ez ex ey p O 矢印p は,ex 3つ分+ ey 2つ分+ ez 1つ分 これを,p=3ex + 2ey + 1ez と書く

10 位置と数値 レシーバの位置(P)は,トランスミッタ(O)から 矢印p =3ex + 2ey + 1ezだけ進んだところ 原点O,基底(ex ey ez ) が決まると, 点Pは3つの数値 で表せる. (原点O,基底(ex ey ez ) )のことを座標系といいます. P ez ex ey p O 3 2 1

11 位置と数値 p=3ex + 2ey + 1ez p = ez ex ey 基底のおかげで 矢印が数値で表せるようになった 3 2 1
ベクトル 3 2 1 p = 基底は(ex ,ey ,ez ) 基底を忘れてはならないのだけど... 面倒なので省略します. ついでにいうと  基底ベクトル ex ey ez も  矢印だから数値で書けます. それにも,もちろん,基底(ex ,ey ,ez )が必要です. 1 ex = ey = ez =

12 座標系 手の位置の計測 トランスミッタを目の位置に置くと 目にくっついた座標系で,手の位置が数値になる. ez ex ey トランスミッタ
O ph Ph ph = 2ex -1ey +3ez レシーバ 2 -1 3

13 座標系の変換 机から見た手の位置 ポヒマスが2個あると 2 1 pe = 2wx +1wy +1wz ey ex wz wx wy 2 -1
3 ph = 2ex -1ey +3ez pe ph ez 目にくっついた座標系eで 手の位置が数値になる q q = pe+ph :机から見た手の位置 机にくっついた座標系wでの 手の位置を数値にすると?

14 向きの計測 ポヒマスセンサは実は向きも測れる (ex ey ez )=( ) 位置pと同様に向き(ex ey ez )も数値で返す wy
コンピュータ トランスミッタ wx レシーバ wz ez ex ey wy 0.5 0.9 1 -0.9 (ex ey ez )=( ) wx 基底は(wx wy wz ) ez ex wz

15 基底の変換(取替え) ex = 0.5 wx + 0 wy + 0.9 wz ey = 0 wx + 1 wy + 0 wz
ポヒマスの返す数値から wz wx wy ey ex = 0.5 wx + 0 wy wz ey = 0 wx wy + 0 wz ez =-0.9 wx + 0 wy+ 0.5 wz ez だから,eをwで書き直せて, ex ph ph = 2ex -1ey +3ez = 2(0.5 wx wz )-1wy +3(-0.9 wx +0.5 wz ) = (1-2.7)wx -1wy +( )wz = -1.7 wx -1wy +3.3 wz 2 1 -1.7 -1 3.3 0.3 4.3 机にくっついた座標系での 手の位置の数値 q=pe+ ph = =

16 基底の変換と行列 簡単に書きたい x ax+byを(a b) と書くことにする. y ph = 2ex -1ey +3ez
ex = 0.5 wx wz ey = wy ez =-0.9 wx wz なので, ph = (ex ey ez ) 0.5 0.9 1 -0.9 0.5 2 -1 3 = (wx wy wz ) (wx wy wz ) (wx wy wz ) 2 -1 3 -1.7 -1 3.3 = (wx wy wz ) = (wx wy wz ) 基底を数値で表したもの→行列

17 基底の変換と行列のまとめ ey phは,2ex +1ey +3ez phは, wy 2 1 3 wx これをwで表したい ez ex wz
0.5 0.9 1 -0.9 0.5 (ex ey ez )は,( ) なので,phは, p 2 1 3 2 1 3 -1.7 -1 3.3 ph= = 行列 行列とは基底を数値で書いて並べたもの

18 いろいろな変換 2DCGの変形 wy wx ey ex ey ey ex ex ex ey 線の描画→ 始点と終点を数値で指定
線の描画→ 始点と終点を数値で指定 基底:画面上のwx wy 基底を変えると変形する. wx wy 1 (ex ey )=( ) ex ey 1 (ex ey )=( ) ex ey ex ey 2 1 (ex ey )=( ) ex 1 (ex ey )=( ) ey 1 (ex ey )=( ) 0.5 (ex ey )=( ) 1 -1 (ex ey )=( )

19 回転変換 wy ey ex wx 回転行列 というのがあったような 1 回転変換→回転した基底での数値をもとの基底での数値に変換する.
                            というのがあったような 回転変換→回転した基底での数値をもとの基底での数値に変換する. wx wy 1 q ex ey sinq cosq

20 逆変換 机の上の1台のトランスミッタで 目の座標系で表した手の位置を計測したい ポヒマスの出力:
pe q ex ey ezの数値 基底は(wx wy wz ) 知りたいもの: phの数値 基底は(ex ey ez ) ez ex ey wz wx wy ph pe ph1 ph2 ph3 q O ph=q-pe なので, 基底(wx wy wz )でのph数値 は わかる ph1w ph2w ph3w

21 逆変換 (wx wy wz)を基底にしたex ey ezの数値は ポヒマスから得られるので, wz ex ph1w ph2w ph3w
= wx もし,逆に(ex ey ez) を基底としたwx wy wzの数値がわかれば, ph1 ph2 ph3 wx wy wz ph1w ph2w ph3w ez = wz ex ph1 ph2 ph3 なので, の数値がわかる. wx

22 逆変換 ph1w ph2w ph3w ex ey ez ph1 ph2 ph3 ph1 ph2 ph3 wx wy wz ph1w ph2w
= = 逆行列 ph1w ph2w ph3w ex ey ez wx wy wz ph1w ph2w ph3w = ph1w ph2w ph3w ph1w ph2w ph3w = ex ey ez wx wy wz = -1 = ex ey ez wx wy wz と書く

23 逆行列の求め方 ex ey ez wx wy wz x2倍 z=z- 3/2 x z=z- 3/2 x 1/2 0 - 3/2 0 1 0
1/ /2 3/ /2 x2倍 x2倍 3/ /2 z=z- 3/2 x z=z- 3/2 x

24 逆行列の求め方 z=z- 3/2 x z=z- 3/2 x ex ey ez wx wy wz √ 1 0 - 3 0 1 0 0 0 2
z=z- 3/2 x z=z- 3/2 x - 3/2 0 1/2 1/2倍 z 1/2倍 x=x+ 3z 1/ /2 - 3/ /2 x=x+ 3z ex ey ez wx wy wz

25 3DCGでの変換の利用 ポリゴン・メッシュとは,3角形の頂点座標 W: ( )とO ワールド座標系
M:(mx my mz )とmp モデリングするときの座標系 V:(vx vy vz )とvp 視点座標系(視点の位置と向き) 1 p2 mz mx my p1 p3 vz vx vy 視点 wz wx wy mp vp O

26 3DCGの変換 p2 p3 p1 p1w= mp + Mp1m p1v =V-1 (mp +Mp1m-vp ) p1w=vp + Vp1v
モデリングしたときの頂点位置p1 p2 p3は,M座標系での数値になっている.数値:p1m p2m p3m これをV座標系での数値:p1v p2v p3v にできれば画面に表示できる. p2 mz mx my p1 p3 vz vx vy 視点 wz wx wy mp vp O vz vx vy p1 p2 p3 p1w= mp + Mp1m p1v =V-1 (mp +Mp1m-vp ) p1w=vp + Vp1v p1v = V-1 (p1w -vp) p1v x p1v y p2v x p2v y あとは, , …に線を引けばよい

27 逆変換のない場合 戻せる ey ex 戻せない つぶれてしまうと元に戻せない 0.5 (ex ey )=( ) 1 -1 ex ey ex
(ex ey )=( ) ex ey 戻せる 1 (ex ey )=( ) ex ey ex ey 2 1 (ex ey )=( ) ex ex ey ey (ex ey )=( ) 1 戻せない 0.5 (ex ey )=( ) 1 -1 つぶれてしまうと元に戻せない

28 行列のランク ロボットの関節の速度と手先の速度 e1: w1が1のときの手先の速度 v e1 r2 e2: w2が1のときの手先の速度 e2
wx wy O ロボットなので, r1, r2, q1, q2,はわかる. w1 , w2が設定できる. 手先に速度vを出したい r1

29 行列のランク w1 , w2がわかっているとき,手先の速度は となる.
w→vができたのだから,逆変換 v → wをすれば, vを実現するwがわかる 逆変換できない場合は?

30 行列のランク e2 e1 基底が2つある. 逆変換あり. どんなvでも出せる. e1 e2 基底が1つしかない. 逆変換なし.vは直線上だけ
r1=1, r2=1, q1=30°, q2 =90°のとき 基底が2つある. 逆変換あり. どんなvでも出せる. e1 r1=1, r2=0, q1=90°, q2 =90°のとき e2 基底が1つしかない. 逆変換なし.vは直線上だけ e2 e1 r1=1, r2=1, q1=30°, q2 =30°のとき 実は基底が1つしかない. 逆変換なし.vは直線上だけ

31 行列のランク e1 e2 基底がない 0個. 逆変換なし.vはまったく出せない 基底の数のことを行列のランクといいます.
r1=0, r2=0, q1=30°, q2 =90°のとき e1 e2 基底がない 0個. 逆変換なし.vはまったく出せない 基底の数のことを行列のランクといいます. ・平行な基底は数えません. ・長さが0の基底は数えません. 2次元なら2つ,3次元なら3つ,4次元なら4つ …. 基底がないと,つぶれてしまい,逆変換できません

32 冗長マニピュレータと長方形行列 e1 e2 wy e3 O wx 速度vは2次元なのに,wは3つ 基底は3つあるように見えるが, e1
0.5 0.8 e2 = 0.5e1 +0.8e3 のように,ほかの2つで表せる 関節2を動かさなくても,関節1と3を動かせば, どんな速度vも出せる. 逆行列はない.答えが無数にある.

33 シミュレーション シミュレーション 例:車の動きのシミュレーション アクセル:原因 速度:結果 シミュレーション 速度 アクセルの踏み具合
現実のものの動きを計算機の中に再現すること そのために,現実世界の法則を見つけ,それを再現する. 例:車の動きのシミュレーション 「アクセルを踏むと加速する」→法則 アクセル:原因 速度:結果 シミュレーション 速度 アクセルの踏み具合 時刻t=0で, 0m/sだった 時間t

34 「アクセルを踏むと車は加速する」法則を 式で書くと
シミュレーション アクセル:原因 車の動き:結果 シミュレーション 「アクセルを踏むと車は加速する」法則を 式で書くと ちょっと後(t+Dt)の速度= 今(t)の速度+ 今のアクセル×踏んだ時間 今のアクセル t t +Dt Dtが小さければ a(t) と a(t+Dt)はだいたい等しい Dtが小さければ小さいほど誤差が少ない.

35 数と関数 t a0 a1 a2 a3 a4 a(t) ここまでは,aといったら変数だったので値は1つだった.
a0 a1 a2 a3 a4 a(t) ここまでは,aといったら変数だったので値は1つだった. a(t)は,a0 a1a2 …を含んでいる. だけど,これからは,a(t)と書かないでaと書く.こともある. この場合,aは関数.たくさんの値を持っていて,tごとに 値a(t)がある.

36 これをプログラムでやるのが,コンピュータシミュレーション
法則 0.1 0.05 0.15 0.2 ... 0.4 0.45 分かっていること 最初の状態 2 1 その後の 経過 これをプログラムでやるのが,コンピュータシミュレーション

37 シミュレーションと積分 誤差をなくすためDtを0に近づける 積分

38 シミュレーションと積分 シミュレーションではDtずつ時間を進めて ほしい時刻まで繰り返し計算する. 積分はその結果のこと

39 シミュレーションと微分 車の速度v(t)の記録がある. アクセルの踏み具合a(t)を知りたい v(t)
0.275 0.225 1.0 1.1 v(t)がわかっているので, ちょっと後の値と今の値を引き算すれば出てくる.

40 シミュレーションと微分 誤差をなくすため,Dtを0に近づける 微分 vをtで微分する. vのt微分 微分が入った方程式 →微分方程式と呼ぶ

41 微分と積分 (ただしDtは十分小さい) これが元の式. a(t)とv(t)の関係を表している. 微分 積分 位置と速度の関係も同じ

42 位置・速度・加速度 速度のときと同じように,位置を計算できる. x(t) 2 3 1 v(t) a(t)

43 物理と微分積分 物理学 現実世界の法則 法則の例 微分方程式は簡単な式なのに,たくさんのことを表している.
現実世界の性質(法則)を調べる学問 現実世界の法則 微分方程式で表される場合が多い 法則の例 運動方程式 コイルの電圧 h(x,t):波の高さ c:波の伝わる早さ 微分方程式は簡単な式なのに,たくさんのことを表している.

44 力学 物理シミュレーション 運動の法則 f a 加速度 力 質量(比例係数) ⇔ 加速度aが速度vを変える ⇔ 速度vが位置xを変える
現実の物体は 物理法則 に従う. これをシミュレーションすれば,リアリティの高いVR世界が作れる. 運動の法則 運動方程式 慣性の法則 位置と速度の関係 f a 加速度 質量(比例係数) 加速度aが速度vを変える 速度vが位置xを変える

45 f(t)が分かれば,車のときと同じようにシミュレーションできそう.
運動のシミュレーション f(t)が分かれば,車のときと同じようにシミュレーションできそう. バネにつながった質点(おもり)の動きをシミュレーションしてみる f(t) バネの法則 O x

46 運動のシミュレーション(1次元) k=1,m=1 Dt=0.1 1 -0.1 ??? vだけで計算することはできない. -0.1 1 1
(最初の状態) k=1,m=1 Dt=0.1 1 -0.1 ??? vだけで計算することはできない. -0.1 1 1 -0.1 xも求めれば計算できる.

47 運動のシミュレーション(1次元) シミュレーション結果 バネにつけたおもりの揺れがだんだん大きくなる. そんなの見たことない.なにか変では?
モデルが変?誤差? Dt=0.1のせい?

48 運動のシミュレーション(1次元) シミュレーション結果2 Dt=0.01
さっきより良くなった.誤差のせいだったようだ. Dtは小さい方が良い. でも無限に小さくすると無限に計算時間がかかる.

49 運動のシミュレーション2 (1次元) fs(t) バネの法則 O ダンパーの法則 x fd(t) 最初の状態:

50 運動のシミュレーション2 (1次元) シミュレーション結果 Dt=0.01 ダンパを入れると振幅がだんだん小さくなる.

51 物理シミュレーション3 (2次元) 形を持ったものをシミュレーション おもりが壁にぶつかると ぶつかっている間だけ, バネ・ダンパを付ける.
p2 v2 m=1,k=1,b=1 1(自然長) 2 2 p3 v3 p1 v1 3

52 物理シミュレーション3 (2次元) p2 バネによる力 f12s= -k s ey s= O ex s p1
自然長=1 のび=1 バネによる力 f12s= -k s s= ダンパによる力 f12d= -b(v’1-v’2) v2 v’2 p2 v’1 = O ex ey v1 a b q p1 v’1 f12 |b|cosq

53 物理シミュレーション3 (2次元) O ex ey f13 p2 v2 p3 v3 p1v1 f12

54 物理シミュレーション3 (2次元) 壁にぶつかっている場合: 2 p1 v1 d1R ほかの壁も同様

55 物理シミュレーション3 (2次元) シミュレーション結果
ソースコード

56 剛体の運動 剛体 剛体の特徴 = どんな移動も 並進(平行移動)と回転 で表せる 並進と回転だけで運動を表そう
さっきの例のように,質点同士が動かないように固定されているもの バネダンパでもシミュレーションできるが, 剛体は剛体としてシミュレーションした方が効率が良い 剛体の特徴 = どんな移動も 並進(平行移動)と回転 で表せる 並進と回転だけで運動を表そう

57 剛体にかかる力 並進の力 m1 p1 v1 a1 m2 p2 v2 a2 m3 m4 m5 fi1 fi2 fe1 運動方程式から
慣性の法則から fe:外から加わった力(外力) fi:質点同士が押し合う力(内力) 押したぶんだけ,押し返される 作用・反作用の法則 fi1 fi2 質量・速度 (運動量)の変化は,外から加えた力の和

58 回転の力(トルク) (2次元) r2 r1 O 力f1 f2は棒をまわそうとする. まわす強さ:トルク f2 f1 回転軸(移動しない)
pr fr = fのうち,質点をOを中心に回そうとする力 (残りは回転軸が力を出して打ち消す) fのモーメント:|p||fr | = |pr||f | =p×f p O f fr ex ey p×f= × =pxfy-pyfx px py fx fy 外積については 布川昊, “2次元ベクトルの外積の効用(線形代数学の教科内容の改善に向けて) ” を参照

59 剛体にかかる回転の力(2次元) O 内力のモーメントは打ち消しあう 運動方程式から fi1 p1r p1 fi2 p2 p2r
慣性の法則から 位置×(質量・速度) (角運動量)の変化は,外から加えた位置×力(トルク)の和

60 剛体の速度 速度 O vi wp vg 速度も並進と回転に分けられる 回転の中心Oはどこでも良い vi =wp + vg

61 剛体の速度(2次元) 角速度:角度の速度 q w O P v p v= 90°回転(w p ) pi vi vg vi =wi + vg
vi= 90°回転(w pi )+ vg 剛体の点piの速度は, 回転速度w と並進速度 vで表せる

62 剛体の運動の式(並進) 剛体上の点piの速度vi = 90°回転(w pi ) + vg 剛体の運動の式(並進) M
質量・速度 (運動量)の変化は,外から加えた力の和 剛体上の点piの速度vi = 90°回転(w pi ) + vg M Mは剛体の質量と呼ばれます 剛体の運動の式(並進)

63 剛体の運動の式(回転) (2次元) 剛体上の点piの速度vi = 90°回転(w pi ) + vg 剛体の運動の式(回転) I
位置×(質量・速度) (角運動量)の変化は,外から加えた位置×力(トルク)の和 剛体上の点piの速度vi = 90°回転(w pi ) + vg I Iは慣性モーメントと呼ばれます 剛体の運動の式(回転)

64 剛体の運動の式(2次元) 並進と回転をまとめると 剛体の運動方程式 速度と位置の関係 これで,シミュレーションできる

65 3次元の剛体 2次元では,回転軸は面に垂直 3次元では? だから,角速度・トルクは1次元 回転軸は3次元ベクトル 角速度も3次元ベクトル w
wの向き:回転軸の向き. |w|:回転速度 v= w×p トルクも3次元ベクトル N =p×f w p v N p f

66 3次元の外積 a×b 3次元版 a×bとは? |a×b|=|a||b’| = |a’||b| 2次元のときと同じ
a×bの向きは aがx軸,b’がy軸のときのz軸の向き 数値で書くとこうなります. 外積の計算については 布川昊, “2次元ベクトルの外積の効用(線形代数学の教科内容の改善に向けて) ” を参照 線形代数の本が外積について触れないのは,4次元以降が大変だから ほんとに知りたければ をどうぞ.

67 3次元の慣性モーメント w 剛体上の点piの速度vi = w×pi + vg pi w×pi w pi×(w×pi ) pi w×pi

68 3次元の剛体の運動 速度と位置の関係 質量・速度 (運動量)の変化は,外から加えた力の和
位置×(質量・速度) (角運動量)の変化は,外から加えた位置×力(トルク)の和 速度と位置の関係

69 3次元の向きと角度 3次元での向きの表し方 回転ベクトルq 基底(ex ey ez) |q|:回転角, qの向き:回転軸 足せない.
(p/2,0,0)のあと (0,p/2,0) (p/2, p/2,0) 基底(ex ey ez) 元の座標系で,その向きの 基底を数値にしたもの 変換の変換と考えれば足せる. x x z z (p/2,0,0) (p/2, p/2,0) y x x y z (0,p/2,0) x z z y

70 回転のシミュレーション 剛体の向きを表す基底(ex ey ez)を並べた行列Rを考える. w ey wy ex R wx ez wz
Dq=wDt だけ回転する. Dq回転する行列D(dx dy dz)を用意する wz wx wy ez ex ey Rの数値の基底をDだと考えると RはDだけ回ることになる. R(t+Dt)= DR(t) D Dq R

71 慣性モーメントの変換 回転の運動 Iは なので,物体が回ると変化する. そこで,物体の基底Rでの慣性モーメントIRを考える. I

72 3次元剛体運動のシミュレーション 並進 回転 R(t+Dt)= DR(t) を求める を求める を求める から, を求める
Dq=wDt だけ回転する. Dq回転する行列D(dx dy dz)を用意する R(t+Dt)= DR(t)

73 3次元剛体シミュレーションの例 ソースコード

74 バネダンパと制御 fs(t) バネの法則 O ダンパーの法則 x fd(t) 最初の状態:

75 いろいろなk,bでのシミュレーション シミュレーション結果 Dt=0.1 安定する 発散してしまう k=1,b=1 k=1,b=0.1

76 安定する条件 式を行列で書く

77 安定する条件 An Aという変換を次々にかけていくと,シミュレーションが進む. n→∞のとき,Anがまともな値になればよい wy b1 a1
A=(a1,b1) Ai =(ai,bi) と書くことにする. wx

78 Anを考える wy a2 b2 a1 b1 b2 b3 b1 ・・・ a1 a3 wx a2 wy a1 b1 wx 0 0 安定だ
A=(a1,b1) Ai =(ai,bi) b3 b1 ・・・ a1 a3 wx a2 wy a1 b1 wx 重ねて書くと 多分A∞は 0 0 安定だ

79 Anを考える Aの基底ベクトルが短ければAnは0になる のかな? wy b1 a1もb1もwx wyよりは小さいが, だんだん大きくなる.

80 Anを考える wy b1 a1 wx

81 Anを考える ためしに, wy b1 a1 でrからArへの矢印を書いてみた wx

82 Anを考える wy b1 a1 wx ためしに, でrからArへの矢印を書いてみた Ar矢印1個進む A2rで矢印2個進む
∴ Anrは矢印の行き着く先 r

83 Anを考える wy b1 a1 wx ためしに, でrからArへの矢印を書いてみた Ar矢印1個進む A2rで矢印2個進む
∴ Anrは矢印の行き着く先 向きが変わらない場所がある 固有ベクトルと呼ぶ

84 Anを考える 最初から,固有ベクトルが基底だと思ってみる a1 b1 wx wy py px

85 Anを考える py wy b1 px a1 wx 最初から,固有ベクトルが基底だと思ってみる 実はただの拡大縮小
拡大率:1.5倍, 0.5倍 拡大率を固有値と呼ぶ px

86 Anを考える r2=Ar1 r’1 :(px py )を基底にr1を数値にしたもの. r2=Ar1 Pr’2 =APr’1 r2=Pr’2
固有ベクトルは r2=Ar1 r1は(wx wy )を基底に数値にしてた. r’2 = r’1 r’1 :(px py )を基底にr1を数値にしたもの. n r2=Ar1 Pr’2 =APr’1 r’2 =P-1APr’1 r’n = r’1 r1 =Pr’1 r2=Pr’2 1.5n 0 n r’n = r’1 1.5n 0 n rn =Pr’n =P r’1 =P P-1 r1 1.5n 0 n 固有値(拡大率)が 全部1未満なら安定

87 固有値を見つけるには Ap=lpとなるようなlを見つければよい. Ap=lp (A-lE)p=0 A-lE=0 ということは,
ex ey こんなのではなく, こんなの 面積1 面積1.5くらい 面積1 面積0 ぺちゃんこ⇔面積0,これで書いたら計算できるかも

88 行列式 determinant ex ey det(ex ey ) =ex×ey det(ex ey ez)=(ex×ey )・ez ez
基底ベクトルが作る平行四辺形の面積をdetAと書いて,行列式とかdeterminantと呼ぶ 2次元の場合なら平行四辺形の面積・3次元なら平行6面体の体積 4次元なら平行8面体の体積... ただし,detAは負にもなります ex ey det(ex ey ) =ex×ey det(ex ey ez)=(ex×ey )・ez ez ey ex ex ex ey ey det(ex ey )は負 det(ex ey )は正 det(ex ey )は負

89 行列式の計算 4次元以上の場合は, e2 e1 4次元の場合の計算例 e’2 ke1
のように変形し det(e1 e2) = e1x ・ e1yと計算できる e2 e1 e’2 ke1 wx wy

90 固有値を見つけるには Ap=lpとなるようなlを見つければよい.
Ap=lp ⇔(A-lE)p=0 ⇔ A-lE=0 ⇔ det(A-lE)=0 のとき,

91 安定する条件

92 安定する条件 iii) i) 4 ii) 2 4

93 試してみると 2 4

94 まとめ 位置の数値化 座標系の変換と行列 物理法則と差分方程式 安定性と行列のn乗 ポヒマスセンサ 逆変換 回転変換 CG 行列のランク
運動方程式(質点・剛体) 安定性と行列のn乗 ポヒマスセンサ CG ロボットアーム シミュレーション 制御 をざっと見てきました.バス旅行で車窓から眺めたようなものです. ぜひ,自分の足で歩いてみてください.

95 明後日から 自分の問題を解くには… お勧めの教科書 実際の問題と教科書と紙と鉛筆を用意して考えてみてください. →自分の足で歩く
答えに自信がないときは,Excelか適当なプログラミング言語で確認してみてください. お勧めの教科書 線形代数: 平岡 和幸, 堀玄(著) 「プログラミングのための線形代数」 微分積分: 二見靖彦(著) 「理工系のための初等解析学とその応用」 力学: 小出昭一郎(著) 「力学」物理テキストシリーズ 3DCGと物理シミュレーションに必要なトピック: Eric Lengyel (著), 狩野智英 (訳) 「ゲームプログラミングのための3Dグラフィックス数学」


Download ppt "インタラクティブ技術に必要な 数学と物理 東京工業大学 長谷川晶一."

Similar presentations


Ads by Google