【发布时间】:2015-03-29 18:01:31
【问题描述】:
我正在尝试在 Python 中使用镜面反射阴影创建美观的 3D 图,到目前为止,我已经尝试使用带有 3D 轴的 Matplotlib 和来自 Mayavi 的曲面图,例如来自 Mayavi 冲浪示例网页:
结果看起来不错,在 Mayavi 中似乎确实可以合理控制照明,尽管我似乎无法实现“闪亮”的外观。
在 Matlab 中,这可以通过使用“Phong”光照来实现:
因此,我的问题是:如何在基于 Python 的 3D 绘图中实现这种 Phong 风格的闪亮阴影?
【问题讨论】:
-
我想到了两件事。在 matlab 中,我注意到如果您切换渲染器(从 matlab 软件渲染器到 OpenGL 渲染器),它会从闪亮的外观变为更平坦的外观。所以可能是 matplotlib 正在使用 OpenGL 渲染器。其次,有没有办法改变matplotlib中源光的颜色和亮度。这可能允许您更改情节的“光泽度”。
-
谢谢。好建议 - 我想知道如何更改 Mayavi / Matplotlib 渲染器来帮助实现这一点?
-
也许这会有所帮助 - 在 matplotlib 中更改后端:stackoverflow.com/questions/3285193/… Phong 风格的照明在 python 中会非常好,但我在上面找不到任何东西。唯一提到的是在使用 Blender python API 的上下文中:blenderartists.org/forum/…
-
对于 blinn-phong 的 numpy 实现,请参阅答案:stackoverflow.com/questions/54965330/…
标签: python matlab matplotlib mayavi phong