如何使用matplotlib以一系列圆的形式绘制3D线条?

2024-04-20 15:38:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用matplotlib来预览CNC路由器的雕刻路径。在

路径是一系列的X,Y,Z坐标来描述路由器位的移动位置。在

我将路径渲染为一系列的线段,但这是不准确的,因为路由器的循环位。例如,如果路径是正方形,则路径外部是圆角矩形。在

有没有一种简单的方法可以把我的路径渲染成一系列连续的圆?在


Tags: 方法路径matplotlib路由器矩形圆角雕刻cnc
2条回答

我要做的,我不是说这是最好的方法,但我会做一个函数,用你的位大小的半径作为圆环的直径来映射大量的圆。这些圆是作为一个x和y坐标,沿着你的位的路径。你可以把圆圈填成一条线。根据你画一个圆或一条线的大小,你可以在python上为你的CNC机器近似它。在

http://matplotlib.org/api/path_api.html?highlight=circle#matplotlib.path.Path.circle

classmethod circle(center=(0.0, 0.0), radius=1.0, readonly=False)

可能使用solid_capstyle='round'

import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as axes3d
import numpy as np
x = np.linspace(0, 6, 10)
y = np.sin(x)
z = x

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')

ax.plot(x, y, z
         , linestyle='-'
         , linewidth=20
         , marker='o'
         , markersize=20
         , solid_capstyle='round'
)
ax.set_xlim3d(-1, 7)
ax.set_ylim3d(-2, 2)
ax.set_zlim3d(-1, 7)
plt.show()

enter image description here

相关问题 更多 >