我在 wpf 中有两个 ModelVisual3D 对象。是否有任何代码可以找到这两个 ModeVisual3D 对象的交集?
我发现了一些与几何相关的东西,但我无法将此 ModelVisual3D 对象转换为几何...请帮助...谢谢
我在 wpf 中有两个 ModelVisual3D 对象。是否有任何代码可以找到这两个 ModeVisual3D 对象的交集?
我发现了一些与几何相关的东西,但我无法将此 ModelVisual3D 对象转换为几何...请帮助...谢谢
WPF 仅支持 Rect3D 对象之间的边界框相交方法,即实心矩形。ModelVisual3D 对象通常用于渲染 Model3D 对象,这些对象具有 Bounds 属性。您可以使用它来检查交叉点:
ModelVisual3D modelVisual = new ModelVisual3D();
// set your modelVisual
Model3D geomModel = (Model3D)modelVisual.Content;
Rect3D bb = geomModel.Bounds;
Rect3D rect = new Rect3D();
// set your rect
bool isIntersecting = rect.IntersectsWith(bb);
如果您需要更精细的碰撞检测,最好使用一些更复杂的工具,例如BulletSharp,它是 Bullet Physics 的 C# 包装器。看看这个以前的帖子。