gpt4 book ai didi

javascript - 三个 JS - 执行旋转后 BoundingBox 未更新

转载 作者:搜寻专家 更新时间:2023-11-01 05:11:54 26 4
gpt4 key购买 nike

我需要在应用旋转后找出几何体的边界框。

要旋转的代码 - 取自 Three JS

的示例编辑器
object.rotation.x = xRadians;
object.rotation.y = yRdians;
object.rotation.z = zRadians

这会很好地旋转对象。

现在我需要获取更新的边界框

获取边界框的代码

var minX = parseFloat(object.boundingBox.min.x);
var minY = parseFloat(object.boundingBox.min.y);
var minZ = parseFloat(object.boundingBox.min.z);

无论旋转是什么,我都会在 minX-Z 中得到相同的值。获取更新边界框的正确方法是什么?

我正在使用 r-66。

我也试过使用:

var radians = x * Math.PI / 180;
var axisX = new THREE.Vector3(1, 0, 0);
var matrix = new THREE.Matrix4().makeRotationAxis(axisX, radians);
geometry.applyMatrix(matrix);

此方法执行相对旋转并正确更新边界框,但我不需要相对旋转。第一种方法是我正在寻找的方法,但它不会更新对象的边界框。

有什么想法吗?谢谢!

最佳答案

Box3.setFromObject( object ) 计算对象(包括其子项)的世界轴对齐边界框,同时考虑对象和子项的世界变换。

var box = new THREE.Box3().setFromObject( object );

three.js r.66

关于javascript - 三个 JS - 执行旋转后 BoundingBox 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22712577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com