欢迎来到天天文库
浏览记录
ID:38635688
大小:248.00 KB
页数:16页
时间:2019-06-16
《计算机图形学-图形的几何变换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、贵州大学实验报告学院:计算机科学与技术专业:软件工程班级:软件132姓名常伟学号1308060226实验地点一教704实验时间2016.5.9指导教师李智实验成绩实验项目名称试验四、图形的几何变换实验目的1.掌握矢量运算。2.熟练使用齐次坐标。3.掌握采用齐次坐标进行几何变换。实验要求1.理解几何图形变换的原理,编程实现图形的几何变换。2.编程界面友好,实现变换的所有方式,包括平移、缩放、旋转、对称、错切以及基本变换基础上的组合变换。3.几何变换使用矩阵进行运算。实验原理二维齐次坐标变换的矩阵的形式是这个矩阵的每一个元素都是有特殊含义的。其中,可以对图形进行缩放、旋转、对称和错切等变换;是对
2、图形进行平移变换;是对图形作投影变换;则是对图形进行缩放变换。下面给出几个基本变换的矩阵运算。1.平移变换2.缩放变换3.旋转矩阵4.对称矩阵对称变换其实只是a、b、d、e取0、1等特殊值产生的一些特殊效果。5.错切变换(1)当d=0时,图形的y坐标不变,x坐标随初值(x,y)及变换系数b作线性变化。(2)当b=0时,图形的x坐标不变,y坐标随初值(x,y)及变换系数d作线性变化。实验步骤1.设计图形界面。本实验使用visualstudio2012C#搭建窗口,设置相应的组件。如下图。如图所示,combox此时显示的字符是“平移”,在其下面显示的是关于平移的操作组件。当选择combox的不同
3、项时,其下面就显示对应的操作组件。2.运行效果如下。(1)平移从图中可见,原图形的颜色为黄绿色,平移后的图形为黑色。(2)旋转(3)对称如图,这是原图形关于x轴对称后由对称后的图形关于原点对称得到的图形。在界面中可看到一个text为“新变换”的checkbox,其作用是可以自由选择变换原图形或者变换变换后的图形。(4)缩放有图可知,此时的x、y的缩放比例都是0.5,也就是原图形的x和y都关于原点缩小为原来的一半。(5)错切此时y上的错切系数为0,即图形的y值不变,x的值随x上的错切系数变化。(6)三角形的一顶点保持不变,另外两个顶点按缩放比例缩小,然后关于直线-2x+4y+3对称。这是一个组
4、合变换的问题,要使得三角形的一顶点保持不变,就要将该顶点移动到原点,缩放后再平移回去,然后再关于直线对称就行了。组合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。(7)四边形以原点为中心,以15°为间隔旋转。在程序中设置一个旋转增量,每变换一次,就加上旋转增量,就可得到上图的结果。实验数据由于代码篇幅过长,下面是代码的主要部分。privatevoidinitMatrix(){temp=newdouble[3][];for(inti=0;i5、e[3][];for(inti=0;i6、or(inti=0;i7、.Length;j++){if(i==j&&i==2){rotate[i][j]=1;}else{rotate[i][j]=0;}}}//初始化对称矩阵symmetry=newdouble[3][];for(inti=0;i
5、e[3][];for(inti=0;i6、or(inti=0;i7、.Length;j++){if(i==j&&i==2){rotate[i][j]=1;}else{rotate[i][j]=0;}}}//初始化对称矩阵symmetry=newdouble[3][];for(inti=0;i
6、or(inti=0;i7、.Length;j++){if(i==j&&i==2){rotate[i][j]=1;}else{rotate[i][j]=0;}}}//初始化对称矩阵symmetry=newdouble[3][];for(inti=0;i
7、.Length;j++){if(i==j&&i==2){rotate[i][j]=1;}else{rotate[i][j]=0;}}}//初始化对称矩阵symmetry=newdouble[3][];for(inti=0;i
此文档下载收益归作者所有