ベクトル解析/ベクトル
のバックアップソース(No.5)
Unity学習帳2冊目
ベクトル解析
/
ベクトル
のバックアップソース(No.5)
[
トップ
] [
差分
|
バックアップ
|
リロード
] [
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
[ ]
差分
を表示
現在との差分
を表示
ベクトル解析/ベクトル
へ行く。
« Prev
Next »
TITLE:ベクトルの基礎 #jsmath #contents **ベクトル表記 [#x3afcb8e] 当サイトでベクトルの表記はベクトル解析で扱われる数学記号の慣習に沿うものとする ベクトルは太文字で表す \(\mathbf{r}=\left( \begin{matrix} x \\ y \\ z \end{matrix} \right) \) 右に並んだ三つ揃いの数をベクトルの成分(component)、または要素(element)と呼ぶ たとえば3番目の数をベクトル \(\mathbf{r}\) のz成分と呼んだりする 添え字表現では \({\mathbf {r} }_{ 0 }=\left( \begin{matrix} { x }_{ 0 } \\ { y }_{ 0 } \\ { z }_{ 0 } \end{matrix} \right) \quad ,\quad {\mathbf { r} }_{ 1 }=\left( \begin{matrix} { x }_{ 1 } \\ { y }_{ 1 } \\ { z }_{ 1 } \end{matrix} \right) \quad ,\quad {\mathbf { r }}_{ 2 }=\left( \begin{matrix} { x }_{ 2 } \\ { y }_{ 2 } \\ { z }_{ 2 } \end{matrix} \right) \) となる 点Oから点Pまでの距離を\(\overline { OP }\)と表す \(\mathbf{ r }_{ p }\)(Pへ向かうベクトル)と表す <unityコード例> #code(csharp){{ Vector3 r0 = Vector3.zero; Vector3 r1 = new Vector3 (1f, 2f, 3f); Vector3 r2; r2.x = 4f; r2.y = 5f; r2.z = 6f; Vector3 o = Vector3.zero; Vector3 p = Vector3.up; Vector3 rp = p - o; }} **ベクトルの大きさと方向 [#r0fe2dd0] 通常、ベクトルは大きさと方向を表す。その他にも位置を表す為にベクトルを利用したり、長さを1として方向を表すベクトルとして扱うことも出来る ベクトルの長さは「[[高校数学/三平方の定理]]」により成分の二乗の和の平方根\(\sqrt { { x }^{ 2 }+y^{ 2 }{ +z }^{ 2 } } \)で計算できる これをベクトルの大きさ絶対値と呼び\(\left| \mathbf{r} \right|\)と書いたり、単にrと表す (rは細字になっていることに留意。これはベクトルではない。量を表すスカラーになっている) &font(Red){長さを1とした方向を表すベクトルを「正規化(normalized)されたベクトル」。単位ベクトルと呼ぶ。};長さを1にするとはどういったものであるか? それは位置ベクトル\(\mathbf{r}\)を大きさrで割ったものになる。この単位ベクトルを\(\mathbf{e}\)とした時、 式は \(\mathbf{e}=\frac{\mathbf{r}}{r}=\frac{\mathbf{r}}{\left| \mathbf{r} \right|}=\left( \begin{matrix} \frac { x }{ \sqrt { { x }^{ 2 }+y^{ 2 }+{ z }^{ 2 } } } \\ \frac { y }{ \sqrt { { x }^{ 2 }+y^{ 2 }+{ z }^{ 2 } } } \\ \frac { z }{ \sqrt { { x }^{ 2 }+y^{ 2 }+{ z }^{ 2 } } } \end{matrix} \right) \) となる 単位ベクトル\(\mathbf{e}\)は\(\mathbf{r}\)から長さの情報を無くしたものなので純粋にベクトル\(\mathbf{r}\)の方向を表したものとなる この大きさrと方向\(\mathbf{e}\)を掛け合わせると再び元のベクトル\(\mathbf{r}\)に復元できる。非常に当たり前のことだがこのような考え方をするのが大事 #code(csharp){{ Vector3 R = new Vector3 (1, 2, 3); float r = R.magnitude; Vector3 e = R.normalized; print ("ベクトル" + R + "長さ" + r + "単位ベクトル" + e); print ("元のベクトルへ復元もできる" + e * r); }} #hr 出力: ベクトル(1.0, 2.0, 3.0)長さ3.741657単位ベクトル(0.3, 0.5, 0.8) 元のベクトルへ復元もできる(1.0, 2.0, 3.0) #hr unityではこれらの計算を簡単に求める関数があらかじめ標準で準備されているのでこれを利用すると良い (ただしこの計算方法は重要な基本的な事柄なので絶対に憶えておく必要がある。最低限、筆算は出来るようにして置く事) **単位ベクトル [#dfd86305] 単位ベクトルの中でもx,y,z軸方向に向いたものは特に重要でこれは下記のように表せる \({ \mathbf{e} }_{ x }=\left( \begin{matrix} 1 \\ 0 \\ 0 \end{matrix} \right) \quad ,\quad { \mathbf{e} }_{ y }=\left( \begin{matrix} 0 \\ 1 \\ 0 \end{matrix} \right) \quad ,\quad {\mathbf{e}}_{ z }=\left( \begin{matrix} 0 \\ 0 \\ 1 \end{matrix} \right) \) #code(csharp){{ Vector3 ex = Vector3.right; Vector3 ey = Vector3.up; Vector3 ez = Vector3.forward; }} #navi
« Prev
Next »
ベクトル解析/ベクトル のバックアップ一覧
ベクトル解析/ベクトル のバックアップソース(No. All)
1: 2015-03-20 (金) 11:19:25
osinko
2: 2015-03-20 (金) 11:43:25
osinko
3: 2015-03-21 (土) 01:25:27
osinko
4: 2015-03-21 (土) 02:22:41
osinko
5: 2015-03-25 (水) 13:16:37
osinko
6: 2015-03-25 (水) 23:20:24
osinko
7: 2015-03-27 (金) 02:17:39
osinko
現: 2015-03-30 (月) 01:23:14
osinko