复杂线条背后的逻辑

TCM*_*TCM 5 c# algorithm

我想画一条从A点到B点的线.但是,如果B exactly点低于A 点,那么线本身应该是智能的,应绘制一条直线.但是如果B点低于A且远离A水平远,则应以直角方式绘制一条直线.我希望你能得到我.如果您使用过任何UML工具,例如edraw Max或其他任何UML工具,您可能已经看过这些类型的行.知道怎么能实现这个目标吗?

提前致谢 :)

Ste*_*nov 4

这是一些代码:

void connectPoints(Point a, Point b)
{
    Point middlePoint1(a.x, (a.y + b.y)/2);
    Point middlePoint2(b.x, (a.y + b.y)/2);
    drawLine(a, middlePoint1);
    drawLine(middlePoint1, middlePoint2);
    drawLine(middlePoint2, b);
}
Run Code Online (Sandbox Code Playgroud)

为了澄清,提问者实际上想要 3 段轴对齐线,看起来像这里的大多数连接: 风格