![](../chapter1/images/nav_arrow.gif) |
![](../chapter1/images/left01.gif) |
|
|
|
|
|
|
|
|
|
|
第四节
三维几何模型 |
|
|
|
|
|
|
|
|
八叉树表示的三维形体的几何变换
比例变换
旋转变换——相对通过原点的一条任意方向的直线做旋转任意角度的旋转变换。
构成原形体的直立的正立方体经绕原点任意轴线旋转任意角度后,
一般都成为斜置的。为了使变换后形体的八叉树仍对应一系列直立的正立方体,必须对被斜置立方体部分占据体素做出选择,即或认为是占据,为黑结点,或认为不占据,为白结点,这就必然带来一定的误差。而且执行多次变换后,误差积累会大到产生严重的错误。
第一项措施是保持一个原始的八叉树做为参考的源树。设指定了一次变换R1,接着又要做变换R2,可以计算出复合变换R=R1·R2,然后对原始的八叉树做一次变换。这样来避免误差的积累。
第二项措施是为了尽量减少"舍入"误差,可以规定一个当前正要重建的八叉树,如果它的最底层叶结点对应的体素是部分地为显示对象所占据,那么当且仅当这个体素的中心位于某个黑变换后立方体内时,这个体素才被规定为黑,否则就规定为白。这样规定使得一般不会产生原来不存在的孔洞,而不这样规定,例如简单地规定部分被占据的体素都为白,则可能在做45度左右旋转时原来黑立方体变换为部分占据若干体素而被指定为白,在变换后形体中间出现断裂。
|
|
|
|
|