• ベストアンサー

3次元空間の座標変換

ある立方体の空間(例として XYZが0~100の空間)にある点を座標変換して、 (100,100,100)から(0,0,0)を見たような平面に投影した座標と その座標の(0,0,0)からの高さを取得したいのですが、どのような式を用いればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

書き方が不明瞭だけれど、たぶん、 ベクトル (0,0,0)-(100,100,100) に沿って、 点 (0,0,0) を通る平面へ正射影 と言いたいんじゃないかな? そうであれば、(-100,-100,-100) 方向の 単位ベクトル (1/√3,1/√3,1/√3) を使って、 (x',y',z') = (x,y,z) + t(1/√3,1/√3) の x',y',z' が x' + y' + z' = 0 を満たすように t を決めてやればいい。 この t が「高さ」になる。 移り先は、(x',y',z').

yoyoyo1028
質問者

お礼

すみません 勘違いして補足の部分に書いてしまいました… 送り先はあくまでx,y,z の座標軸での値ということなんですね!

yoyoyo1028
質問者

補足

ありがとうございます! 高さはわかったのですが この場合 正射影された座標というのはどの値になるのでしょうか? 移り先は、(x',y',z') と3つあるのでよくわからないのですが・・・

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

問題があいまいです. ・「(100,100,100)から(0,0,0)を見たような平面」とはどのような平面でしょうか? 「xy 平面」は「(100,100,100)から(0,0,0)を見たような平面」といっていい? ・また, 一般論として「投影」には色々な方法が考えられます. たとえば「投影面に垂直な平行光線で投影」と「投影面に垂直でない平行光線で投影」, はたまた「(100, 100, 100) から放射状に投影」とでは結果が異なります. どのような投影方法なのかを指定してください. ・「その座標の(0,0,0)からの高さ」というのは何を意味するのですか? 単純な「距離」ではないですよね.

yoyoyo1028
質問者

補足

>・「(100,100,100)から(0,0,0)を見たような平面」とはどのような平面でしょうか? 「xy 平面」は「(100,100,100)から(0,0,0)を見たような平面」といっていい? 説明が下手ですみません・・・ 例としては 点(50,50,50)を通り(100,100,100)から(0,0,0)を結んだ直線に垂直な平面です まずこの平面に投影して 新しいX,Y座標を得たいと考えています。 >・また, 一般論として「投影」には色々な方法が考えられます. たとえば「投影面に垂直な平行光線で投影」と「投影面に垂直でない平行光線で投影」, はたまた「(100, 100, 100) から放射状に投影」とでは結果が異なります. どのような投影方法なのかを指定してください. 「投影面に垂直な平行光線で投影」を想定しております。 >・「その座標の(0,0,0)からの高さ」というのは何を意味するのですか? 単純な「距離」ではないですよね. また説明が下手で申し訳ないのですが イメージとしましては立方体の角を立てた時の ある点の地面からの距離ですかね? (0,0,0)の点を変換すると  高さは 0 (50,50,50)の点を変換すると  高さは 50*√3  (100,100,100)の点を変換すると  高さは 100*√3 のようなイメージです このようにして X,Y、高さを求めることで 新しい座標系にしたいと考えています。

関連するQ&A

  • 空間座標(3次元)を平面座標(2次元)に変換する

    私は現在ゲーム制作を行っているのですが、空間座標を平面座標に変換する方法が分かりません。色々なサイトを見てまわったのですが、如何せん大学等で専門的な数学や物理を習ったわけでは無いので何かの記号を使った式を見せられても理解ができないのです。しかし、その勉強をしている時間が本当に無く(他にもやらないといけない事があり)、ここを頼らせてもらいました。 分かり易い説明をしているサイトを教えてくださるだけでも結構です。どうか、よろしくお願いします。

  • 3次元空間で3点を通る平面を2次元座標で表すには

    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)に変換したいです。 よろしくお願いします。

  • ある平面に対する座標変換

    空間上に(x,y,z)の点があるとします。 この点を、ある平面 ax + by+ cz + d = 0 から見た時の値(x',y',z')に変換したいのですが、どうやったらいいかわかりません。 座標系が、xyz-座標から新しい座標系、x'y'z'-座標に変わるのですが、どうやれば、いいかわかりません。回転させるだけなら、それほど、難しくないと思うのですが、それだけじゃないので、わからないです。 よろしくお願いいたします。

  • 座標空間について

    平面座標にはxとyの軸があって、直線で表す比例や反比例のグラフ、式がありますが、空間座標の平面のグラフや、式はどういった風に表すのですか。又、空間座標はどんなものに使われるのですか?

  • 座標空間における図形 (激難)

    座標空間における図形 (激難) 座標軸に垂直な平面の方程式、P(a,b,c)とする。 点Pを通り、x軸に垂直な平面の方程式はx=a 点Pを通り、y軸に垂直な平面の方程式はx=b 教えてほしいところ 確かに、xyz空間上の点(x,y,z)の条件とみれば平面になりますが、何故それが1の場合、垂直、2の場合、平行といえるんですか??

  • 空間ベクトル

    基準点と2つのベクトル(90度)から作られる平面があって、空間上に任意の点を取るとき、その点が平面に投影したとすると、その平面に投影された点の座標はどのように求めればいいのでしょうか。 この平面の法線ベクトルは与えられているので、平面の基準点と任意の点からベクトルの大きさと方向を求め任意の点から平面までの距離(任意の点から平面に下ろした垂線の長さ)は求まるのですが、そこから先がどうしたらいいか分かりません。 投影された点の座標はどう求めるのか教えてほしいです。

  • 空間座標 球面上の点と空間にある点の距離について

    空間座標において 「『球面上の点と空間にある点P』との(最短)距離」は球面中心と点Pを結んだ距離と球面の半径と差で求めると思うのですが、感覚的にはわかる気がしますし、平面座標だと分かりますが、空間座標になると本当にそうなのかと思ってしまいます。式で証明することができるのでしょうか。 また、「『球面上の点と直線の点』との距離」や「『球面上の点と平面の点』との距離」も同じように球面の半径から直線の点もしくは平面の点に垂線を下ろして考えるのでしょうか。

  • 座標変換

    私の受ける大学院入試の過去問です。 空間の座標系rに関して x+ 3y -2z +1=0 で表される平面πがある 座標変換r→r’の式が以下であるとき、平面πのr’に関する方程式を求めよ [x] [1 2 3] [x'] [1] [y]=[2 4 5] [y'] +[-2] [z] [3 5 6] [z'] [3] どなたかこの問題の解き方、模範解答を教えて下さい。^_^

  • 3次元空間において、任意の座標(原点除く)から原点を見通した場合の、2

    3次元空間において、任意の座標(原点除く)から原点を見通した場合の、2軸の見かけの角度について質問があります。 例えば、XYZ空間があったとします。X、Y、Z軸はそれぞれ90°で交わっています。 このとき、XY軸の見かけの角度が90°の場合、”XZ平面、もしくはYZ平面上の任意の座標(原点除く)から原点を見ている”ということがいえると思います。 このように、2軸の見かけの角度がわかっている場合、どの平面上の座標から原点を見通しているかがわかると思うのですが、導出方法や具体的な計算方法がわかりません。 射影幾何学等などに詳しい方がいらっしゃいましたら、ご教示お願い致します。

  • 座標変換について

    座標系XYZの空間に点A(X1,Y1,Z1)、点B(X2,Y2,Z2)、点C(X3,Y3,Z3)があります。 この3点を通る円の中心をP(X0,Y0,Z0)とし、 円の存在する平面をx'y'平面とします。 さらに原点を点P、x'軸はPAを通る直線とします。 座標系x'y'z'から円周上の点D(X',Y',Z')を求め 座標系XYZに変換した(X4,Y4,Z4)を求めたいのですが、どうすればよいのでしょうか? 以下のようにすれば求まると思うのですが角度α、β、γの求め方が分かりません。 X'' = X' * cosα - Y' * sinα Y'' = X' * sinα + Y' * cosα Z'' = Z' X''' = X'' Y''' = Y'' * cosβ - Z'' * sinβ Z''' = Y'' * sinβ + Z'' * cosβ X4 = X''' * cosγ + Z''' * sinγ Y4 = Y''' Z4 = Z''' * cosγ - X''' * sinγ よろしくお願いします。