2

一連の点(x、y)を指定してグラフを描画するプログラムを設計しようとしています。また、点の助けを借りて、曲線(直線、誇張、放物線)も認識できるはずです。それを行うためのアルゴリズムはありますか?

4

2 に答える 2

1

関数extremeを監視することでそれを行うことができますが、この問題の最適な解決策ではない可能性があります(つまり、y = sqrt(x * x-1)のような放物線関数の問題を意味します)。直線の場合、2つのランダムな点によってy = ax + bを計算し、他のどの点がこの条件に等しいかを確認できます(はいの場合)。他の2つの例外をチェックするか、何もチェックしない場合、これは直線です。たぶん、他の誰かが次の2つのケースの解決策を手に入れますか?

于 2010-04-20T22:02:59.140 に答える
1

曲線が直線または円錐曲線(双曲線、放物線、楕円、円)の場合は、5つのポイントが必要になります。

5つのポイントが同一線上にある場合、直線になります。(または縮退した円錐曲線ですか?しかし、直線を期待している場合、これは直線を示しているはずです。)

4つが同一線上にある場合、4つの同一線上の点を通る線と、最初の線に平行ではない5番目の点を通る任意の線によって与えられる縮退円錐曲線があります。

3つが同一線上にある場合、3つの同一線上の点を通る線と、他の2つの点を通る線によって与えられる縮退した円錐曲線があります。(これらの2つの線が平行でない限り、この場合、これは円錐曲線ではありません。)

3つの点が同一線上にない場合は、固有の非縮退円錐曲線になります。

この円錐曲線の方程式(Ax ^ 2 + Bxy + Cy ^ 2 + Dx + Ey + F = 0)を見つけるには、このページ、特にセクションの式を見てくださいDETAILS。5つのx値とy値を入力し、xとyに関して行列式を計算します。これにより、円錐曲線の式が得られます。次に、ここを参照して、A、B、およびCの値に基づいてどのような円錐曲線を持っているかを把握してください。

5つを超えるポイントがある場合は、5つのポイントを選択し(できれば、3つが同一線上にないようにします)、円錐曲線を見つけて、残りのポイントが円錐曲線上にあることを確認します。

于 2012-04-04T10:36:52.127 に答える