アプリ版:「スタンプのみでお礼する」機能のリリースについて

ある2点を通る直線P1(x1, y1)とP2(x2, y2)があり、別の1点P3(x3, y3)がその直線に垂直に交わるようにして線を引き、交わった点をP4とした場合、次の長さを求めたいのですが、そのような公式はあるのでしょうか?

点P3と点P4の直線の長さ

3点のxとyの座標だけでは出来ないのかも知りたいです。

A 回答 (7件)

#1さんと基本的に同じですが、点(x3,y3)と直線y=ax+bの距離は公式がありますし、


2点(x1,y1)(x2,y2)を通る直線の方程式

y=(y2-y1)/(x2-x1)*(x-x1)+y1

があるのですから両方合わせれば公式が作れますね。

|y3-y1-k(x3-x1)|/√(k^2+1)

ただし、k=(y2-y1)/(x2-x1)
    • good
    • 0
この回答へのお礼

>y3-y1-k(x3-x1)|/√(k^2+1)
>ただし、k=(y2-y1)/(x2-x1)

公式ありがとうございます。

直線 P1(x1, y1), P2(x2, y2)
垂線 P3(x3, y3)
この場合、x2-x1が0のときは、kを求める時点でどんな値になるのでしょうか?

この場合のP1,P2の直線に対して垂線上にあるP3との長さdは
P1,P2の直線は y=0となり、

d = | x1 - x3 | (||絶対値)

でよろしいのでしょうか?

また、皆さんの数学に対する考え方がわかり、大変参考になります。

お礼日時:2007/02/18 11:01

#3です。



>d = | x1 - x3 | (||絶対値) でよろしいのでしょうか?

x1=x2の場合は直線の方程式は x=x1(=x2)ですし、これに垂直なのは
y=y3ですからそれでいいです。

みなさん、色々ご意見があるようですが、質問者さんがこの質問の目的を
明らかにされていませんし、中にはプログラムを作る目的でこういう質問される方も
おられますので私としてはそういう場合でも対応できるよう回答したつもりです。
(私自身の公式に関する考え方はむしろ他の質問者さんと近いです)
    • good
    • 0

この問題においては、P(x0,y0)から直線ax+by+c=0との距離をdとすると


d = |ax0+by0+c|/√(a^2 + b^2)といった垂線の長さを求める公式を利用
すれば解けます。

もちろん、公式を覚えておくと便利ではありますが、しかし覚えていなくても垂線の長さを求める方法はいくつかあります。既に他の回答者の皆さんによっていくつか紹介されていますが、自分からもその一つの方法を提示いたしますので、ぜひ参考にして頂けたらと思います。

直線P1P2に接するようなP3を中心とする円の半径を定め、その半径の値はP3から直線P1P2に引いた垂線の長さに一致する事を利用します。
まず、直線P1P2をy=ax+bとおき、(a,bの値はP1,P2の座標値から予め計算しておく)、P3を中心とする半径rの円を(x-x3)^2 + (y-y3)^2 = r^2とします。

直線P1P2 y = ax + b ----------- (1)
円 (x-x3)^2 + (y - y3)^2------(2)

(1)式より、y = ax + bを(2)式に代入すれば、xに関する2次方程式が
できあがります。そして、これらは互いに接するわけですから、判別式を
用いて、重解を持つようにrの値を定めれば良い事になります。そのrの値が
垂線の長さに相当します。また、P4の座標を求めるためには、
求まったrの値をその2次方程式に代入して解くと、x座標の値が求まり
ます。そして、y座標の値を求めるには(1)式にx座標の値を代入して計算すれば求まります。
    • good
    • 0

気が向いたので、私の意見を述べておきます。


#4の方と同様、別に公式を覚えろとは思いません。

ただ、この問題の場合、
1. P1とP2を結んだ直線の式を求める
2. P3を通って1の直線と垂直な直線を求める
3. 1の直線と2の直線の交点を求める
4. P3と3の交点との距離を求める
という方針で計算しだすと、かなり計算が得意な人でも途中で挫折するほど厄介な計算をすることになります。
もし学校の試験中にこれをやりだしたら、ほとんど時間内には終わらないのでは。

点と直線の公式を使うやり方は、言うなれば、
2,3,4を一般の場合で先にやっておいて、後から1をやってその結果を代入する、てことになっているわけですが、こうすると計算量が(たとえ公式を導出するのに必要な計算を含めても)激減します。

こういう工夫こそが、試験としての数学の面白いところですね。(学問としての数学にもこういう工夫は随所で必要ですし)
結局、同じことをやるとしても、やる順番や、考え方をちょっと変える(#2の方のようにベクトルを使ったりする)だけで劇的に難しさが減ることがあります。

公式というのは、いうなれば、これまで多くの人がそこで問題を分割してきた、ということを表しているわけで、「ここは本流とは離れて別に計算したほうが結果的に計算量が減って得」という問題の切り分け方の強いヒントになっています。
たとえ、公式自体を覚えていなくても、少なくとも公式が存在することを覚えていれば、そこで問題を分割しようと自然に思えますね。
    • good
    • 0

私は数学が専門ではありません。



「点と線の距離の公式」というのがあるようですが私は知りません。必要なときは求めるものだと思っていました。
多分質問されている方も知らないと思います。公式、公式と言っていれば数学も暗記物になってしまいます。(「数学」は暗記物だという人がかなりいるようです。既に暗記物になっているのかも知れません。)だから「出来るか、出来ないか」と「出来上がった式があるか、ないか」が混乱しています。「P4が決まる」ということは「出来る」ということを表しています。出来なければP4が不定になるはずです。「出来る、出来ない」と「知られている公式があるか、ないか」とは別問題です。出来ることは分かるが計算で躓いたというのであれば質問の内容が変わってくるはずです。

 ある点P3を通る直線で別のある直線P1P2に垂直なものは一つしかありません。質問でP4としているものはその交点です。P4はただ一つ決まります。
 垂線の長さを求める考え方を書いておきます。これが分かれば式を一つ覚えるよりは意味があると私は思っています。でも反論があるでしょうね。

・直線P1P2の傾きをaとすると直線P1P2に垂直な直線の傾きは-(1/a)です。aはP1,P2の座標から分かります。これから2つの直線の式も分かります。交点P4の座標も計算出来ます。

・P3,P4の座標が分かれば距離はピタゴラスの定理から求められます。

これが流れです。自分の力で出してみて下さい。

覚えただけの公式はすぐに忘れます。考え方の流れは忘れません。私がこの計算をやった記憶はもう40年以上前のことです。
    • good
    • 0

(1/2)P1P2×P3P4=△P1P2P3


で、P1P2と△P1P2P3からP3P4を出せばよいのでは。

P1P2=√{(x1-x2)^2+(y1-y2)^2}

ベクトルP3P1=(x1-x3,y1-y3)
ベクトルP3P2=(x2-x3,y2-y3)
より、
△P1P2P3=(1/2)|(x1-x3)(y2-y3)-(y1-y3)(x2-x3)|
=(1/2)|x1y2-x1y3-x3y2+x3y3-x2y1+x3y1+x2y3-x3y3|
=(1/2)|x1y2-x2y1+x2y3-x3y2+x3y1-x1y3|

これらを、P3P4=2△P1P2P3/P1P2に入れる。
P3P4=|x1y2-x2y1+x2y3-x3y2+x3y1-x1y3|/√{(x1-x2)^2+(y1-y2)^2}

分子の添え字も循環的だし、分母もただのピタゴラスの定理なので、
そんなに汚い式ではないと思う。(たぶんあってると思いますが)
    • good
    • 0

3点の座標だけで決まります。



直接求める公式は一般的にはないでしょうけど、
P1,P2を通る直線を求めて、「点と直線の距離の公式」で
P3とP4の距離を求めればいいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!