我在wpf中有两个ModelVisual3D对象。有没有什么代码可以找到这两个ModeVisual3D对象的交集?
我发现了一些与几何体相关的东西,但我无法将此ModelVisual3D对象转换为几何体...请帮帮我。谢谢
发布于 2015-10-28 20:57:53
WPF只支持Rect3D对象之间的边界框相交方法,即实体矩形。ModelVisual3D对象通常用于呈现呈现边界属性的Model3D对象。您可以使用此命令检查交叉点:
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物理的C#包装器。看看这个previous post。
https://stackoverflow.com/questions/16712798
复制相似问题