2

给定一个 Obb3(中心、HalfVector 和轴 [3]),
如何创建一个与此 Obb3 具有相同边界的立方体?然后我将使用这个立方体来显示我的 obb3 边界。

我使用vector_math 和three.dart 库
到目前为止,我的代码是:

Matrix3 rot_mat = new Matrix3(node.box.axis0[0], node.box.axis1[0], node.box.axis2[0],  
                              node.box.axis0[1], node.box.axis1[1], node.box.axis2[1],  
                              node.box.axis0[2], node.box.axis1[2], node.box.axis2[2]);
Vector3 diag = rot_mat.absoluteRotate(node.box.halfExtents.clone());
var geometry = new CubeGeometry(diag[0] * 2.0, diag[1] * 2.0, diag[2] * 2.0);
var material = new MeshBasicMaterial(color: 0x00ff00,
 wireframe: true,
 blending: NormalBlending,
 side: DoubleSide,
 shading: FlatShading);

var obj = new Mesh(geometry, material);
obj.position = node.box.center;
obj.matrix.setRotation(rot_mat);
obj.updateMatrix();
scene.add(obj);

非常感谢你的帮助 :]

4

0 回答 0