• ベストアンサー

ある直線から見たときの座標の位置

例えば次のような直線があると仮定します。 (x-5)/(7-5)=(y-2)/(9-2)    ※(X-X1)/(X2-X1)=(Y-Y1)/(Y2-Y1)という直線の公式より この時、ある点(N,M)がこの直線より上にあるか下にあるかを調べるにはどうすればいいでしょうか?

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

  • ベストアンサー
  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.1

(X-X1)/(X2-X1)=(Y-Y1)/(Y2-Y1) より y=(X-X1)*(Y2-Y1)/(X2-X1)+y1 として M>(N-X1)*(Y2-Y1)/(X2-X1)+y1 ならば 点(N,M)は直線より上にある。 図を描きながらやるのが安全です。

rict-mict
質問者

お礼

なるほど、そういうことでしたか。非常によく分かりました。

その他の回答 (3)

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

点(5,2)は直線上の点ですね。 このx座標x=5はそのままにして, y座標y=2より大きなy座礁であるy=9(数値は2より大きければ何でもよい)を 代入した時の不等号の向き (5-5)/(7-5)<(9-2)/(9-2) つまり「<」ですね。 座標(M,N)を代入した時、 不等号の向きが「<」であれば、点(M,N)は直線の上側に存在し、 不等号の向きが「>」であれば、点(M,N)は直線の下側に存在し、 どちらでもなく等号「=」が成り立てば、点(M,N)は直線の下側に存在する。と判定できます。 直線の式を(右辺)-(左辺)=f(x,y)=0 と変形しておくなら 点(M,N)は f(2,9)f(M,N)>0なら直線の上側、 f(2,9)f(M,N)>0なら直線の下側、 f(M,N)=0なら直線上 に存在するとも判定できます。

rict-mict
質問者

お礼

数字を入れた解説分かりやすかったです。どうも有難うございました。

  • naniwacchi
  • ベストアンサー率47% (942/1970)
回答No.3

「上」「下」ということは、「高さ」すなわち y座標を意識していることになります。 よって、先の回答者さんの書かれているとおり、 まず直線の方程式を y=…の形に変形しておいて、 M(y座標)と …(x座標)の大小比較で調べることができます。

rict-mict
質問者

お礼

Y座標を高さとして考えるのですか。よく分かりました。

  • yasei
  • ベストアンサー率18% (44/244)
回答No.2

直線上の点(N,Y)をとる。 Y>Mで直線より下 Y=Mで直線上 Y<Mで直線より上 要するに二次元空間からx=Nの一次元空間を取り出して、そこで議論すればいいわけです。

rict-mict
質問者

お礼

確かにこのように考えるととても分かりやすいですね。どうも有難うございます。

関連するQ&A