2014.08.27

2014-08-28  本文已影响0人  sunny_aday

一. 关于处理环的顺序:

1. 先大致扫一遍所有的Loop,考虑特征增长方向,并将那些可以唯一确定特征的Loop先提取出来放到队列里面;

当队列不为空的时候,分别对队列里面的元素,做相邻Loop的检测,如果可以唯一确定某个Loop并且这个Loop之前没有出现过,那么就加到队列里面;

2. 从附属Loop入手,因为需要借助其他特征Loop,信息量会更多;

3. 从既有包含其他Loop,又与其他Loop相邻的特征Loop入手,因为可以根据相邻和包含关系的大量信息,排除负特征等一些不合理特征;

       ----包含其他Loop(未被包含)又与其他Loop相邻的一般不是负特征。

4. 从有包含其他Loop的特征Loop入手,或者与其他Loop相邻的特征Loop入手;

5.剩余的Loop逐一确定。

二. 一些启发式规则:

   1. 有一些只有旋转才能生成的特征Loop(如相邻关系中的梯形,最有可能是旋转‘垂直梯形’才能生成的),那么在生成过程中是可以优先考虑的。

因为有一些特征在某个方向上面是“无法拉伸生成”或者“无法旋转生成”的,利用这个特性,可以先选出一些唯一的特征Loop。

旋转生成的凸台则可以影响相邻Loop(相邻边完全贴合的情况)是圆形凸台的可能性比较大(相邻边不贴合可能性就没那么大了)。

2. 考虑特征增长方向(类似于特征正面和侧面之说): 对于某个Loop A,与其他特征Loop相邻,若相邻的两个Loop是A的对边,则可以考虑A的特征增长方向应该与两个对边Loop形成的直线方向一致。

3. 如果都可以拉伸和旋转生成,那么优先考虑拉伸特征。(涉及到特征生成的优先级顺序)【是不是模型库提取过程中,也可以定义“拉伸>旋转>负特征”?,统一生成的规则,保持一致性】

4. 两种方向不要混淆了,一种是特征的可能生成方向,另一种是Sketch中特征的生成方向,怎样结合起来呢?

 -----需要提前识别Sketch中方向对应到每个Loop的特征哪个方向,然后再做判断!

 #1. Sketch中特征生成的方向,需要找一个中心Loop来确定:这个Loop可能是生成方向的拐角Loop,然后分方向确定;

#2. 如果生成方向成一条直线,则不需要中心Loop可以直接确定;

#3.被其他Loop包含的Loop,则默认特征生成方向是向“正背方向”的。

三. 下一步需要归纳的东西:

1. 对特征Loop 和 附属Loop 归纳,并指定其增长方向,以及在该方向上面的特征列表,并标记负特征。

考虑方向有:(1)正背方向 (2)左右方向 (3)上下方向

有一些Loop的 (2)(3)其实是一样的,因为两个方向它都是对称的形状

四. 猜测观点(未论证):

1. 凸台一般是规则的形状

2.  对于某个Loop a,其相邻的两边各有相邻的Loop,那么,它是圆形凸台的可能性比较小

3. 有内含多个Loop的,特征方向是正背面 可能性比较大

上一篇下一篇

猜你喜欢

热点阅读