Panda3D: 获取模型 1.glb 长方体边框的 8 个坐标点
以下是获取模型 '1.glb' 长方体边框 8 个坐标点的完整代码:
from panda3d.core import Point3
from panda3d.core import NodePath
from direct.showbase.ShowBase import ShowBase
from direct.actor.Actor import Actor
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# 加载模型 '1.glb'
model = self.loader.loadModel('models/1.glb')
model.reparentTo(self.render)
# 获取模型边界框
bounds = model.getBounds()
min_point, max_point = bounds.getTightBounds()
# 计算边框 8 个顶点坐标
vertices = [
Point3(min_point[0], min_point[1], min_point[2]),
Point3(max_point[0], min_point[1], min_point[2]),
Point3(max_point[0], max_point[1], min_point[2]),
Point3(min_point[0], max_point[1], min_point[2]),
Point3(min_point[0], min_point[1], max_point[2]),
Point3(max_point[0], min_point[1], max_point[2]),
Point3(max_point[0], max_point[1], max_point[2]),
Point3(min_point[0], max_point[1], max_point[2]),
]
print(vertices)
app = MyApp()
app.run()
在代码中,我们首先加载了模型 '1.glb',并获取了它的边界框。然后,通过边界框的最小和最大点,计算了长方体边框的 8 个顶点坐标。最后,将这些坐标点打印出来。
原文地址: https://www.cveoy.top/t/topic/oAWG 著作权归作者所有。请勿转载和采集!