1
的线的长度l具有与图中所示用A(109239)是三角形,B(182234)和C(140157)。增加编程
我使用Xlib的程序得到这个。
在在三角形内部的点的鼠标点击事件,我发现从该点最近的顶点,然后我想程度的三角形外线路上有限大的长度。
任何一个可以给一个想法,我怎么能做到这一点。我认为我们必须给B(x + a,y + b)增加一些值,但是我不确定如何计算a,b的值?
的线的长度l具有与图中所示用A(109239)是三角形,B(182234)和C(140157)。增加编程
我使用Xlib的程序得到这个。
在在三角形内部的点的鼠标点击事件,我发现从该点最近的顶点,然后我想程度的三角形外线路上有限大的长度。
任何一个可以给一个想法,我怎么能做到这一点。我认为我们必须给B(x + a,y + b)增加一些值,但是我不确定如何计算a,b的值?
如果你知道2点P0和P1,就可以计算出y代表任意x:
y = (x - x0) * (y1 - y0)/(x1 - x0) + y0
所以你的情况这2点是鼠标点击点和顶点。
编辑
你可以选择X是在鼠标点击的对面。
x = vertexX + (vertexX - mouseX);
但是在这里我没有x和y两个值来代替。此外,如果我取x值并尝试找出y值,我不确定该线将被绘制到哪个方向。假设我选择了一个靠近C顶点的点,我应该能够在任何方向上扩展该线。 –
用新的点选择编辑图片。 –
@Rdvsm你必须选择一些你想要的x。使用选定顶点上的某个点,这与点击鼠标的方向相反。 – user694733