ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:219.05KB ,
资源ID:15882852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15882852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图形学习题1Word文件下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图形学习题1Word文件下载.docx

1、1请用代码描述使用DDA算法绘制一条斜率介于-45度和45度(即|m|=1)之间直线的步骤。解: 假设线段的两个端点(x1,y1)和(x2,y2),且x1x2int x=x 1,y;float yf=y, m=(y2-y1)/(x2-x1);while(x=x2) y=Floor(yf+0.5); setpixel(x,y); x+; yf=yf+m;2请用代码描述使用DDA算法绘制一条斜率介于45度和-45度之(即|m|=1)之间直线的步骤。 假设线段的两个端点(x1,y1)和(x2,y2),且y1y2int x,y=y1;float xf=x, minv=(x2-x1)/(y2-y1);w

2、hile(y=y2) x=Floor(xf+0.5); x=xf+minv; y+;3写出使用Bresenham算法绘制一条斜率介于0度和45度(即|m|=1)之间直线的步骤(1)计算初始值:dx=x2-x1, dy=y2-y1, InC1=2dyInC2=2(dy-dx), d=InC1-dx(2) 设置左下方的端点坐标为(x,y),同时将xend设为x的最大值。如果dx0,那么x=x,y=y和xend=x2。(3) 在当前的(x,y)坐标画一个点。(4) 判断整条线段是否已经画完,如果x=xend就停止。(5) 计算下一像素的位置。如果d=0,那么d=d+InC2,并且y=y+1(6) 增

3、加x: x=x+1(7) 在当前的(x,y)坐标画一个点。(8) 转到步骤(4)。4请指出用Bresenham算法绘制从像素点(1,1)到(8,5)的线段时的像素位置。首先必须先找到初始值。在这个例子中,dx=x2-x1=8-1=7 dy=y2-y1=5-1=4因此,InC1=2dy=2*4=8InC2=2(dy-dx)=2*(4-7)= 6D=InC1-dx=8-7=1由算法算出的值示于下图dxy1 11+InC2= -52-5+InC1=333+InC2=-34-3+InC1=555+InC2=-16-1+InC1=777+InC2=185,请推导出Bresenham算法的迭代公式 P(3

4、2-33)d1=y-yi=(k(xi+1)+b)-yid2=(yi+1)-y=yi+1-(k(xi+1)+b)所以 d1-d2=2k(xi+1)-2yi+2b-1设 dy=y1-y0,dx=x1-x0,k=y/x=dy/dx所以 dx(d1-d2)=2dyxi-2dxyi+c(c=2dy+dx(2b-1)令 di=dx(d1-d2)因为 dx所以 当 di0时 右上方(xi+1,yi+1)所以 第b+1 步:di+1 =2dyxi+1-2dxyi+1+c di+1-di=2dy(xi+1-xi)-2dx(yi+1-y0)因为 xi+1=xi+1所以di+1=di+2dy-2dx(yi+1-yi

5、)若右方:则yi+1=yi 所以 di+1=di+2dy若右上方: 则yi+1=yi 所以 di+1=di+2dy-2dx第一次参数 d0=2dy-dx6. 区域填充算法对水平边的处理方法是怎样的,请分析。7.各边形定点坐标v1-v8 如下:v1=(2,4),v2=(9,4),v3=(9,7),v4=(8,7),v5=(8,9),v6=(4,9),v7=(4,7),v8=(2,7)说明扫描线y=6,7,8,9,10时,哪些边会被激活?x列包含对应最低点的x坐标,水平不包括:含其中Edgeyminymax1/mE29E8E4E6 当扫描线的值y=边界线被激活。此后边界线保持活跃,直到扫描线的值y

6、大于边界线的ymax值。因此扫描线y=6,7,8,9和10时被激活的边界线如下所示: 当 y=6时,E2和E8被激活当 y=7时,边E2和E8的ymax=y,所以继续保持活跃。与此同时E4和E6也被激活当 y=8时,近E2和E8被移出边界列表。E4和E6继续保持活跃。当 y=9时,活跃的边没有变化当 y=10时,边E4和E6被移出边界列表,边界列表变为空。8在区域填充法中,什么是扫描线? 它来源于光栅显示器的显示原理。对于屏幕上所有待显示像素的信息,将这些信息按从上到下从左至右的方式显示。在这里,每一趟自左至右的显示所涉及的像素集合具有相同的y坐标值,形成一条直线,它就是一条y方向扫描线。同样

7、道理,每一趟从上到下同样也能形成x方向扫描线。不过,人们更加习惯自左至右的扫描线。第四章 图形变换1导出平面坐标系X-O-Y中点(x,y)绕原点O转动的变换矩阵。如上图x=rcos(+) ,y=rsin(+) x=rcos y=rsin x=rcos(+)=r(coscos-sinsin)=xcos-ysin y=rsin(+)=r(sincos+cossin)=xsin+ycos设 P= x P=x 且R=cos -siny , y sin cos P=RP2.点P(2,-4)绕原点转动30度的新坐标是什么?解;R30=cos30 -sin30 =3/2 -1/2Sin30 cos30 1/

8、2 3/2 新的坐标可以通过矩阵乘法得到3/2 -1/2 2 =3+21/2 3/2 -4 1-233写出点Q( x,y)绕定点P(h,k)旋转的变换矩阵通过三步确定:(1)平移对象,使它的旋转中心P与原点重合。 (2)绕原点旋转 (3)将P平移回(h,k)使用V=hI+kJ作为平移向量,R.P可通过组合变换得到: R.0=TvRT-V附:旋转变换的通用矩阵R.P=1 0 h cos sin 0 1 0 -hO 1 k sin cos 0 0 1 -kO 0 1 0 0 1 0 0 1 =cos sin (-hcos+ksin+h)sin cos (-hsin-kcos+k)0 0 1 4,将

9、三角形A(0,0),B(1,1),C(5,2)放大2倍,保持C不动,写出变换矩阵和ABC的新位置。变换矩阵(V = 5 I + 2 J 向量)得V = 5 I + 2 J 1 0 5 2 0 0 1 0 -5S2,2,C=TVS2,2TV = 0 1 2 0 2 0 0 1 -20 0 1 0 0 1 0 0 1 2 0 -5 = 0 2 -2 0 0 1 x用 y 表示坐标为(x,y)的P点,得出 2 0 -5 0 -5S2,2,CA= 0 2 -2 0 = -2 0 0 1 1 1 2 0 -5 1 -3B= 0 2 -2 1 = 0 0 0 1 1 1 2 0 -5 5 5C= 0 2

10、-2 2 = 2 ABC的新位置是 A、1(5,-2),B(-3,0),C(5,2)(附) 相对于固定点P(h,k)缩放变换的通用矩阵是 Sa,b,p=TvSa,bT-v 1 0 h a 0 0 1 0 -h = 0 1 k 0 b 0 0 1 -k 0 0 1 0 0 1 0 0 1 A 0 -ah+h = 0 b -bk+k 0 0 15,为什么要使用齐次坐标的表达式?答:为了使各种变换的表示形式一致,从而使变换合成更容易,引入齐次坐标,平移变换为矢量加法,旋转缩放为矩阵的乘法,齐次坐标就是用n+1维向量表示n维向量。一方面可以表示无穷点,一方面是所有几何变换都可以用矩阵乘法来表示,获得平移,旋转,所放的一致性,表示平移 X 1 0 0 X X Y 0 1 0 Y Y Z = 0 0 1 Z * Z 或 P=T*P 1 0 0 0 1 1缩放 X Sx 0 0 0 X 0 Sy 0 0 Y = 0 0 Sz 0 * Z 或 P=S*P 1 0 0 0 1 1 旋转:绕X轴旋转X 1 0 0 0 X 0 cos -sin 0 Y = 0 sin cos 0 * Z 或 P=Rx()*P 绕Y轴旋转 cos 0 sin 0 X 0 1 0 0 Y = -sin 0 cos 0 * Z 或 P=Ry()*P 绕Z轴旋转 cos -sin 0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1