• ベストアンサー

三角錐の面の法線

 三角錐の各面の法線は、その面の稜線から、二つのベクトルの外積で求まるんですが、その2つのベクトルの選択は任意ですか? 三角錐の場合、各面は三角形で頂点は3つなので、始終点を考慮すると6つのベクトルがあります。そこから外積に使う2つのベクトルがあるんですが・・・ そこには「ただし面は頂点を反時計回りに回ったときが表とする」と書いてあります。

  • jlnh
  • お礼率37% (201/542)

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

  • ベストアンサー
noname#57316
noname#57316
回答No.7

#1,2です。 >つまり法線は必ず正負の方向にふたつあり、どちらかが求まれば各成分の符号 >を変えればいいということですか。 そのとおりです。(ax-cx)などを、(cx-ax)などとする方法でもよいですし、 各成分の符号を変えなくても、掛ける順番を逆にしてもよいのです。 これは行列式の演算規則によるものです。 ただし、(ax-cx)などと(bx-cx)などを同時に変えずに、一方だけを変えるのです。 そうでなければ、(マイナス)×(マイナス)→(プラス)になってしまいます。 質問で、『「ただし面は頂点を反時計回りに回ったときが表とする」と書いてある』 と書かれていますね。 A×Bというベクトル積は、ベクトルA、Bの起点Cを中心にベクトルAからベクトルB に反時計回りに回したとき(左に回すとき)、手前に伸びてくる方向を向きます。 ちょうど螺子を外すとき、ドライバーを左に回すと螺子が進む向きと同じです。 手前に伸びてくる向きなので、三角錐の表面の「表」とされているのです。 しかし、この向きは、A×Bというベクトル積の負の向きなのです。 逆に、Cを中心にAからBにベクトルを右に回す時に、ベクトルは奥に進む向きに なります。この向きは、A×Bというベクトル積が正となる向きです。 電気に「右螺子の法則」(直線状の電流がつくる磁場の向きは、電流の流れる 方向を、時計回りに回す右ねじの進む方向にとれば、右ねじの回る向きに一致 するという法則)というのがありますが、これと似ているので、憶えておかれると よいでしょう。

jlnh
質問者

お礼

よく分かりました。 教科書に同じ事が書いてあったんですが、こちらの方が分かりやすいです。

その他の回答 (6)

  • ka1234
  • ベストアンサー率51% (42/82)
回答No.6

こんにちは。 >その2つのベクトルの選択は任意ですか? >「ただし面は頂点を反時計回りに回ったときが表とする」と書いてあります。 法線ベクトルが内を向いているか外を向いているか分からないと都合が 悪い時もありますので、「外を向くように」外積を定めてみましょう。 (1)三角錐を、O-ABCと名付けることにします。頂点がOで底面が△ABCです。 (2)それぞれの面、すなわち、△OAB、△OBC、△OCA、△ABCのどれか1枚、  例えば△OABをとることにします。 (3)点Oを手前にした時、右が点A、左が点Bとすると、  OA×OB とすれば求まります。  すなわち、「右のベクトル×左のベクトル」を作れば大丈夫です。 (4)他の面についても同様です。

jlnh
質問者

お礼

ありがとうございます。他の回答と合わせてみたいと思います。

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.5

#4です。 >三角錐の各面は内側・外側のどちらから見たものですか? 意味が良く分かりません。 任意の三角形の面の頂点の名前を反時計周りにP→Q→R→Pの順につけたとすれば、三角錐の内部(面の内側)から外側(面の表側)に向かう法線ベクトルが面の表側に向かうベクトルの向きと同じ向きということです。 法線ベクトルが逆向きであれば、三角錘の外部から内側に向かう向きと同じ向きということになります。 ベクトル積は、法線の方向に右ネジをおいた時、前のベクトルを後のベクトルに重なるように面内で回転させて右ネジが進む方向が法線ベクトル(の正)の方向ということです。

jlnh
質問者

お礼

右ネジは中学でも習ったので、あまり使わず全く忘れていました。復習しなおします。

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.4

三角錘の1つの面のΔPQRとし、頂点P,Q,Rが反時計周りに並んでいるとします。「×」をベクトル積の記号とします。 >「ただし面は頂点を反時計回りに回ったときが表とする」 (PQ↑)×(QR↑),(QR↑)×(RP↑),(RP↑)×(PQ↑)が面の表方向に向く法線ベクトルになります。 (PQ↑)×(PR↑),(QR↑)×(QP↑),(RP↑)×(RQ↑)も面の表方向に向く法線ベクトルになります。 また (PR↑)×(RQ↑),(RQ↑)×(QP↑),(QP↑)×(PR↑)が面の裏方向に向く法線ベクトルになります。 (PR↑)×(PQ↑),(QP↑)×(QR↑),(RQ↑)×(RP↑)も面の裏方向に向く法線ベクトルになります。

jlnh
質問者

補足

三角錐の各面は内側・外側のどちらから見たものですか?

  • Meowth
  • ベストアンサー率35% (130/362)
回答No.3

面は2つのベクトルで決まるので 2つのベクトルと直交するベクトルをもとめれば 十分。 法線ベクトルは面内の平行でない任意の2つのベクトルの外積 に平行です

jlnh
質問者

お礼

ありがとうございます。外積の本当の性質を理解しました。

noname#57316
noname#57316
回答No.2

具体的に式で書いて説明しましょう。 A×B というベクトル積は、点C(cx,cy,cz)を起点とした A、Bへ向かうベクトルが、i、j、kをx、y、z方向の単位ベクトルとして A=i・(ax-cx)+j・(ay-cy)+k・(az-cz) (Bも同様の式になります) ですので、A×Bは、 |   i     j     k   | | (ax-cx) (ay-cy) (az-cz)| | (bx-cx) (by-cy) (bz-cz)| という行列式で表わされます。AからBにベクトルを右に回す時に正となります。 このように、三つの点の座標を使うので、任意に選ぶといっても、実質、任意性はないのです。

jlnh
質問者

お礼

式の証明は大変なので暗記したいと思います。ありがとうございます。

jlnh
質問者

補足

つまり法線は必ず正負の方向にふたつあり、どちらかが求まれば各成分の符号を変えればいいということですか。

noname#57316
noname#57316
回答No.1

平面の法線は、二つのベクトル積で決まります。 面の稜線から二つのベクトルを作る時、三角形の三つの点の座標を使いますので、外向きか内向きか の別は生じても、法線の方向は同じです。つまり、二つのベクトルの選択は任意です。 ただし、法線の向きを考えなければなりません。

関連するQ&A

  • 多角形の法線ベクトルの求め方

    3次元空間内で自己交差、曲率のない平面の法線ベクトルの求め方を教えてください。 平面は、(x0,y0,z0), (x1,y1,z1), ... (xn,yn,zn) という頂点配列で与えられています。 凸多角形ならば、一直線上にない任意の連続した3点の外積を取れば求まることは 簡単に分かるのですが、凹多角形の場合に、この方法を採用すると、逆向きの法線が 求まってしまう可能性があるという点で困っています。 凹凸の任意多角形平面の法線ベルトルを求めるアルゴリズムを探しています。 よろしくお願いいたします。

  • 4点ある時の面の法線ベクトルの求め方

    面の法線ベクトルを求めたいのですが、 3点の場合はp(xyzのポイント) p1,p2,p3があるとして、 v1 = p2 - p1 v2 = p3 - p2 v3 = 外積(v1,v2) 正規化(v3) で調べたのですが p1,p2,p3,p4の4点の 場合はどのようにしたらいいでしょうか? p1,p2,p3とp2,p3,p4みたいに 三角形に分割して、平均したらいいのでしょうか? よろしくお願いいたしますm(__)m

  • 2直線を含む面の方程式

    2つの直線 G: x-1 = y/(-1) = (z+2)/7 L: (x+2)/2 = (y+1)/0 = (z+1)/3 の両方を含む面の方程式を求めたいのですが、 2つの直線の方向ベクトルから外積を出して、それを法線にした場合と、 2つの直線の交点を求めて、交点と直線が通る点の3点から外積を出して法泉とした場合で 法線の方向が異なってしまいます(逆向きではなくx:y:z比が異なる)。 考え方そのものが間違ってるのでしょうか?

  • 単位法線ベクトルの問題

    三角形ABCの単位法線ベクトルr nを頂点A,B,Cの位置ベクトルr0、r1、r2を用いて表しなさい。 但しA,B,Cの方向に右ねじを回して進む方向を正方向とする。 具体的にベクトルr0=(0,0,1),r1=(2,0,0),r2=(0,1,0)としたとき、ベクトルr nを求めなさい。 この問題が分かりません。 外積を使うと思うのですが、誰か教えてください。

  • Xファイルの法線情報について

    現在、DirectX10を利用して3Dゲームを制作しています。 3Dデータを読み込むためにXファイルを使用しています。 Xファイルの読み込みは自分でXファイルパーサーを作成しています。 そして、 Xファイルには法線ベクトルの情報が入っています。 これは面法線情報であると今まで思っていました。 (理由:法線情報数が面情報数と一致していたので) しかし、最近になって、頂点法線情報が入っているXファイルの存在を知りました (理由:法線情報数と面情報数が一致せず、頂点数と一致していたので) そこで質問があります。 Xファイルに入っている法線情報が面法線なのか、頂点法線なのか 知る方法を教えてください。 よろしくお願い申し上げます。

  • ベクトル面積分の問題です

    ベクトル面積分の問題です http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/calccomans/node117.ht... の (b) がわかりません (b)を押すと 解答が見れますが、 dS を dxdy に変えるところで 何をしているのかわかりません。 | | で囲まれてるところです。 また、僕は、はじめ この面積分を 円柱(4分の一に切られている) の各面 でそれぞれ求め あとでそれらを 足し合わせると思っていましたが、この解答では いっぺんにしています。 法線ベクトルn は どの面で 面積分するかで 変わってくると思うのですが、いっぺんにできるのでしょうか。 よろしくお願いいたします

  • 空間図形の法線ベクトル?

    f(x,y,z)で表せる、空間図形上の任意の点での 法線ベクトルを求めたいんですが・・・。 多分fの偏微分で求まると思うのですが、 いまいち自信がありません。 どなたかご存知の方いらしゃいませんか? 宜しくお願いいたします。

  • 楕円面上の法線ベクトル

    楕円面 F(x,y,z) = x^2/a^2 + y^2/b^2 + z^2/c^2 -1 = 0 (a)楕円面上の点 P0 = (x0,y0,z0) における法線方向を指すベクトルを求めよ。 (b)P0における法線上の任意の点を P = (x,y,z) とすると、線分P0Pは(a)で求めたベクトルと平行である。このことを用いて、楕円面のP0を通る法線の方程式を求めよ。 (c)P0における接平面上の任意の点を P = (x,y,z) とすると、線分P0Pは(a)で求めたベクトルと垂直である。このことを用いて、楕円面のP0を通る法接平面の方程式を求めよ。 自分なりに考えた解答があっているかを教えていただきたいです----- (a)原点 O = (0,0,0) から楕円面上の点 P0 = (x0,y0,z0) に伸ばしたベクトルは、当然 点P0の接平面 に垂直なので 法線ベクトル →P0 = (x0,y0,z0) (b) →P0P = (x,y,z) - (x0,y0,z0) = (x-x0,y-y0,z-z0) これに平行なので (x-x0)/x0 = (y-y0)/y0 = (z-z0)/z0 (c) →P0P = (x,y,z) - (x0,y0,z0) = (x-x0,y-y0,z-z0) これに垂直なので内積がゼロ、よって x0(x-x0)+y0(y-y0)+z0(z-z0) = 0 ----- 特に(b)はあっていますか? よろしくおねがいします。

  • 空間上の2平面の角度

    空間上の三点で定義される平面が2面存在しており、その2面がなす角度を求めたいのです。法線ベクトルを使用すれば求められるはずなのですが、ベクトルの方向を考慮しなければ駄目ですか? 法線ベクトルを使用せずに求めることは可能でしょうか?ご教示お願い致します。

  • 3次元の物体、例えば正四面体の頂点のデータを取得したとします。正四面体

    3次元の物体、例えば正四面体の頂点のデータを取得したとします。正四面体は1つの面は三角形ですので3つの点の(x,y,z)座標が得られていることになります。で、それが4面なので4セットあることになります。さて、質問ですが、その面に対する物体の”外向き”単位法線ベクトルを計算することを考えます。法線ベクトルは割りと簡単に計算できますが、外向きか、内向きかを判別するアルゴリズムにはどのようなものがあるでしょうか。その1つの面(3つの点)だけだったら物体の全体像がわからないのでその他の点(残り1つですが)を使うことになると思いますが。どのようになるでしょうか。 また、正n面体の物体ではどうなるのでしょうか。正でなくn面体ならどうなるかという問題があります。 面構成する頂点の座標が与えられているというのが基本の前提条件です。よろしくお願いします。