问题标签 [curvesmoothing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 如何“平滑”数据并计算线梯度?
我正在从测量距离的设备中读取数据。我的采样率很高,因此我可以测量距离(即速度)的大变化,但这意味着,当速度较低时,设备会提供许多相同的测量值(由于设备的粒度)。这导致“阶梯式”曲线。
我需要做的是平滑曲线以计算速度。之后我需要计算加速度。
如何最好地解决这个问题?
(采样率高达1000Hz,10Hz的计算率就可以了。在VS2005中使用C#)
android - Android 绘画/画布问题;绘制平滑曲线
在 Android 中,当我用手指在触摸屏上绘图时,如何获得平滑的曲线而不是圆点或圆?我正在使用以下代码-
wolfram-mathematica - 在 Mathematica 中使用插值函数进行卷积
我正在使用 Mathematica 7。
我有一个插值函数,这是一个例子:
我想计算它的导数,这很简单:
现在,如果你绘制这个函数
(抱歉,不知道如何从 Mathematica 中发布图像,也没有时间弄清楚。)你会发现它非常嘈杂。所以,我想把它弄平。我的第一个想法是使用 Convolve,并将其与高斯核集成,如下所示:
退货
这在我看来是合理的。不幸的是,我相信我在某个地方犯了错误,因为我得到的结果似乎无法评估。那是:
退货
这不是我想要的,我期待一个介于 -1 和 1 之间的数字。
iphone - 如何在 iPhone 上绘制流畅的草图
可能重复:
iPhone 平滑草图绘制算法
我想开发一个支持素描的 iPhone 应用程序。
我在 touchesMoved 中使用了一些这样的代码:
看:
曲线不够平滑。
我尝试过使用 sourceforge.net/projects/curve/files/ 中的一些代码的 Catmull-Rom Spline 方法
看:
这次曲线更加平滑,但有两个问题:
Catmull-Rom Spline 使用许多三次贝塞尔曲线段和二次贝塞尔曲线段来形成曲线。二次贝塞尔曲线段无法确定触摸何时结束。在用户将手指从屏幕上移开之前,我无法绘制二次线段。我只能在用户绘图时绘制立方线段,所以他会感到有些延迟。当手指快速移动时,曲线滞后于手指。
该算法对角的校正过多,因此用户无法绘制具有尖角的星星。
我非常希望为 Autodesk 的“Sketch Book”应用程序等用户提供一个非常好的绘图环境。(见下图)
看:
该应用程序提供了平滑的曲线,它还允许我绘制一个带有尖角的星星。
我怎样才能在 iPhone 上做到这一点?我可以使用哪种算法来获得像“Sketch Book”这样的高质量?有什么代码供我参考吗?
谢谢!!
html - HTML5 Canvas - 二次曲线的意外效果
我最近一直在开发一个涂鸦应用程序,只是为了好玩。在尝试了许多方法用鼠标给出的样本点绘制平滑曲线之后,我已经确定了使用二次曲线的东西。
我必须承认,我对这些曲线的理解不是最佳的,但我想我理解它们是如何工作的。我无法理解的是,当我绘制一条上升然后突然下降的曲线时,曲线的峰值不再是圆形的(它看起来很平坦)。
一个演示可以更好地理解我在说什么:链接到 JCanvas 沙箱
如果删除曲线的最后一部分(从 cx11 到 y15):链接到另一个 JCanvas 沙箱。看起来不错,但是当你添加下一个控制点和结束点时,你会得到这个奇怪的效果。
注意:我没有使用 JCanvas,但它有相同的错误并且沙箱很方便。我想它来自我得到的坐标,但我无法解释,也找不到解决方法/黑客让它看起来圆润......
对于那些不关心沙盒的人,这里是导致问题的坐标的简短版本:
x1:216,y1:98,cx1:216,cy1:97,x2:216,y2:98,cx2:216,cy2:99,x3:215,y2:103,
关于为什么的任何想法?数学的东西是受欢迎的。我已经对这个问题进行了一些搜索和阅读,但没有找到任何类似的东西。
--
更新
正如 Simon 指出的那样,我使用的是 Chrome 16,并且我已经使用 Firefox 4 和最新的 Safari 测试了该示例,并且存在错误。我尝试使用 Opera,它看起来不错。
我对此感到非常沮丧,因为该错误也出现在 iPad 上,而我正在尝试做一个移动网络应用程序,所以我有点卡住了。
任何解决方法/黑客的想法?
r - 由于多个系列没有足够的数据点,loess 方法在数据帧上失败
我有一个数据框是这样的:
输入(xx)
这个数据框很大,它有很多主机。我面临的挑战是,当像上面这样的主机没有足够的数据点时,下面的 ggplot 会失败,基本上是抱怨没有足够的数据点来绘制图表。
如何检查并查看此数据框中的特定主机是否有超过 10 个数据点,如果是,请使用 method="loess"。如果主机的数据点数小于 10,则使用 method="lm"
histogram - 如何增加直方图拟合曲线上的点数?
我在 MATLAB 中有一个直方图,并想适应它。我可以使用 histfit 来做到这一点,但我一直得到一个固定大小的拟合曲线,即 100。我的意思是曲线上总是有 100 个点。我该如何改变?我想增加点数使拟合曲线更平滑?此外,我的 MATLAB 中没有曲线拟合工具箱。我会很感激任何帮助,谢谢。
matlab - 如何在matlab中修圆曲线(去除尖角)
假设有两条曲线(由两组数据描述):曲线1和曲线2。这两条曲线有两个以上的交点。保留两条曲线的上半部分,得到一条新的曲线3。问题是曲线3的交点处有几个尖角。如何使用matlab通过对这些角进行四舍五入来平滑曲线?