【问题标题】:iPhone - creating the smoothest curveiPhone - 打造最平滑的曲线
【发布时间】:2011-06-07 04:52:29
【问题描述】:

我有一个包含大约 50 到 100 个点的数组的 iPhone 应用程序。如何计算适合这些点的最平滑曲线?它可以是贝塞尔曲线、三次曲线、二次曲线,等等。它只需要看起来平滑并尽可能适合所有点(显然,就像我在绘图中所做的那样,要创建平滑曲线,必须从原始集合中创建一些点......没问题)。

看图:

【问题讨论】:

  • 嗯,MathOverflow 是一个研究数学家的网站。它的价值在于数学家专业地使用它;如果社区不感兴趣的问题不断出现,它就不可能工作。想象一下在 StackOverflow 上获得化学问题。您可以在 math.stackexchange.com 适合所有人)提出您的数学问题,但在 Stack Overflow 上也可以。
  • 是的,我知道,但每次我发布数学问题时,都会有人推荐它。
  • “我如何计算适合这些点的最平滑(贝塞尔曲线、二次曲线、三次曲线等)曲线?” ——嗯,你想要什么样的曲线?你想要最平滑的二次曲线最平滑的三次曲线……等等?
  • 任何看起来很光滑并且很好地符合原始点的类型。显然,要做到这一点,曲线可能必须创建其他中间点,就像我在绘图中所做的那样(请注意,我绘制的平滑曲线并未完全通过所有点)......

标签: iphone objective-c cocoa-touch math


【解决方案1】:

也许您正在寻找三次样条曲线 Cubic Spline

这些是具有连续二阶导数的函数,它们以最小的曲率对节点进行插值,从而减少振荡。并且有很多例子和算法可以找到这些。

【讨论】:

  • 我的数学有点生疏了...我会尝试弄清楚如何做到这一点...这可以与任意数量的点一起使用吗?同时,如果你能指出一个实际的例子......:D
  • 我很确定您可以找到一些可以为您完成工作的库或代码。我无法链接到您或写一些东西,因为我不知道 Objective C 以及 iOS 上的开发如何与库一起工作,抱歉。是的,你可以有任意数量的点。尽量不要重新发明轮子,因为我认为它也经常用于软件开发。我之所以写这篇文章,是因为由于我的数学背景,我知道这个礼仪,但我不知道它实际上是在何时何地使用的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
相关资源
最近更新 更多