我有一个三角形,如图所示,A(109,239)、B(182,234) 和 C(140,157)。
我正在使用 xlib 编程来实现这一点。
在三角形内部某个点的鼠标单击事件中,我找到距离该点最近的顶点,然后我想将三角形外的线延伸到有限大的长度。
任何人都可以告诉我该怎么做。我认为我们必须将一些值 ex a,b 添加到 B(x+a,y+b) ,但我不确定我将如何计算 a,b 的值?
最佳答案
如果你知道 2 个点 p0 和 p1,你可以计算任意 x 的 y:
y = (x - x0) * (y1 - y0) / (x1 - x0) + y0
因此在您的情况下,这 2 个点将是鼠标点击点和顶点。
编辑
您可以选择鼠标点击对面的 x。
x = vertexX + (vertexX - mouseX);
关于c - 在编程中增加一行的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19044058/