首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除线框对角线?

如何删除线框对角线?
EN

Stack Overflow用户
提问于 2014-12-06 10:43:43
回答 1查看 1.1K关注 0票数 2

我为CAD软件编写了一个自定义导出程序,用于将几何数据导出到ThreeJS编辑器。当然,在ThreeJS中,我编写了一个正确的加载器,它正确地加载了所有的几何图形。

只有一个问题;在ThreeJS中的线框视图中,我有来自每个顶点的三角形。用什么技术可以去除三角剖分和对角线?在没有对角线的情况下如何显示线框?

源3D:

ThreeJS 3D:(见三角形和对角线)

EN

回答 1

Stack Overflow用户

发布于 2014-12-07 09:04:42

看起来你把所有的点/多边形都画成了单折线。

  • 这是不正确的,您应该将每个多边形作为线循环处理。
  • 如果你的网格是三角剖分的,那么你需要提取周长线。

提取周长线

  1. 如果网格不是由多边形定义的,则需要将所有连接原语分组为单个多边形。
  2. 取列表中单个多边形中的所有行
  3. 查找重复行并删除所有
    • 因此,所有使用相同点的行(按任何顺序排列)都是重复的。
    • 连接基元共享相同的边缘。
    • 所以这就足够了正确的三角多边形

  1. 一些三角剖分只能由线连接,不能由点连接。
    • 对于这些,您需要比较所有剩下的行
    • 采取所有平行线(相同或相反的角度)
    • 测试他们是否躺在同一条线上
    • 如果是和连接(重叠)
    • 然后切线,这样重叠的部分就会被删除。

坏三角剖分

  • 如果原语是重叠的,而不是连接的
  • 然后绘制单个多边形以清除缓冲区。
  • 然后处理所有的行
  • 计算每个中点
  • 并测试该坐标是否已填充缓冲区。
  • 如果是移除行
  • 这不是百分之百的防弹
  • 你应该在每条线上测试更多的点。
  • 如果有些人进去了,有些人出去了,那就找到交叉口,只切断里面的部分。
  • 您也可以使用向量方法进行内部测试,但您必须处理多个重叠。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27330789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档