三次元平面上の点Pが三角形ABC内に存在するか確認する方法

このQ&Aのポイント
  • 三次元平面上の点Pが三角形ABC内に存在するか確認する方法を紹介します。計算回数や処理速度を考慮し、四則演算のみを用いた解法を提案します。具体的な手順としては、外積と内積を用いて判定する方法を示しました。
  • 三次元平面上の点Pが三角形ABC内に存在するか確認する方法を紹介します。計算回数を抑えたい場合や、パソコン上で処理を行う場合に役立つ解法です。具体的な手順としては、ベクトルの外積と内積を利用して判定する方法を提案しました。
  • 私が考えた三次元平面上の点Pが三角形ABC内に存在するか確認する方法は、外積を2回、内積を1回計算する手法です。しかし、計算量が多いため、より簡潔な手法が必要です。
回答を見る
  • ベストアンサー

ベクトル、内積、外積など

ベクトル、内積、外積など はじめまして、私は情報系の分野を専門的に学習している学生です。 情報分野ではそれなりの知識を持っているので、あえて数学的な 質問をさせていただきます。   ・三次元平面上に点ABCがあります。   ・点ABCを含む平面上に点Pがあります。 三角形ABC内に点Pが存在することを確かめるには、 どのようにすればよいでしょうか? またこれには以下のような制約があります。   ・パソコン上で計算するので、なるべく計算回数    (特に乗算、除算)を抑えたい。   ・パソコン上では三角関数などは級数なので精度、    処理速度、共に両立できない。 なので、なるべく少ない計算量で、四則演算のみを用いた 解法が必要です。 以下は私の考えた手順ですが、   (1)ベクトルBcとBa(もしくはBp)との外積によりベクトルNを得ます。   (2)ベクトルNとBcとの外積によりBcに直行するベクトルBc´を得ます。   (3)ベクトルBc´とBpとの内積が負ならば、点Pは線分B-Cの外に位置します。   これをB-C、C-A、A-Bと行うことで判定します。 これでは外積を2回、内積を1回計算する必要があり、計算量が多いので より簡潔な手法が必要です。 (本当に数学って大切ですね、もっと勉強しておけばよかった(^^;)

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

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

点Pが点ABCを含む平面上にあるなら、 ベクトルAbとApとの外積、ベクトルBcとBpとの外積、ベクトルCaとCpとの外積 この3つのベクトルは平面の法線ベクトルなので、同じ方向か逆方向のベクトルになります。 3つとも同方向なら点Pは三角形ABC内です。 2つのベクトルが同方向か逆方向かは内積の正負で判断できます。

gakuseiC
質問者

お礼

ありがとうございます。 外積で判定ができることは気づきませんでした。

その他の回答 (1)

  • htms42
  • ベストアンサー率47% (1120/2361)
回答No.2

ベクトルPA,PB,PCを作ります。 PA・(PB×PC)=0  これで「同一平面上にある」ということが出てきます。 PA・(PB+PC)<0  これで「三角形の内部にある」ということが出てくると思います。 A、B、Cを入れ替えたものでやる必要は多分ないだろうと思います。 でも確かではありません。

gakuseiC
質問者

お礼

ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • 内積と外積について

    内積と外積について 2つのベクトルをA,Bと表し、2つのベクトルのなす角をθとします。 また、A=(ax,ay,az),B=(bx,by,bz)です。 内積はA・B=|A||B|cosθと表されこれはスカラー量です。 内積はAのBへの正射影とBの積(もしくは、BのAへの正射影とAの積)と認識しています。 また、A・B=axbx+ayby+azbzとも表されこれはスカラー量です。 A・B=|A||B|cosθ,A・B=axbx+ayby+azbzはどちらも内積の定義なのでしょうか? 外積は|A×B|=|A||B|sinθと表されますが、これもスカラー量ですよね。 外積はベクトル積と呼ばれることもあるようですが、 これは、外積の定義A×B=(aybz-azby,azbx-axbz,axby-ayax)がベクトルとなるからベクトル積と 言われるのでしょうか? |A×B|=|A||B|sinθは定義ではないのですか? 以上、よろしくお願い致します。

  • ベクトルの問題

    △ABCについて、ベクトルAB、ベクトルBC、ベクトルCAに関する内積を、それぞれ(ベクトルAB)・(ベクトルBC)=x、(ベクトルBC)・(ベクトルCA)=y、(ベクトルCA)・(ベクトルAB)=zとするとき、△ABCの面積をx、y、zを用いて表せ。 △ABCにおいてAからBCにひいた垂線の足をOとおいて、Oを原点とするXY座標平面上にBCとX軸が一致するようにあらわして、それぞれの座標をかってにきめて内積と外積の関係から面積を求めようとおもったのですが、先生から外積を使わずに解いてくれといわれました。 もっと簡単な方法があるとのことですが、まったくわかりません。 どなたかヒントをください! よろしくおねがいします。

  • ベクトルの内積

    ベクトルの内積を勉強していて、ふと思ったのですが、 ベクトルの内積計算において、 3つのベクトルをかけることはできるのでしょうか? ベクトルA,B,Cにおいて A・B = |A|・|B|COSθ となるのと同じように A・B・C =? これもどうにかして計算することはできるのでしょうか?

  • ベクトルについて

    ベクトルの問題で 平面上にAB=2を満たす定点A,Bがある。 点PがベクトルAP、BPの内積≦0,ベクトルAB、APの内積≧ベクトルBA、BPの内積を満たして動くとき、√3AP+BPのとり得る値の範囲を求めよ。 という問題がありました。 三角形の成立条件とかいろいろ考えたのですがわかりません。 あと求めるものに√3APというように√3が付いているので何か意図があるのかな?と思ったのですがわかりません。 どうやって解いたらよいでしょうか?

  • 外積に関する質問です。

    外積に関する質問です。 ベクトルaとベクトルbが接していない場合には外積って計算できるんでしょうか? 内積は正射影なのでベクトルaとbが接していなくても出来ると思うのですが、 外積はどうでしょうか?

  • ベクトル 外積について

    ベクトル 外積について 2つのベクトルをA,Bと表し、2つのベクトルのなす角をθとします。 また、A=(ax,ay,az),B=(bx,by,bz)です。 外積 A×B=(aybz-azby,azbx-axbz,axby-aybx)ですがこれは、 A×B=(aybz-byaz,azbx-bzax,axby-bxay)と書いても同じでしょうか? また、内積は2・3次元、外積は3次元のイメージなのですが、4次元等にも拡張して 考えられるものなのでしょうか? ご回答よろしくお願い致します。

  • ベクトル

    ABベクトルをABとします 1) 平面上の△ABCにおいてAB・BC=BC・CA=CA・AB が成り立つ時△ABCは正三角形であることを示せ 上の問題で AB+BC+CA=0(ゼロベクトル) ↑を使うような気がするのですが解法が全く思いつきません 2) 座標平面上の原点をOとし、点A(1/3,0)、点B(0,2/3)とする 負でない実数s,tはs+2t=3を満たしながら動くものとするこのとき 座標平面上の点Pを OP=sOA+tOBによりさだめる (1)点Pの存在範囲を求めよ (2)内積AP・APの最小値をもとめよ 2)は全くできないです どうか御教授よろしくおねがいします。

  • 「空間ベクトル」の問題です。

    3次元空間内の2点 ベクトルa、ベクトルb と原点の3点を頂点とする三角形の外心 ベクトルp を ベクトル a, b と内積・、外積×などを用いて ベクトルp=a×b×(a,b の式) の形で表せ。 ヒント: ベクトルp=αa+βb とし、点ベクトルp が点ベクトルa、b、原点から等距離にあることを用いよ。 教えて下さい:ヒントからベクトルの内積のみを用いた解は得られました(正解でした)が、外積を用いなければ不可との事でした。どうしても、外積を使う方法が解りません。どうかお教え下さい。

  • 英語で内積と外積を組み合わせた数式の読み方

    英語で内積や外積の言い方は、u、vをベクトルとすると dot-product of u and v と cross-product of u and v なのはネットで調べて分かったのですが、例えばa、b、cをベクトルとしたとき、例えばa・b×cはどう英語で読めばよいのでしょうか。ぜひ、お力を貸していただけないでしょうか。

  • ベクトルの外積について質問です><

    ベクトルAを|A ベクトルBを|B と表します。 そこでなんですが、ベクトルの内積は ex・ex=1 ex・ey=0ですから |A=-3ex+ey+2ez |B=4ex+2ey-ez の内積をとると-12+2-2=-12となりますよね? それはわかるのですが、では|Aと|Bの外積をとる場合はどうなるのでしょうか?困っています><教えてください>< また|A-|Bなどは普通に同じものどうしを引き算すればよいのですよね? 教えてください><お願いします><