MS-Word 中的“弯头连接器”是一条三段线,中间有一个控制点,如图所示
如果我将黄色控制点向侧面移动,则两侧的两条线的长度会相应改变,而端点保持不变。 (请忽略图中的“2”)
我试图了解它是如何工作的,以便我可以重新创建它。这样的线有“线方程”吗?我有一些点 (x,y) 已经是这个弯头连接器的形状,但我想合并通过控制控制点改变任一侧线的功能。我将如何重新创建它?
最佳答案
通过剖析以下行:
为了仅将中心 (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的长度和方向,可以确定终点。
祝你好运!
关于c++ - 如何以编程方式从头开始创建弯头连接器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56286200/