gpt4 book ai didi

C# - 两点之间的曲线

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:27 24 4
gpt4 key购买 nike

我有两组平行线,当它们的角度不同时,我最终在一端有一个交叉点,在另一端有一个空隙。我通过将 line1 的终点设置为与 line2 的起点相同来处理交点。像这样...

enter image description here

这是我到目前为止添加行的代码....

for (int i: 0; i < myLines.size() ; i++) {
Line myLine = checkforInterection( myLines, i);
myCanvas.Children.Add(myLine);
myCanvas.Children.Add(createParallel(myLine));
}

我想通过一条可以跨越距离的曲线线来缩小右侧的缝隙。解决这个问题的最佳方法是什么?

最佳答案

使用 BezierSegment以获得平滑的曲线。起点和终点应该是直线的起点和终点。控制点可能需要一些实验才能看起来像您想要的那样,因为这更像是一种偏好,但是将控制点设置为曲线所附两条线的投影交点将是一个很好的起点。如果您之后确实想调整它,您应该沿着从投影交叉点到左侧两条线的实际交叉点的线移动它。

为清楚起见:

Reference picture

从绿点处的起点和终点开始。从红线交点处的控制点开始,如果要调整它,请沿蓝线移动它以保持对称曲线。

注意:使用红线的交点会给你一个完美的平滑过渡;其他点不会。

关于C# - 两点之间的曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17257304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com