0

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

4

1 回答 1

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 重复此过程,您将获得顶点。

互联网上有大量链接可以找到通过两点的直线方程。

于 2013-09-20T08:40:37.953 回答