以下是获取模型 '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 个顶点坐标。最后,将这些坐标点打印出来。

Panda3D: 获取模型 1.glb 长方体边框的 8 个坐标点

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

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