GeoGebraにおける「垂線の足」の作り方11パターン
課題
点Pから線分f(延長線を含む)に下ろした垂線の足を、P,fのみに依存するオブジェクトとして作成し、その定義式を示せ。
解説
目的の定義式は、何パターンも作ることができます。まず、fを延長した直線の作り方だけでも、以下のように、大きく分類して5パターンあります。
fを延長した直線の作り方
① Line[<点>, <平行な直線>]を利用
Line[Point[f],f]
② Line[<点>, <方向ベクトル>]を利用
Line[Point[f], Vector[UnitVector[f]]]
③ Line[<点>, <点>]を利用
Line[Point[f,0],Point[f,1]]
Line[Point[f,0],Center[f]]
Line[Center[f],Point[f,1]]
④ 2点を通る直線式を利用
y = ( ( y(Point[f,1]) - y(Point[f,0]) ) / ( x(Point[f,1]) - x(Point[f,0]) ) )*( x - x(Point[f,0]) ) + y(Point[f,0])
⑤ Slopeコマンドを利用
y = Slope[f]*( x - x(Point[f]) ) + y( Point[f] )
Line[Point[f], Point[f] + (1, Slope[f])]
以下では、上記のいずれかの方法で作った、fを延長した直線を、「FLine」と表記することにします。実際に作成する際には、「FLine」の部分を、上記いずれかの数式に置き換えたものを、入力バーに入れてください。
垂線の足(目的のオブジェクト)の作り方
① ClosestPointコマンドを利用
ClosestPoint[FLine, P]
② Intersectコマンドを利用
Intersect[FLine, PerpendicularLine[P, f]]
③ ベクトルの内積を利用
Point[f, 0] + (Vector[Point[f, 0], Point[f, 1]]*Vector[Point[f, 0], P]/f) * UnitVector[ Vector[Point[f, 0], Point[f, 1]] ]
以上のように、垂線の足は、FLineを用いた方法が2パターン、用いない方法が1パターン思いつきました。FLineの作り方は、5パターン紹介しましたので、本記事で紹介したパターンは、全部で11パターンです(5*2+1=11)。