1

我有一个三角形,如图所示,A(109,239)、B(182,234) 和 C(140,157)。

我正在使用 xlib 编程来获得这个。

在三角形内部某个点的鼠标单击事件中,我找到离该点最近的顶点,然后我想将三角形​​外部的线延伸到有限大的长度。

在此处输入图像描述

任何人都可以给出一个想法我该怎么做。我认为我们必须将一些值 ex a,b 添加到 B(x+a,y+b) ,但我不确定我将如何计算 a,b 的值?

在此处输入图像描述

4

1 回答 1

0

如果您知道 2 个点 p0 和 p1,您可以计算任何 x 的 y:

y = (x - x0) * (y1 - y0) / (x1 - x0) + y0

因此,在您的情况下,这两个点将是鼠标单击点和顶点。

编辑

您可以选择位于鼠标单击另一侧的 x。

x = vertexX + (vertexX - mouseX);
于 2013-09-27T06:39:02.533 回答