资源描述:
《计算机图形学课程设计报告简单图形的绘制-》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机图形学》课程设计报告学生姓名:学号:学院:班级:题目:简单图形的绘制指导教师:职称:2015年7月1日II目录目录I一、选题背景1二、算法设计22.1绘制直线、圆、椭圆、抛物线22.1.1绘制直线22.1.2绘制圆22.1.3绘制椭圆22.1.4绘制抛物线22.2三维几何变换2三、程序及功能说明53.1绘制直线、圆、椭圆、抛物线……53.1.1绘制直线53.1.2绘制圆53.1.3绘制椭圆53.1.4绘制抛物线63.2图形的平移63.3图形的旋转63.4图形的缩放7四、结果分析74.1绘制直线、圆、椭圆、抛物线74.1.1直线74.1.2圆8II4.1.3椭圆84.1.4抛物线
2、84.2图形的平移94.3图形的旋转104.4图形的缩放11五、总结13六、课程设计心得体会14参考文献15源程序16II一、选题背景-18-二、算法设计2.1绘制直线、圆、椭圆、抛物线2.1.1绘制直线通过两个点的坐标来绘制直线。计算机图形学中二维图形在显示输出之前需要扫描转换,生成直线的算法一般有DDA算法和中点算法。2.1.2绘制圆通过运用圆的参数方程来绘制圆的图形,其中,(a,b)为圆心,r为半径,运用参数方程,只需要确定半径的长度和圆心的位置,即可绘制出圆。2.1.3绘制椭圆通过运用椭圆的参数方程来绘制椭圆的图形,其中,是已知的变量,a,b分别为长半轴,短半轴,当确定a和b后
3、,通过参数方程即可得到这个椭圆的方程。2.1.4绘制抛物线根据点绘制抛物线图像是通过拟合完成,根据三个点的坐标,通过数据拟合,得到经过这三个点的函数关系式,从而再根据这个函数关系式绘制出抛物线上其他的点,形成一条连续的抛物线;或直接根据已知函数绘制图像是通过已知函数画出图像。2.2三维几何变换三维几何变换是二维几何变换的推广。二维几何变换在齐次坐标空间中可用33的变换矩阵表示,类似的,三维几何变换在齐次坐标空间中可用44的变换矩阵表示。三维空间中的点的齐次坐标定义为,其中,为不等与零的任意常数,,,。亦即点对应4维齐次坐标空间的一条直线:-18-(2.2.1)通常为了简单起见,取为的齐
4、次坐标。(1)平移变换平移变换将点在三个坐标轴方向上分别移动距离,得到新的一点,它们之间的关系表示为:,其中。三维平移变换在其次坐标下的矩阵表示为:(2.2.2)(2)放缩变换三维放缩变换在齐次坐标下的矩阵表示:(2.2.3)此变换的参照点为坐标原点,我们可以按下面步骤建立关于空间任一参照点的缩放变换:(1)平移使落于原点,变换为;(2)进行放缩变换;(3)平移回到原先的位置,变换为。从而关于参照点的缩放变换为(2.2.4)(3)旋转变换-18-给定一点,首先将点和坐标表示成极坐标,即,其中。将点绕轴旋转角后,得到。易知:(2.2.5)上式矩阵形式为:(2.2.6)从而绕轴旋转角的变换
5、在齐次坐标下的矩阵表示为:(2.2.7)类似的,绕轴和轴的旋转的变换矩阵分别为:(2.2.8)(2.2.9)如果要绕空间任意轴旋转角,可按如下步骤实现:(1)以为原点,为轴建立新的坐标系;(2)求出从坐标系到坐标系的变换;(3)将图形对象变换到坐标系中;-18-(4)在新坐标系中绕轴旋转角,变换为;(5)将图形对象变换为原坐标系中,变换为。这样绕旋转角的变换为:(2.2.10)三、程序及功能说明3.1绘制直线、圆、椭圆、抛物线……3.1.1绘制直线plot(A,B)通过运用matlab中的plot函数画出两点之间的直线图像。其中A,B为直线上的两个点的坐标,通过两点绘制直线。3.1.2
6、绘制圆functioncircle(A,R)alpha=0:pi/50:2*pi;%角度[0,2*pi]%R=2;%半径x=R*cos(alpha)+A(1);y=R*sin(alpha)+A(2);plot(x,y,'-')axisequal首先先对角度alpha分割成小区间,且求出相应的cos和sin值,再根据输入的半径和圆心坐标A,带入公式求得圆上的点的坐标,再绘制出图像。3.1.3绘制椭圆functiontuocircle(a,b)t=0:pi/20:2*pi;x=a*cos(t);y=b*sin(t);plot(x,y)首先先对角度t分割成小区间得出相应的cos和sin值,根
7、据再根据输入的长半轴a与短半轴b完善参数方程求得椭圆上的点的坐标,再绘制出图像。-18-3.1.4绘制抛物线functionparabola(A,B,C)x=[A(1)B(1)C(1)];y=[A(2)B(2)C(2)];%y=ax^2+bp=polyfit(x,y,2);t=-10:.1:10;%指定绘图区间s=polyval(p,t);plot(t,s,x,y,'or')通过三个点绘制抛物线是通过三点的拟合绘制出图像;通过函数是在一个区间上