panda3d画出vertices = Point3-1 -1 0 Point31 -1 0 Point31 1 0 Point3-1 1 0 Point3-1 -1 1 Point31 -1 1 Point31 1 1 Point3-1 1 1以这8个点所组成的图形
下面是一个简单的panda3d程序,可以画出由这8个点组成的立方体:
from direct.showbase.ShowBase import ShowBase
from panda3d.core import Point3
from panda3d.core import LineSegs
class MyGame(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# 定义顶点
vertices = [
Point3(-1, -1, 0),
Point3(1, -1, 0),
Point3(1, 1, 0),
Point3(-1, 1, 0),
Point3(-1, -1, 1),
Point3(1, -1, 1),
Point3(1, 1, 1),
Point3(-1, 1, 1),
]
# 创建线段对象
lines = LineSegs()
lines.setThickness(2)
# 画出立方体
lines.moveTo(vertices[0])
lines.drawTo(vertices[1])
lines.drawTo(vertices[2])
lines.drawTo(vertices[3])
lines.drawTo(vertices[0])
lines.moveTo(vertices[4])
lines.drawTo(vertices[5])
lines.drawTo(vertices[6])
lines.drawTo(vertices[7])
lines.drawTo(vertices[4])
lines.moveTo(vertices[0])
lines.drawTo(vertices[4])
lines.moveTo(vertices[1])
lines.drawTo(vertices[5])
lines.moveTo(vertices[2])
lines.drawTo(vertices[6])
lines.moveTo(vertices[3])
lines.drawTo(vertices[7])
# 创建节点并将线段对象附加到节点上
node = lines.create()
np = self.render.attachNewNode(node)
myGame = MyGame()
myGame.run()
这个程序创建了一个MyGame类,继承了ShowBase类,并重写了__init__方法。在__init__方法中,我们定义了顶点的坐标,并使用LineSegs对象画出了由这些顶点组成的立方体。
我们将每个线段画成独立的线条,然后将所有线条附加到一个节点上。最后,我们将这个节点添加到场景图中。这样,这个立方体就可以在屏幕上显示出来了
原文地址: http://www.cveoy.top/t/topic/g9dQ 著作权归作者所有。请勿转载和采集!