panda3d获取一个模型1glb的长方体边框的8个坐标点按这个格式保存下来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完整代码
以下是获取模型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/g6F8 著作权归作者所有。请勿转载和采集!