gpt4 book ai didi

c# - 从点数组平滑二维线

转载 作者:行者123 更新时间:2023-11-30 18:51:09 25 4
gpt4 key购买 nike

当用户绘图时,每次输入事件触发时我都会捕获他们输入的位置,然后在每个点之间绘制直线。

不幸的是,这会产生非常参差不齐的外观,并且根据用户移动输入的速度相对于输入事件触发的速度,情况会变得更糟。

我想要的是一个函数,它接受一个点数组并返回一个已经被平滑的点数组,既可以填充点之间的任何大间隙,也可以去除锯齿状边缘并将它们替换为平滑曲线。

我知道这是一个众所周知的问题,只是没有运气形成搜索查询来找到我要找的东西。

谢谢!

如果函数已经用 c# 编写,则加分 :)

谢谢!

最佳答案

float数组c#的扩展方法(sample)

  public static NoiseReduction(this float[] src, int severity = 1)
{
for (int i = 1; i < src.Length; i++)
{
//---------------------------------------------------------------avg
var start = (i - severity > 0 ? i - severity : 0);
var end = (i + severity < src.Length ? i + severity : src.Length);

float sum = 0;

for (int j = start; j < end; j++)
{
sum += src[j];
}

var avg = sum / (end - start);
//---------------------------------------------------------------
src[i] = avg;

}
}

关于c# - 从点数组平滑二维线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811761/

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