将“直线”合并为高斯曲线

时间:2012-03-05 13:02:34

标签: actionscript-3 flex math geometry calculus

您可以假设下面的第一张图片是原始的高斯曲线。第二个图像是所需的输出。我有这些方程式:

  • 每个红线段的等式(让我们称之为分段函数 f(x)
  • 高斯曲线的方程( g(x)

我正在尝试制作一个可以改变高斯曲线以匹配第二张图像中的曲线的等式。我已经尝试绘制(f(x)+ g(x))/ 2 (最后一张图片),但它没有做到这一点。我还尝试使用最右边的红线段作为独立轴来绘制曲线的右侧部分,但这会导致巨大的不连续性。有没有人有其他想法?

编辑:第三张图片显示了在尝试线性插值时会发生什么。

Actual Gaussian curve

Adjusted curve

Linear interpolation

2 个答案:

答案 0 :(得分:1)

尝试使用B样条逼近高斯曲线,例如,它已完成here。由于如何将点添加到B样条曲线(这是贝塞尔曲线的推广)更清楚,你应该能够得到你想要的结果。

答案 1 :(得分:0)

我不知道这方面的数学方面,但至于你问题的最后一部分(用红轴绘制曲线的右边部分),我想你可以平滑曲线和轴的过程非常简单:

plotPosition = curvePosition * (1 - t) + otherPosition * t;

“t”是介于0-1之间的数字(当t = 0 plotPosition等于curvePosition时,当t = 1 plotPosition等于otherPosition时),这样您就可以确定何时以及如何进行转换。您可以使用某个等式进一步平滑它以确定随时间的过渡值(缓和)。