差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| articles:geo_manual [2021/11/26 14:51] – [例題3] Takashi Suehiro | articles:geo_manual [2021/11/26 22:14] (現在) – [例題1の解答] Takashi Suehiro | ||
|---|---|---|---|
| 行 57: | 行 57: | ||
| 一致させるための、x軸以外の回転軸を1つとその | 一致させるための、x軸以外の回転軸を1つとその | ||
| まわりの回転角度をもとめよ。 | まわりの回転角度をもとめよ。 | ||
| + | |||
| ヒント: | ヒント: | ||
| - | * 記号なしリストまずは回転軸を求める.どこにあるか.直観でも良い. | + | * まずは回転軸を求める.どこにあるか.直観でも良い. |
| * 回転軸周りの回転角度は,例題2を参考にする. | * 回転軸周りの回転角度は,例題2を参考にする. | ||
| [[articles: | [[articles: | ||
| + | |||
| + | ==== 例題5 ==== | ||
| + | 例題4で求めた回転軸、回転角度で | ||
| + | a=VECTOR(1, | ||
| + | 一致することを確認せよ。 | ||
| + | |||
| + | [[articles: | ||
| + | |||
| + | ===== 四元数 ===== | ||
| + | |||
| + | ==== 例題6 ==== | ||
| + | |||
| + | a=VECTOR(1, | ||
| + | クトルを**四元数を用いて**求めよ。 | ||
| + | |||
| + | [[articles: | ||
| + | |||
| + | ===== 座標系(FRAME) ===== | ||
| + | |||
| + | ==== 例題7 ==== | ||
| + | |||
| + | 座標系$\Sigma_0$を基準座標とする. | ||
| + | |||
| + | - $\Sigma_0$をz方向に1.0並進移動,z軸まわりにpi/ | ||
| + | - $\Sigma_1$からみてx方向に1.0並進移動,x軸まわりにpi/ | ||
| + | - $\Sigma_2$で,p=VECTOIR(1, | ||
| + | |||
| + | [[articles: | ||
| + | |||
| + | ===== 解答例 ===== | ||
| + | |||
| + | |||
| ==== 例題1の解答 ==== | ==== 例題1の解答 ==== | ||
| [[articles: | [[articles: | ||
| 行 78: | 行 111: | ||
| ==== 例題2の解答 ==== | ==== 例題2の解答 ==== | ||
| + | |||
| + | [{{ articles: | ||
| [[articles: | [[articles: | ||
| x=VECTOR(1, | x=VECTOR(1, | ||
| 行 97: | 行 132: | ||
| === 正解例 === | === 正解例 === | ||
| + | |||
| <code python> | <code python> | ||
| >>> | >>> | ||
| 行 106: | 行 142: | ||
| </ | </ | ||
| - | [{{articles: | + | |
| ==== 例題3の解答 ==== | ==== 例題3の解答 ==== | ||
| 行 121: | 行 157: | ||
| </ | </ | ||
| + | ==== 例題4の解答 ==== | ||
| + | [[articles: | ||
| + | a=VECTOR(1, | ||
| + | 一致させるための,x軸以外の回転軸を1つとその | ||
| + | 回転角度をもとめよ. | ||
| + | === 回転軸をa, | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | v:[1.0, -1.0, -1.0] | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | 1.0471975511965976 | ||
| + | >>> | ||
| + | 59.999999999999993 | ||
| + | </ | ||
| + | |||
| + | === 回転軸をa, | ||
| + | |||
| + | 回転軸はa+b, | ||
| + | |||
| + | === 汎用的な答え === | ||
| + | 回転軸はa+bとa*bが張る平面上のどこでも良い. | ||
| + | したがって, | ||
| + | それぞれの比率をx, | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | ... r1=a+b | ||
| + | ... r2=a*b | ||
| + | ... r=(x*r1+y*r2).normalize() | ||
| + | ... da=(r*a).normalize() | ||
| + | ... db=(r*b).normalize8) | ||
| + | ... dc=r*da | ||
| + | ... kco=da.dot(db) | ||
| + | ... ksi=dc.dot(db) | ||
| + | ... return(r, | ||
| + | ... | ||
| + | >>> | ||
| + | (v: | ||
| + | >>> | ||
| + | (v: | ||
| + | >>> | ||
| + | (v: | ||
| + | >>> | ||
| + | (v:[1.0, 0.0, 0.0], 1.5707963267948966) | ||
| + | >>> | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== 例題5の解答 ==== | ||
| + | [[articles: | ||
| + | 例題4で求めた回転軸、回転角度で | ||
| + | a=VECTOR(1, | ||
| + | 一致することを確認せよ。 | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | v:[1.0, -2.220446049250313e-16, | ||
| + | >>> | ||
| + | </ | ||
| + | |||
| + | ==== 例題6の解答 ==== | ||
| + | [[articles: | ||
| + | a=VECTOR(1, | ||
| + | クトルを**四元数を用いて**求めよ。 | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | q:(0.0, v:[1.0, 2.220446049250313e-16, | ||
| + | >>> | ||
| + | >>> | ||
| + | v:[1.0, 2.220446049250313e-16, | ||
| + | >>> | ||
| + | </ | ||
| + | |||
| + | ==== 例題7の解答 ==== | ||
| + | [[articles: | ||
| + | 座標系$\Sigma_0$を基準座標とする.[{{ articles: | ||
| + | |||
| + | - $\Sigma_0$をz方向に1.0並進移動,z軸まわりにpi/ | ||
| + | - $\Sigma_1$からみてx方向に1.0並進移動,x軸まわりにpi/ | ||
| + | - $\Sigma_2$で,p=VECTOIR(1, | ||
| + | |||
| + | <code python> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | >>> | ||
| + | f: | ||
| + | >>> | ||
| + | >>> | ||
| + | v:[2.0, 6.123233995736766e-17, | ||
| + | >>> | ||
| + | v: | ||
| + | >>> | ||
| + | v: | ||
| + | </ | ||