识别来自给定点的简单多边形中的点

时间:2013-09-20 07:19:56

标签: c computational-geometry graph-algorithm x11

我在图像中给出了一个多边形,我正在使用x windows编程工作。

1 个答案:

答案 0 :(得分:0)

我假设是二维几何。

对于每个顶点,你有它的坐标(x,y)。 您还可以获得用户选择的点的坐标(X,Y)。

从坐标几何中,给定一条直线上的两个点,您总能找到一个表示通过这两个点的直线的方程式。

获取通过用户选择点(X,Y)和顶点的线的方程式。

即如果你有一个五边形,5个顶点有坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)和坐标用户选择的点是(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解决这个问题。如果存在至少一种组合的解决方案,则不要选择该点。否则选择它。

对每个L重复此过程,您将获得顶点。

互联网上有很多链接可以找到通过两点的线的等式。