
3次元のベクトル(?)に関して質問させてください。
いまxyz座標の3次元空間の中に原点O(0,0,0), 点A(ax,ay,az), 点B(bx, by, bz)の3つの点があるとします。
3次元空間の中に3つの点があるので、これら3点を通る平面がひとつだけ決まります。
この平面がXY平面となるような、新しいXYZ空間を下記の条件で定義したいです。
原点O(0,0,0)に対応する点 → O'(0, 0, 0)
点A(ax,ay,az)に対応する点 → A'(αx, 0, 0) ただし αx = √(ax^2 + ay^2 + az^2)
点B(bx, by, bz)に対応する点 → B'(βx, βy, 0)
このときのβx, βyの決め方を教えていただけないでしょうか?
(おそらくβyの符号で2通りあると思います)
-----
具体的な目的は、以下のようなものです。
xyz座標の関数として値が決まるf(x, y, z)があります。
これを点O, A, Bを通る平面上でメッシュを切って計算しました。
この結果をgnuplotのpm3d mapでグラフ化したいのですが、gnuplotの入力は以下のようなフォーマットです。
X1 Y1 f(x1,y1,z1)
X2 Y2 f(x2,y2,z2)
X3 Y3 f(x3,y3,z3)
X4 Y4 f(x4,y4,z4)
...
そこでxyz空間の平面OAB上の点Pn(xn,yn,zn)を対応するXY平面上の点Pn'(Xn,Yn)に変換したいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
回転ですね。
まず、Z軸を回して A の Y成分を 0 にする。
次に、Y軸を回して A の Z成分を 0 にする。
最後にX軸を回して Bの Z成分を 0 にする。
例えば、Z軸を回して A の Y成分を 0 にするには
(ax, ay, 0)のx軸との角度を求め、X軸との角度が0になるように
回転すればよい。
こんな感じです。各軸の回転行列を紹介しているサイトは
山ほどあるので、参照してみてください。
回転行列の解説サイトは、以下のようなものですね。
http://www.geisya.or.jp/~mwm48961/kou2/linear_im …
例えばz軸を中心に回転させてA(ax, ay, az)のy成分を0にする場合
A(ax, ay, az)からz=0の平面に落とした『影』は P(ax, ay, 0) である。
OPとx軸のなす角をθとおくと、y成分をゼロにするためにはPをz軸を中心に -θ だけ回転させればよい。
回転させた後の座標をP'(ax', ay', 0)と置くと
ax' = ax*cos(-θ) - ay*sin(-θ)
ay' = ax*sin(-θ) + ay*cos(-θ)
ここで sin(-θ) と cos(-θ) は
sin(-θ) = - sin(θ) = - ay / √(ax^2 + ay^2)
cos(-θ) = cos(θ) = ax / √(ax^2 + ay^2)
よって
ax' = (ax^2 + ay^2) / √(ax^2 + ay^2) = √(ax^2 + ay^2)
また
ay' = (-ax*ay + ay*ax) / √(ax^2 + ay^2) = 0
で確かにy座標がゼロになることが確認できる。
なるほど!いけそうです。
ありがとうございました!
No.2
- 回答日時:
直交座標でなくてもよければ、3次元空間の原点Oと点A,Bの3点を通る平面は、
ベクトルOAの軸と、ベクトルOBの軸で記述できますよ。
α(ベクトルOA)+β(ベクトルOB)で、原点Oから冒頭の平面上の任意の点までのベクトルが記述できます。つまり、OAをx軸とみなしてαがx座標、OBをY軸とみなしてβがy座標、という表現ができます。
OBをOAに直交させたければ、内積が0になるようにOB’を求めてY軸としてもよいですし、
OAもOBも単位ベクトルにしたければ、比例計算でOA’やOB’という2軸の単位ベクトルにしてもよいですし。
すみません。
おそらく私の質問のタイトルが良くなかったせいだと思いますが、意図が伝わらなかったようです。
ベクトルOAとOBは、平面OAB上の任意の点を指定するために使っており、数学的にそのようなことが可能であることは存じております。
私が問題にしていたのは、ソフトウエアを使う上でのテクニカルな話で、グラフ描画ソフトの入力データとするためには、z成分を持たない二次元の直交座標系で位置を指定してやる必要があるが、どうすればいいのか分からないという事でした。
とはいえ、素早いレスをいただけたことはとても感謝しております。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
平面の交線の方程式
-
n次元ベクトルの外積の定義
-
微積分の記号δ、d、Δ、∂の違い
-
ベクトルの大きさの書き方が||x↑||
-
両方に垂直な単位ベクトルを求...
-
「ノルム、絶対値、長さ」の違...
-
一次独立だけど、基底にならな...
-
行列とベクトルの表記の仕方に...
-
縦ベクトルと横ベクトルの違い...
-
n次正方行列Aに関して次の[1]...
-
数学のベクトルの問題について...
-
∇演算子の計算
-
平面のベクトル内積=0で垂直...
-
2つに直交する単位ベクトル
-
三角形の面積~
-
行列:rankの問題
-
複素数平面でのベクトルの扱い...
-
一本のベクトルに直交するベク...
-
ベクトルについて
-
座標系の奥(手前)方向の書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ノルム、絶対値、長さ」の違...
-
微積分の記号δ、d、Δ、∂の違い
-
「任意」ってどういう意味?
-
n次元ベクトルの外積の定義
-
行列とベクトルの表記の仕方に...
-
座標系の奥(手前)方向の書き方
-
平面の交線の方程式
-
高校数学の範囲外の知識は大学...
-
線積分、面積分とは何?
-
ベクトルについて
-
一次独立だけど、基底にならな...
-
複素数の絶対値の性質について
-
球面と直線の交点
-
2つに直交する単位ベクトル
-
一本のベクトルに直交するベク...
-
ベクトルの大きさの書き方が||x↑||
-
行列式が1とはどういう意味です...
-
なぜ2乗するのか
-
det(A)≠0 の必要十分条件を教え...
-
縦ベクトルと横ベクトルの違い...
おすすめ情報