• ベストアンサー

三次元座標の平面に対する反転

ある点を平面に対して反転させる方法を教えて下さい。 エクセルで計算したいので、 その計算式を教えていただけるとありがたいです。 平面上の任意の3点の座標と、 反転させたい点の座標が分かっているとします。 知りたいのは、反転させた点の座標です。 法線ベクトルを使えばいいのだと思いますが、 その先でつまづいています。

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

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

A1:A3 B1:B3 C1:C3 に平面上の三点の座標、 D1:D3 に注目している点の座標 をいれておきます。 E1 =B1-A1 E2 =B2-A2 E3 =B3-A3 F1 =C1-A1 F2 =C2-A2 F3 =C3-A3 G1 =E2*F3-F2*E3 G2 =E3*F1-F3*E1 G3 =E1*F2-F1*E2 G4 =sqrt(G1*G1+G2*G2+G3*G3) H1 =G1/G4 H2 =G2/G4 H3 =G3/G4 で、H1:H3 に平面の単位放線ベクトルが入ります。 J1 =D1-A1 J2 =D2-A2 J3 =D3-A3 J4 =J1*H1+J2*H2+J3*H3 K1 =D1-2*J4*H1 K2 =D2-2*J4*H2 K3 =D3-2*J4*H3 で、K1:K3 に対称点が求まります。

pk67_2008
質問者

補足

とても分かりやすかったです。 数学の先生でいらっしゃいますか? 本当に助かりました。 ありがとうございました。

その他の回答 (1)

noname#29493
noname#29493
回答No.1

平面上のある1点を(a1,b1,c1) 反転させたい点の座標を(a2,b2,c2)とすると {(x^2-a2^2)+(y^2-b2^2)+(z^2-c2^2)}/2-a1(x-a2)-b1(y-b2)-c1(z-c2)=0 かつ 点((x+a1)/2,(y+b1)/2,(z+ca)/2)がその平面の方程式を満たす ような(x,y,z)が反転させた点の座標です。

pk67_2008
質問者

お礼

ありがとうございました。 とても参考になりました。

関連するQ&A

  • 平面近似式から2次元座標を求めたい

    閲覧ありがとうございます。 質問の内容ですが、 平面近似式(z=ax+by+c)から2次元座標を求めようと思うのですが、 ご教授願えないでしょうか? 現状、近似式のabc(法線ベクトル)を求めるところまではできているのですが、 そこから2次元に直すところで躓いています。 傾いた面をz軸なりに垂直にするように回転させればいけると思うのですが・・・。 どうも行列計算が多少苦手で考えがまとまりません。 宜しくお願い致します。

  • 空間ベクトル

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

  • 平面の方程式

    3つの座標(1,-1,3),(-2,5,9),(-1,2,-1)を通る平面を求めよという問題がうまく出来ません. 途中経過としては、 平面の方程式をAx+By+Cz+D=0として、3つの座標から2つを取り出しベクトルをつくり、そのベクトルと平面の法線の内積が0になるという方程式を3座標の3つの組み合わせ分作成し、連立させて解きました.これによって、法線は求まったのですが、平面と原点の距離Dが定まりません.  どなたか教えていただけませんでしょうか?

  • なぜ平面波と呼ぶのでしょうか?

    http://mementomori-budori.blogspot.com/2008/09/blog-post_23.html ここのページの解説によれば、k・x=一定としたとき、これがベクトルkを法線ベクトルとする平面であるため、と書かれているのですが、これについて教えて下さい。 k・x=0であれば、xが描く平面はkベクトルを法線ベクトルとする平面波になることは分かりますが、そういうことではないのでしょうか? この平面波というのはexp(-ikx)がkベクトルを法線ベクトルとする平面波という意味ではなく、中身のkxの内積が平面波と言っているように感じるのですが、どなたかもう少し分かりやすく説明して下さい。

  • 複素数平面と座標平面の対応について

    本などを見ると、P=a+biとP(a,b)は一対一対応をしていると書かれてあるのですが、これについてどのように整理をつければよいのか迷っています。まず、複素数平面上を書くときは軸に「実軸、虚軸」とはっきり書かないといけないのでしょうか。それと、複素数平面上の点Pの横に(a,b)と書いてはだめですよね。絶対にP=a+biの形で添えないとだめですよね。つまりどこまで対応しているのか分からないんです。あくまで複素数平面と座標平面は別個のものだから、答案を書くときにはそれを別々に書かないとだめですよね。 それと、ベクトルとつなげるときには、複素数平面ではなくて座標平面で考えるんだと思うのですが、そうすると、回転のとき以外はすべて座標平面で考えた方がよいのでしょうか。複素数平面の使い方が余りよくわかりません。 よろしくお願いします。

  • 接平面の求め方

    方程式 z=x^2 e^(xy) で表される面のある点(1,0,1) における接平面の方程式を求めなさい。 また接平面はxy平面に対してどのくらい傾いていますか? この問題について聞きたいんですが、接平面の法線ベクトルってなにになりますか? それと、あとの部分はどうやるんですか?内積を使いますよね? そうすると、xy平面のベクトルが必要ですよね? で、答えは結局何になりますか? 30度になったんですが合ってますかね?

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

  • 3次元座標を原点中心に回転したい

    任意のゼロでないベクトル(a,b,c)を原点中心に回転し、z軸に合致させるとする。同じ回転移動を3次元座標上の任意の点(x,y,z)に対して行った時の移動後座標が知りたいのです。 計算と結果を教えて下さい。

  • ある平面上の円周の座標の求め方

    原点(0,0,0),法線(a,b,c)で表される平面上にある、 半径rの円の円周のx,y,z座標をrと角度θを用いて表したいのですが、 どのように表現できますでしょうか? どなたかご教授願います。

  • 平面上の任意の5点を使って、楕円の中心座標を求める方法

    平面上の任意の5点(X1,Y1)…(X5、Y5) で、楕円の中心座標値を求めていのですが、どうすればいいのでしょうか? 最低5点、あれば楕円は計算できると聞いたのですが。 どなたか、お分かりになりますか?