2013-09-27 33 views
1

的线的长度l具有与图中所示用A(109239)是三角形,B(182234)和C(140157)。增加编程

我使用Xlib的程序得到这个。

在在三角形内部的点的鼠标点击事件,我发现从该点最近的顶点,然后我想程度的三角形外线路上有限大的长度。

enter image description here

任何一个可以给一个想法,我怎么能做到这一点。我认为我们必须给B(x + a,y + b)增加一些值,但是我不确定如何计算a,b的值?

enter image description here

回答

0

如果你知道2点P0和P1,就可以计算出y代表任意x:

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

所以你的情况这2点是鼠标点击点和顶点。

编辑

你可以选择X是在鼠标点击的对面。

x = vertexX + (vertexX - mouseX); 
+0

但是在这里我没有x和y两个值来代替。此外,如果我取x值并尝试找出y值,我不确定该线将被绘制到哪个方向。假设我选择了一个靠近C顶点的点,我应该能够在任何方向上扩展该线。 –

+0

用新的点选择编辑图片。 –

+0

@Rdvsm你必须选择一些你想要的x。使用选定顶点上的某个点,这与点击鼠标的方向相反。 – user694733