我想在 3D 绘图中绘制 3D 图元,例如球体、圆柱体和平面(面片),并且我希望能够交互式地旋转、平移和缩放场景。我想用 Python 来做到这一点。我习惯使用 Matplotlib 绘制 2D 图形,但我从未使用 Python 处理过 3D 图形。
有什么建议吗? 有教程链接吗? 有什么想法吗?
这个库 Glass Engine 可以提供帮助。它支持超过 40 个原语。 要安装它,只需
pip install glass-engine
。使用玻璃引擎:
from glass_engine import *
from glass_engine.Geometries import *
scene, camera, light = ModelView()
cone = Cone(radius=0.5, height=1)
cone.position.z = -0.5
scene.add(cylinder)
camera.screen.show()
您可以使用鼠标左键拖动来旋转,右键拖动来平移,滚轮滚动来缩放场景。
from glass_engine import *
from glass_engine.Geometries import *
scene, camera, light, floor = SceneRoam()
geoms = \
[
Sphere(radius=0.5) , Cone(radius=0.5) , Cylinder(radius=0.5),
Box(Lx=0.7) , Prism(radius=0.5) , Pyramid(radius=0.5),
Octahedron(radius=0.5), Dodecahedron(radius=0.5), Icosahedron(radius=0.5)
]
for i in range(len(geoms)):
geoms[i].position.x = 2*(i % 3 - 1)
geoms[i].position.y = 2*(1 - i // 3)
geoms[i].position.z -= geoms[i].z_min
scene.add(geoms[i])
camera.screen.show()
您可以使用 W A S D E C 在场景中漫游,鼠标右键拖动进行旋转,滚轮滚动进行缩放。
查看 Glass Engine 的完整文档:https://glass-engine-doc.readthedocs.io/zh/latest/index.html.
虽然是中文写的,但是你可以使用翻译器将其翻译成你的语言。