以下是用 Panda3D 画出长方体和点的代码:

from direct.showbase.ShowBase import ShowBase
from panda3d.core import Point3, Geom, GeomVertexData, GeomVertexFormat, GeomVertexWriter, GeomTriangles, GeomNode

class MyApp(ShowBase):
    def __init__(self):
        ShowBase.__init__(self)
        
        # 创建长方体的顶点列表
        box_points = [
            Point3(-1, -1, -1),
            Point3(-1, -1, 1),
            Point3(-1, 1, -1),
            Point3(-1, 1, 1),
            Point3(1, -1, -1),
            Point3(1, -1, 1),
            Point3(1, 1, -1),
            Point3(1, 1, 1)
        ]
        
        # 创建长方体的索引列表
        box_indices = [
            0, 1, 2, 3, 6, 7, 4, 5, # 上下面
            0, 2, 4, 6, 1, 3, 5, 7, # 左右面
            0, 4, 1, 5, 2, 6, 3, 7  # 前后面
        ]
        
        # 创建长方体的顶点数据和几何体
        format = GeomVertexFormat.getV3()
        vdata = GeomVertexData('box', format, Geom.UHStatic)
        vwriter = GeomVertexWriter(vdata, 'vertex')
        for p in box_points:
            vwriter.addData3f(p)
        tris = GeomTriangles(Geom.UHStatic)
        for i in box_indices:
            tris.addVertex(i)
        tris.closePrimitive()
        geom = Geom(vdata)
        geom.addPrimitive(tris)
        node = GeomNode('box')
        node.addGeom(geom)
        
        # 创建长方体的节点path,并将其放置在场景中
        box_np = self.render.attachNewNode(node)
        box_np.setScale(2)
        
        # 创建一个表示点的节点path,并将其放置在场景中
        point_np = self.render.attachNewNode('point')
        point_np.setPos(0, 0, 0)
        point_np.setScale(0.1)
        point_geom = self.loader.loadModel('models/misc/smiley')
        point_geom.reparentTo(point_np)
        
app = MyApp()
app.run()

运行代码后,你会看到一个黑色的长方体和一个黄色的点。你可以使用鼠标左键拖动场景来旋转视角。

Panda3D: 使用 Python 绘制长方体和点

原文地址: https://www.cveoy.top/t/topic/ooEJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录