0

画像にポリゴンが指定されています。要件に応じてx windowsプログラミング作業を使用しています。

4

1 に答える 1

0

私は2次元のジオメトリを想定しています。

各頂点には、座標 (x、y) があります。また、ユーザーが選択した点の座標 (X、Y) もあります。

座標ジオメトリから、線上の 2 点が与えられた場合、それらの 2 点を通る線を表す方程式をいつでも見つけることができます。

ユーザーが選択した点 (X、Y) と頂点を通る直線の方程式を取得します。

つまり、五角形の場合、座標 (x1, y1)、(x2, y2)、(x3, y3)、(x4, y4)、(x5, y5) の 5 つの頂点とユーザーの座標選択した点は (X, Y) で、通過する直線の方程式を見つけます...

(x1, y1) and (X, Y) --> L1
(x2, y2) and (X, Y) --> L2
(x3, y3) and (X, Y) --> L3
(x4, y4) and (X, Y) --> L4
(x5, y5) and (X, Y) --> L5

次に、上記と同じ方法でエッジの方程式を見つけます..

(x1, y1) and (x2, y2) --> E1
(x2, y2) and (x3, y3) --> E2
(x3, y3) and (x4, y4) --> E3
(x4, y4) and (x5, y5) --> E4
(x5, y5) and (x1, y1) --> E5

さて、L1 を取り、これを E1、E2、E3、E4、E5 で解きます。少なくとも 1 つの組み合わせに解がある場合は、その点を選択しないでください。それ以外の場合は選択します。

各 L に対してこのプロセスを繰り返すと、頂点が得られます。

インターネット上には、2 点を通る直線の方程式を求めるためのリンクがたくさんあります。

于 2013-09-20T08:40:37.953 に答える