language-agnostic - 剔除内部三角形

标签 language-agnostic geometry triangulation

我有数千个四边形数组; 4 边 3D 多边形。我所知道的是四角的坐标。

这些四边形的子集定义了 3D 形状的封闭 shell 。其余的四边形位于这个封闭实体的内部。

我如何确定哪些四边形是 shell 的一部分,哪些四边形是内部的一部分?这不是性能关键代码。

编辑:对 shell 形状的进一步限制

  • 形状内部没有孔,它是一个单一的表面。
  • 它包含凸部和凹部。
  • 我有几个已知点位于 shell 内部。
  • 最佳答案

    如果您的形状自相交,这可能很难实现,但如果您能找到一个已知的四边形在表面上(可能是距质心最远的一个),然后在其周围绘制四边形的同心圆。然后在外面找到一个连续的四边形环,依此类推,直到你最终到达“相反”的一侧。如果您的四边形相交,或在内部连接,那就更难了。我会尝试将相交的那些分开,然后找到所有可能的光滑表面,然后选择内部体积最大的那个。

    关于language-agnostic - 剔除内部三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462079/

    相关文章:

    java - 这是什么设计模式?

    algorithm - 用于计算 'N' 圆的交集/并集的 Sharir 或 Aurenhammer 确定性算法的实现

    javascript - 多边形中的孔导致 Three.js 中的三 Angular 剖分失败

    c++ - 将多边形从 3d 空间展开到 2d 空间(使用三角形)以获得纹理坐标

    最小化凸多边形三角剖分对角线总和的算法?

    c++ - 如何在约束delaunay三角剖分中获取三角形的顶点?

    objective-c - 闲聊和 ObjectiveC 中的消息传递是否与参数中具有值类型(结构)的调用方法相同?

    web-services - 测试公共(public) Web 服务的客户端

    language-agnostic - 弱类型相对于强类型的优势

    geometry - 在哪里学习计算几何?