2024-05-11 13:15:28 发布
网友
我创建了一个弹簧形式的对数螺线图。我使用以下参数方程:
x=a*exp(b*th)*cos(th) y=a*exp(b*th)*sin(th)
这是我的代码:
这样可以得到以下输出:
我能得到整个螺旋的长度吗?有没有可能在图上标记一个点的位置,它在距离(例如,5)内,从图的开始点(x,y)=(0,0)开始,并拉出这些坐标吗?如有任何提示,我将不胜感激。在
(x,y)=(0,0)
毕达哥拉斯在三维空间中也同样有效。任何线段si的长度为
si
si = sqrt(xi**2+yi**2+zi**2)
因此
这条线的长度是451。 注意,直线在z方向的延伸比在x和y方向上要小得多,所以我们不妨完全省略z,这样做的错误是0.025或{}。在
z
0.025
另一个目标是在直线上找到一个长度为l=5的点。当然,由于我们使用数字数据,我们找不到长度正好为5个单位的点,而是长度小于5个单位但最接近它的点。我们可以计算出发生的指数
l=5
l = 5 # length to find coordinate of cumlenth = np.cumsum(diffs) s = np.abs(np.diff(np.sign(cumlenth-l))).astype(bool) c = np.argwhere(s)[0][0]
然后在原始数组中找到该索引。在
print c # index of coordinate, here 192 print x[c], y[c], z[c] # 0.144750230412 -1.56183108038 0.384384384384
我们可以用散点来标记这个点
ax.scatter([x[c]], [y[c]], [z[c]], color="crimson")
毕达哥拉斯在三维空间中也同样有效。任何线段
si
的长度为因此
^{pr2}$这条线的长度是451。}。在
注意,直线在z方向的延伸比在x和y方向上要小得多,所以我们不妨完全省略
z
,这样做的错误是0.025
或{另一个目标是在直线上找到一个长度为
l=5
的点。当然,由于我们使用数字数据,我们找不到长度正好为5个单位的点,而是长度小于5个单位但最接近它的点。我们可以计算出发生的指数然后在原始数组中找到该索引。在
我们可以用散点来标记这个点
相关问题 更多 >
编程相关推荐