我想在球体表面画一些点。出于我的目的,我需要能够在三维球体周围绘制线条。球体应该是不透明的,这样在视图中只能看到球体可见一半上的点。目前我只是用以下代码段绘制点:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 1 * np.outer(np.cos(u), np.sin(v))
y = 1 * np.outer(np.sin(u), np.sin(v))
z = 1 * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x, y, z, rstride =5,
cstride = 5, color ='yellow')
plt.plot(CatVec[:,0],CatVec[:,1],CatVec[:,2],'ro')
这给了我以下情节:
不幸的是,所有点都是可见的。还有那些实际上在球体背面的。
如何使球体不透明,以便只有球体正面的点可见?