如何以编程方式从头创建弯头连接器?

时间:2019-05-24 05:10:49

标签: c++ shapes

MS-Word中的“弯头连接器”是3段线,中间有一个控制点,如图所示

see image here

如果我将黄色控制点向侧面移动,那么两端的两条线的长度都会相应地改变,而端点保持不变。 (请忽略图片中的“ 2”)

我试图了解其工作原理,以便重新创建它。这样的线是否有“线方程”?我有一些点(x,y)已经是这个弯头连接器的形状,但是我想通过控制控制点来合并改变任一侧线的功能。我将如何重新创建它?

1 个答案:

答案 0 :(得分:0)

通过解剖像这样的行:

enter image description here

对于仅横向移动中心(M),线2和3的长度保持不变,因此问题就变成了如何计算线1和4的长度(和方向)。
可以这样计算:

line1_length = B.x - M.x;
line4_length = M.x - A.x;

对于路线,应该首先进行比较:

if(B.x > M.x)...
.
.
.
if(M.x > A.x)...
.
.
.

起点已经被称为A的位置和B的位置。通过知道线1和线4的长度和方向,可以确定终点。

祝你好运!