网学网为需要其他类别的朋友们搜集整理了3DS三维模型可视化平台设计与实现相关资料,希望对各位网友有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
第三章 用户交互功能的原理与实现 3.1 几何变换基本原理 用户交互主要是指用户能够从任意角度浏览三维模型,也就是指用户能够对模型进行基本的旋转、平移和缩放操作。这三种操作都输入几何变换的范畴;几何变换提供了构造和修改图形的一种方法,图形在位置、方向、尺寸和形状方面的改变主要是通过几何变换来实现。 几何变换的基本方法是把变换矩阵作为一个算子,作用到图形一系列顶点的位置矢量,从而得到这些顶点在几何变换后的新的顶点序列,连接新的顶点系列就得到变换后的图形。在以下的讲述中,均假设用表示三维空间中的原始点,改点经过变换后的新点用表示[10]。 3.1.1平移变换 平移变换是指将P点沿直线路径从一个坐标位置移动到另一个坐标位置的过程。如果点是由点在x轴、y轴和z轴分别移动、、距离得到的,则这两点坐标间的关系为: 该式的矢量表示形式为:; 其中,、、分别定义为如下的向量: = = = 。 3.1.2缩放变换 缩放变换改变物体的大小。设点P经缩放变换后得到点P’,这两点坐标之间的关系为: 其中,sx、sy 和sz分别为沿x,y和z轴方向缩放的比例。上述方程的矩阵形式为: = 或 其中。 3.1.3旋转变换 在对模型进行旋转变换时,如果给定点的坐标用柱形坐标系表示的话,则为 那么它绕z轴旋转角后,可得到,、之间的关系为: 这个变换的矩阵形式为: = 或 , 其中 = 。 关于其他两个坐标轴的旋转变换方程可以循环置换式方程中的x、y和z,得到绕x轴的旋转的方程: 这个变换的矩阵形式为: = 或 , 其中 = 。 绕y轴旋转的方程: 绕y轴旋转的矩阵形式为: = 或。 3.2 程序实现 在实际绘图中,常常要对图形连续做多次变换。这样需要对该图形上的点集按变换顺序依次进行计算,计算量较大。如果只对图形进行旋转和缩放两类变换,则可以将这些变换复合为一个变换,即将两次晕眩转换成一次性的矩阵和向量乘法。但是如果变换中加入平移变换,这些变换就不容易合并了。这主要是因为平移变换和旋转、缩放变换的表示形式不一样;平移变换为矢量加法,而旋转、缩放变换为矩阵乘法。为了使各种变换的表示形式一致,从而使变换合成更容易,有必要引入齐次坐标的概念[11]。 所谓齐次坐标表示用n+1维向量表示n维向量。例如,在二维平面中,点的齐次坐标表示为。这里,w是任一个不为0的比例系数。类似地,三维空间中坐标点的齐次坐标表示为。推而广之,n维空间中的一个点的齐次坐标为。 这里需要注意的是,用笛卡尔直角坐标表示n维空间中一个点向量是惟一的。而用齐次坐标表示则不是惟一的,例如(10, 25, 15, 5), (6, 15, 9, 3)均为点(2, 5, 3)这一点的齐次坐标。这种多对一的映射关系往往使运算较为复杂,所以通常的齐次坐标表示为。 其次坐标表示法一方面可以表示无穷远点,例如,n+1维向量中,w=0的齐次坐标实际上表示一个n维的无穷远点;另一方面用齐次坐标表示,使得所有几何变换都可以用矩阵相乘来表示,获得了平移、旋转和缩放变换的一致性表示,
|
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |