计算机图形学课程设计报告简单图形的绘制.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机图形学课程设计报告简单图形的绘制.doc》由会员分享,可在线阅读,更多相关《计算机图形学课程设计报告简单图形的绘制.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机图形学课程设计报告学生姓名: 学 号: 学 院: 班 级: 题 目:简单图形的绘制 指导教师: 职称: 2015年7月1日目 录目 录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 图形的平移6 3.3 图形的旋转6 3.4 图形的缩放7四、结果分析74.1 绘制直线、圆、椭圆、抛物线74.1.1 直线74.1.
2、2 圆84.1.3 椭圆84.1.4 抛物线8 4.2 图形的平移9 4.3 图形的旋转10 4.4 图形的缩放11五、总 结13六、课程设计心得体会14参考文献15源程序16一、选题背景二、算法设计 绘制直线、圆、椭圆、抛物线 绘制直线通过两个点的坐标来绘制直线。计算机图形学中二维图形在显示输出之前需要扫描转换,生成直线的算法一般有DDA算法和中点算法。 绘制圆通过运用圆的参数方程来绘制圆的图形,其中,(a,b)为圆心,r为半径,运用参数方程,只需要确定半径的长度和圆心的位置,即可绘制出圆。 绘制椭圆通过运用椭圆的参数方程来绘制椭圆的图形,其中,是已知的变量,a,b分别为长半轴,短半轴,当确
3、定a和b后,通过参数方程即可得到这个椭圆的方程。 绘制抛物线根据点绘制抛物线图像是通过拟合完成,根据三个点的坐标,通过数据拟合,得到经过这三个点的函数关系式,从而再根据这个函数关系式绘制出抛物线上其他的点,形成一条连续的抛物线;或直接根据已知函数绘制图像是通过已知函数画出图像。 三维几何变换 三维几何变换是二维几何变换的推广。二维几何变换在齐次坐标空间中可用33的变换矩阵表示,类似的,三维几何变换在齐次坐标空间中可用44的变换矩阵表示。三维空间中的点的齐次坐标定义为,其中,为不等与零的任意常数,。亦即点对应4维齐次坐标空间的一条直线: (2.)通常为了简单起见,取为的齐次坐标。(1)平移变换平
4、移变换将点在三个坐标轴方向上分别移动距离,得到新的一点,它们之间的关系表示为:,其中 。三维平移变换在其次坐标下的矩阵表示为: (2.)(2)放缩变换三维放缩变换在齐次坐标下的矩阵表示: (2.)此变换的参照点为坐标原点,我们可以按下面步骤建立关于空间任一参照点的缩放变换:(1)平移使落于原点,变换为;(2)进行放缩变换;(3)平移回到原先的位置,变换为。从而关于参照点的缩放变换为 (2.)(3)旋转变换 给定一点,首先将点和坐标表示成极坐标,即,其中。将点绕轴旋转角后,得到。易知: (2.2.5)上式矩阵形式为: (2.2.6)从而绕轴旋转角的变换在齐次坐标下的矩阵表示为: (2.2.7)类
5、似的,绕轴和轴的旋转的变换矩阵分别为: (2.2.8) (2.2.9)如果要绕空间任意轴旋转角,可按如下步骤实现:(1)以为原点,为轴建立新的坐标系; (2)求出从坐标系到坐标系的变换; (3)将图形对象变换到坐标系中; (4)在新坐标系中绕轴旋转角,变换为; (5)将图形对象变换为原坐标系中,变换为。这样绕旋转角的变换为: (2.)三、程序及功能说明 绘制直线、圆、椭圆、抛物线 绘制直线plot(A,B)通过运用matlab中的plot函数画出两点之间的直线图像。其中A,B为直线上的两个点的坐标,通过两点绘制直线。 绘制圆function circle(A,R)alpha=0:pi/50:2
6、*pi;%角度0,2*pi %R=2;%半径 x=R*cos(alpha)+A(1); y=R*sin(alpha)+A(2); plot(x,y,-) axis equal首先先对角度alpha分割成小区间,且求出相应的cos和sin值,再根据输入的半径和圆心坐标A,带入公式求得圆上的点的坐标,再绘制出图像。 绘制椭圆function tuocircle(a,b)t=0:pi/20:2*pi; x=a*cos(t); y=b*sin(t); plot(x,y)首先先对角度t分割成小区间得出相应的cos和sin值,根据再根据输入的长半轴a与短半轴b完善参数方程求得椭圆上的点的坐标,再绘制出图像
7、。 绘制抛物线function parabola(A,B,C)x=A(1) B(1) C(1); y=A(2) B(2) C(2); %y=ax2+b p=polyfit(x,y,2); t=-10:.1:10;%指定绘图区间 s=polyval(p,t); plot(t,s,x,y,or)通过三个点绘制抛物线是通过三点的拟合绘制出图像;通过函数是在一个区间上画出函数图像。 图形的平移function change(T1,V1)中: T=1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1; T(1,4)=T1(1); T(2,4)=T1(2); T(3,4)=T1(3); ALL=
8、T %最后的变换矩阵V2=ALL*V1;V=V2;先设T为平移变换矩阵,然后通过带入平移的长度,形成最终的平移矩阵,成为最重的变换举证ALL,将ALL左乘须变换矩阵V1,最终得到变换后的图形矩阵V。图形的旋转function change2(R1,V1)R=0 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1;sina=sin(R1); cosa=cos(R1); R(1,1)=cosa; R(1,2)=-sina; R(2,1)=sina; R(2,2)=cosa; ALL=R %最后的变换矩阵V2=ALL*V1;V=V2;先设R为旋转变换矩阵,首先就将带入的角度求出sina和co
9、sa值,然后对应公式将值带入矩阵的对应位置形成最终的旋转矩阵,成为最终的变换矩阵ALL,将ALL左乘须变换矩阵V1,最终得到变换后的图形矩阵V。function change3(S1,V1) S=0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 1; S(1,1)=S1(1); S(2,2)=S1(2); S(3,3)=S1(3); ALL=S V2=ALL*V1;V=V2;将S设为缩放变换矩阵,然后对应公式将缩放的值带入矩阵的对应位置形成最终的平移矩阵,成为最终的变换矩阵ALL,将ALL左乘须变换矩阵V1,最终得到变换后的图形矩阵V。四、结果分析绘制直线、圆、椭圆、抛物线 直线 l
10、ine(1 2,2 1) 圆 circle(2 3,2) 椭圆 tuocircle(30,0.7) 抛物线根据三个点画出抛物线: parabola(1 2,5 6,3 9)根据函数画抛物线:4.2 图形的平移 showCubic(0,0,1,1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;1,0,0,1;1,1,0,1;0,1,0,1) change(4,5,6,0,0,1,1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;1,0,0,1;1,1,0,1;0,1,0,1)平移矩阵:最终总变换矩阵:变换后的矩阵: 图形的旋转 showCubic(0,0,1,
11、1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;1,0,0,1;1,1,0,1;0,1,0,1) change2(pi/3,0,0,1,1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;1,0,0,1;1,1,0,1;0,1,0,1)旋转矩阵:最终变换矩阵:变换后的矩阵:4.4 图形的缩放 showCubic(0,0,1,1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;1,0,0,1;1,1,0,1;0,1,0,1) change3(0.8,0.5,0.3,0,0,1,1;1,0,1,1;1,1,1,1;0,1,1,1;0,0,0,1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 课程设计 报告 简单 图形 绘制
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内