我有一个三角形,如A(109,239),B(182,234)和C(140,157)所示。
我正在使用xlib编程来实现这个目标。
在三角形内的一个点上的鼠标点击事件中,我找到距离该点最近的顶点,然后我想将三角形外的线扩展为有限大的长度。
任何人都可以知道我该怎么做。我认为我们必须将一些值ex a,b添加到B(x + a,y + b),但我不确定如何计算a,b的值?
答案 0 :(得分:0)
如果你知道2点p0和p1,你可以计算任何x的y:
y = (x - x0) * (y1 - y0) / (x1 - x0) + y0
因此,在您的情况下,这两个点将是鼠标点击点和顶点。
修改强>
您可以选择鼠标单击另一侧的x。
x = vertexX + (vertexX - mouseX);