Geogebraで曲線と直線との交点を全て求める方法
はじめに
Geogebraは、2次関数や3次関数のグラフと直線との交点であれば、Intersect[ ]コマンドで、全ての交点を求めることができます。
しかし、それ以外の関数(三角関数など)のグラフと直線との交点については、単純にIntersect[ ]コマンドを実行しただけでは、すべての交点を表示することができません。
上記の曲線で、交点をすべて表示させるには、どうすれば良いでしょうか。
グラフをPolyline[ ]で作成する
その方法の一つとして、グラフを折れ線Polyline[ ]として作成するというやり方があります。
数値オブジェクトfreq(0〜100、増分1)を用意します。
係数a,b,c,dを適当に用意したのち、以下のように点列(list1)を作成します。
Sequence[(t / freq, a sin(t / freq)³ + b sin(t / freq)² + c sin(t / freq) + d), t, 0, 10freq]
これは、関数上の点を、0<x<10の範囲で1/freqごとにプロットするものです。
freq=1の場合。x=0からはじめて、1刻みでグラフ上の点をプロットしている。
freq=2の場合。こんどは1/2刻みでグラフ上の点をプロットしている。
このようにして作成した点列(list1)を、折れ線で結びます。
PolyLine[list1]
freq=2の場合。折れ線はまだギザギザしている。
freq=100の場合。ここまでくるとなめらかな曲線になる。freqを大きくするほど、折れ線はより関数のグラフに近づく。
そして、Polyline[ ]で作成した折れ線オブジェクトと直線との交点であれば、Intersect[ ]コマンドで全て求めることができます。
以上が、今回思いついた方法となります。
参考として、アプレットを掲載します。