图纸模型

您所在的位置:网站首页 折叠刀图纸模型 图纸模型

图纸模型

2024-02-28 13:30| 来源: 网络整理| 查看: 265

技术细节 展开

首先,该算法为每条边分配一个 "优先级" ,取决于其角度和长度。优先级较高的边在最终的网中更有可能被切割开来。较短的边有较高的优先级(它们更容易粘在一起),而且角度也更尖锐(这使得网在视觉上更容易理解)。

如果脸部的法线互相对着,就会形成一个凹陷的角度。这样的角度甚至有更高的优先级,这应该是对典型模型的帮助。如果一些面部法线被翻转,算法总是假设它们之间的角度是凸的。

如果有两个以上的面被一条边连接起来,其中两个被指定为主要面,其他的都必须被胶合。主要面的选择要使它们形成尽可能小的角度。

角度与长度的实际优先效果可能会使产生的网发生非常大的变化。对于一些基本模型来说,默认值是通过试验和错误选择的,但对于其他模型来说可能是一个不好的选择。如果你想调整它们, 展开 工具允许你这样做:它们是该工具的三个唯一设置。

切割算法从所有分离的面开始,试图将它们连接起来,形成更大的岛屿,按连接边的优先级排序。如果所形成的岛屿的某些面会重叠,则取消该操作,并继续进行另一条边的运算。如果一些顶点或边最终足够接近对方,它们就会被合并。在这个过程中,每条边正好被访问一次。

重叠检查基本上是线段相交的 Bentley-Ottmann 算法,适用于产生的岛的边界。为了处理一些特殊情况,该算法会自动在一个稍快的版本和一个更强大的版本之间切换。另一个检查是用来检测边界是否与所产生的岛的一个顶点相交 -- 这种情况必须被明确地测试,因为它们不需要引起任何相交的线段。

在页面上定位网状物

因为网状物不仅仅是由真实的面组成,还包括周围的胶合标签,所以它们不能被Blender内部工具( 打包孤岛 )定位。因此,必须要写一个独立的算法。

为了极大地简化过程,所有的网都被打包成(尽可能小的)边界矩形。然后,这些矩形按大小排序(先是最大的),按照这个顺序,算法试图将它们放在一个页面上。为左下角测试的位置是由一个 n × n 的网格给出的,该网格由已经定位的所有岛屿的角组成。通过检查与每个岛的边界矩形的重叠,一个位置被接受或拒绝。

当有任何剩余的岛屿不能被放置到页面上时,就会创建一个新的自由页面。

这种算法应该能可靠地工作,而且相当快。然而,如果边界矩形包含很多自由空间,它显然是低效的。此外,包装在很大程度上取决于处理岛屿的顺序,这绝不是最佳的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3