- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一组点 pts
形成一个循环,它看起来像这样:
这有点类似于 31243002 ,但不是将点放在点对之间,而是我想通过点拟合一条平滑曲线(坐标在问题的末尾给出),所以我尝试了类似于Interpolation 上的 scipy
文档:
values = pts
tck = interpolate.splrep(values[:,0], values[:,1], s=1)
xnew = np.arange(2,7,0.01)
ynew = interpolate.splev(xnew, tck, der=0)
但我收到此错误:
ValueError: Error on input data
有没有办法找到这样的合适人选?
点的坐标:
pts = array([[ 6.55525 , 3.05472 ],
[ 6.17284 , 2.802609],
[ 5.53946 , 2.649209],
[ 4.93053 , 2.444444],
[ 4.32544 , 2.318749],
[ 3.90982 , 2.2875 ],
[ 3.51294 , 2.221875],
[ 3.09107 , 2.29375 ],
[ 2.64013 , 2.4375 ],
[ 2.275444, 2.653124],
[ 2.137945, 3.26562 ],
[ 2.15982 , 3.84375 ],
[ 2.20982 , 4.31562 ],
[ 2.334704, 4.87873 ],
[ 2.314264, 5.5047 ],
[ 2.311709, 5.9135 ],
[ 2.29638 , 6.42961 ],
[ 2.619374, 6.75021 ],
[ 3.32448 , 6.66353 ],
[ 3.31582 , 5.68866 ],
[ 3.35159 , 5.17255 ],
[ 3.48482 , 4.73125 ],
[ 3.70669 , 4.51875 ],
[ 4.23639 , 4.58968 ],
[ 4.39592 , 4.94615 ],
[ 4.33527 , 5.33862 ],
[ 3.95968 , 5.61967 ],
[ 3.56366 , 5.73976 ],
[ 3.78818 , 6.55292 ],
[ 4.27712 , 6.8283 ],
[ 4.89532 , 6.78615 ],
[ 5.35334 , 6.72433 ],
[ 5.71583 , 6.54449 ],
[ 6.13452 , 6.46019 ],
[ 6.54478 , 6.26068 ],
[ 6.7873 , 5.74615 ],
[ 6.64086 , 5.25269 ],
[ 6.45649 , 4.86206 ],
[ 6.41586 , 4.46519 ],
[ 5.44711 , 4.26519 ],
[ 5.04087 , 4.10581 ],
[ 4.70013 , 3.67405 ],
[ 4.83482 , 3.4375 ],
[ 5.34086 , 3.43394 ],
[ 5.76392 , 3.55156 ],
[ 6.37056 , 3.8778 ],
[ 6.53116 , 3.47228 ]])
最佳答案
实际上,您离问题的解决方案不远了。
使用 scipy.interpolate.splprep
对于参数 B 样条插值将是最简单的方法。如果您提供 per=1
参数,它还原生支持闭合曲线,
import numpy as np
from scipy.interpolate import splprep, splev
import matplotlib.pyplot as plt
# define pts from the question
tck, u = splprep(pts.T, u=None, s=0.0, per=1)
u_new = np.linspace(u.min(), u.max(), 1000)
x_new, y_new = splev(u_new, tck, der=0)
plt.plot(pts[:,0], pts[:,1], 'ro')
plt.plot(x_new, y_new, 'b--')
plt.show()
从根本上说,这种方法与@Joe Kington 回答中的方法没有太大区别。虽然,它可能会更健壮一些,因为默认情况下,根据点之间的距离而不是简单的索引来选择与 i
向量等效的向量(参见 splprep
documentation 的 u
参数)。
关于python - 将闭合曲线拟合到一组点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31464345/
单击位于阴影根内部的元素时出现空指针异常(已关闭) 尝试用 Java 脚本处理它: public WebElement getShadowRootElement(WebElement element)
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 3 年前。 Improve th
我开始了解 Javascript 中的原型(prototype)设计和闭包,但还不完全是这样。下面的示例中,我的两个对象,第二个对象似乎失去了范围/上下文并接管了第一个对象的身份。 function
我有一个 Ionic 应用程序,我正在尝试从闭包内部返回数据。控制台正确显示所有内容,但我似乎无法正确返回数据。我尝试了几种不同的变体,但没有成功。 $scope.callbackMethod = f
我正在编写一个程序,能够识别面部的以下特征: 眼睛是睁着还是闭着 嘴巴是张开还是闭合(最好是张开程度) 脸部转向的方向(左、右或正面) 与其从头开始开发此功能(这所以不是我的领域),我希望能够使用第三
我有一个错误,我不明白,我有一个json,我做了一个接口,当我试图循环它时,我在我的html中得到了一个错误。。JSON格式对我来说相当复杂。。谢谢。。图片中的错误。杰森。接口。服务。Ts.file。
我是一名优秀的程序员,十分优秀!