gpt4 book ai didi

c# - 变形最小的平滑多段线

转载 作者:行者123 更新时间:2023-11-30 16:35:52 28 4
gpt4 key购买 nike

我有一条二维闭合多段线,它相当平滑。然而,定义多段线的顶点并不是等距分布的。有时两个人会非常接近,有时多达四个人会非常接近。

我想平滑多段线,但常规的平均算法往往会缩小该区域:

for (int i = 0; i < (V.Length-1); i++)
{
PointF prev = V[i-1]; //I have code that wraps the index around.
PointF next = V[i+1];
PointF pt = V[i];

float ave_x = one_third * (prev.X + next.X + pt.X);
float ave_y = one_third * (prev.Y + next.Y + pt.Y);

smooth_polyline[i] = new PointF(ave_x, ave_y);
}

我的折线包含​​数千个点,两个相邻线段之间的角度通常小于 1 度。

是否有更好的方法来平滑这些曲线,使顶点的间距更均匀,而不会对面积造成太大影响?

最佳答案

我想你在找Chaikin's Algorithm .这个想法有一个变体,它使平滑的曲线直接通过(而不是“内部”)控制点,但我现在无法用谷歌搜索它。

关于c# - 变形最小的平滑多段线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1463364/

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