购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4.4 图形变换的处理及实现

图形变换具有3个方面的特征:图形变换是图形对象的图形操作,可以按照操作方法来处理;图形变换是图形对象的约束条件,可以看作是图形对象的一个属性,图形变换可以按照图形属性方法来处理;图形变换具有类别、参数和方法,完全可以按对象的方法来处理。

图形变换操作可以采用两种基本策略来处理:第一种策略是执行图形变换运算,用变换后的新数据来代替原图形数据;第二种策略是不马上执行变换操作,将要执行的图形变换操作记录下来为以后的变换做补充。

1.对于基本图形变换的处理策略 对于面向图形对象的图形变换操作,如果图形对象是基本图形,那么应该采用第一种处理策略进行图形变换。由于基本图形对象是采用数据描述图形的,图形的几何变换操作就要改变图形的几何数据。但对于一级图形对象和二级图形对象,它们的变换处理方法有一定的区别,其区别如下。

(1)一级图形对象的图形变换是临时性变换 图形变换的处理方法是用变换后的新数据绘制图形,变换结果的数据不保存。一级图形对象变换后,图形对象的本体并不发生变化。

(2)二级图形对象的图形变换是永久性变换 图形变换的处理方法是用变换后的新数据来代替图形库中原图形数据。二级图形对象变换后,图形对象本体发生了变化。

2.面向环境条件的图形变换的处理策略 面向环境的图形变换是环境条件约束,要求对每个输出的图形对象进行相应的变换处理,其处理策略可采用第二种方法。在实现面向环境的图形变换操作时,先将变换要求记录下来,再和其他变换一起对将要输出的图形执行改变图形数据的操作。

3.图形变换的操作步骤 虽然图形对象的变换种类很多,但它们的处理过程却十分相似。实现图形变换操作的步骤如下。

(1)确定图形变换的类型和参数 图形变换的类型和参数依赖于图形变换的直观效果,其参数含义和个数与具体的图形变换类型有关。

(2)构造齐次图形变换矩阵 根据图形变换的参数值和数学定义,得出齐次图形变换矩阵,如果是多级变换,还需通过矩阵乘法求出最终变换矩阵。

(3)求出图形变换后的新坐标 图形变换的新坐标是原来的坐标乘以总图形变换矩阵的结果。

4.图形变换操作的处理算法

(1)构造初始变换矩阵 当系统开始运行时构造初始齐次变换矩阵,该初始齐次变换矩阵为单位矩阵 F

(2)构造当前变换矩阵 需要图形变换时,根据变换对象的编码从变换对象库中读出变换数据,形成本级图形变换矩阵 TR ,将原来图形变换矩阵 T 乘以 TR 就得到了新图形变换矩阵。

(3)计算图形数据 将原图形数据乘以图形变换矩阵,得出变换后的新图形数据。如图2-24为图形变换的操作流程。

图2-24 图形变换操作流程图 dpHzNzWiyZ+EZGWrs7vfNX+ILa6IxxiPdThG8Bo/bjrYg1Wf9Bq/uo/g8CkVg3m/

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开