如何从垂直线(B-> A)和(middleBC-> C)获得交叉点?

时间:2016-09-03 12:35:40

标签: c++ algorithm trigonometry

如何绘制一条圆形曲线(取决于终点)?

让:

  • A=(Ax,Ay)
  • B=(Bx,By)
  • C=(Cx,Cy)
  • BC(BCx, BC.y)BC
  • 之间的中间点
  • ABL1
  • BCL2

如何从垂直线cross(Mx,My)(B->A)获取点(middleBC->C)

任何想法如何获得它?

2 个答案:

答案 0 :(得分:2)

假设行l1是与ABB垂直的线。你从这一行(B)得到一个点并且你有它的斜率(因为它垂直于AB)。所以你可以简单地写出它的等式。

并假设行l2是与BCmiddle BC垂直的线。再次,您可以编写类似于上面解释的l2等式。

所需的点是l1l2的交点。所以你只需要解决l1l2的方程组。

答案 1 :(得分:2)

I((B.x + C.x) / 2, (B.y + C.y) / 2)成为[BC]I'(I.x + I.y - C.y, I.y + C.x - I.x)的中间点(C围绕I旋转90°)。然后,通过(BC)的{​​{1}}垂直为I(对于任何实数I + tII')。同样,tB'围绕A旋转90°,与B的垂直(AB)B(对于任何真实号码B + uBB')。

my book

现在你必须找到这两行的交点。有关相关问题,请参阅enter image description here