鉴于对原问题的评论,我想强调以下两点,这两点应适用于对这个问题的答复:
1)最终绘图应为真实的矢量图,类似于latex中的pgfplots/tikz包所产生的图形。在
2)最终绘图应该是包含多个元素的正确3D绘图,因此绘图包可能需要使用z缓冲来正确投影和渲染。在
我想用python在一个图像中可视化/绘制3D表面和几何图形。一般来说,我对三维可视化感兴趣,但现在我想做的是:我想在3D中绘制一个马鞍形状(例如,作为一个适当函数的曲面图),此外还显示一个在马鞍的某个点相切的3D球体。这可以单独使用matplotlib完成吗?还是需要使用更复杂的3D软件包,比如VTK?即使可以在matplotlib中完成,您是建议将matplotlib用于此类应用程序,还是应该使用专门为此目的而构建的程序?在
为了让您了解我只想使用python实现什么,请参见here。这是使用乳胶中的pgfplots完成的,但是正如我在那个问题中提到的,这个包有局限性。它也不是python。在
我不感兴趣的照片真实感外观或花哨的渲染。这是一个物理/数学应用程序,我希望图像有你用mplot3D或pgfplots在乳胶中得到的图形的“外观”(这样表面在外观上呈现为this)。我看过python的3D渲染包,虽然我不能真正量化原因(我认为可能是照明和光栅图形),但其中许多输出看起来更像是视频游戏而不是科学出版物(尽管这可能是为那些渲染器设计的)。在
我知道这是一个相当宽泛的问题,如果对此有异议,我很乐意重新措辞或使其更具体。然而,我相信,有一个问题的答案是有趣的,即一般的三维图形可视化是否可以而且应该使用matplotlib来完成。在
Matplotlib和mplot3d可能无法满足您的需要,因为Matplotlib不执行三维渲染(请参见Is there something like a depth buffer in matplotlib?)。然而,VTK对于你想要做的事情来说可能太重了。在
下面是一个例子,说明如何使用visvis包:(https://github.com/almarklein/visvis)
请注意,您可以用Mayavi做一些非常类似的事情,但visvisvis的轴看起来更好:
^{pr2}$相关问题 更多 >
编程相关推荐