计算机图形学基础教程习题课1(第二版)(孙家广胡事民编著).docVIP

计算机图形学基础教程习题课1(第二版)(孙家广胡事民编著).doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学基础教程习题课1(第二版)(孙家广胡事民编著)

列举计算机图形学的主要研究内容。 计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。 图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。 常用的图形输出设备是什么? 显示器(CRT、LCD、等离子)、打印机、绘图仪等。 常用的图形输入设备是什么? 键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。 列出3种图形软件工具。 AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。 错误:CAD 写出|k|1的直线Bresenham画线算法。 设直线方程为:y=kx+b,即x=(y-b)/k,有xi+1=xi+(yi+1-yi)/k = xi+1/k,其中k=dy/dx。 因为直线的起始点在象素中心,所以误差项d的初值d0=0。y下标每增加1,d的值相应递增1/k,即d=d+1/k。一旦d≥1,就把它减去1,这样保证d在0、1之间。 当d≥0.5时,最接近于当前象素的右上方象素(xi+1,yi+1),x方向加1,d减去1; 而当d0.5时,更接近于上方象素(xi,yi+1)。 为方便计算,令e=d-0.5e的初值为-0.5k。 当e≥0时,取当前象素(xi,yi)的右上方象素(xi+1,yi+1),e减小1; 而当e0时,更接近于上方象素(xi,yi+1)。 void Bresenhamline (int x0,int y0,int x1, int y1,int color) { int x, y, dx, dy; float k, e; dx = x1-x0, dy = y1-y0, k=dy/dx; e=-0.5, x=x0, y=y0; for (i=0; i(d; i++) { drawpixel (x, y, color); y=y+1,e=e+1/k; if (e(0) { x++, e=e-1;} } } 构造判别式:d=F(M)=F(xp+0.5,yp+1)=a(xp+0.5)+b(yp+1)+c 当d0,M在Q点左侧,取右上方P2为下一个象素; 当d0,M在Q点右侧,取上方P1为下一个象素; 当d=0,选P1或P2均可,约定取P1为下一个象素; 增量计算: 若d(0,取正上方象素P1 (xp, yp+1),要判下一个象素位置,应计算 d1= F(M1)=F(xp+0.5, yp+2)=a(xp+0.5)+b(yp+2)+c=d+b 增量为b。 若d0,取右上方象素P2 (xp+1, yp+1)。要判断再下一象素,则要计算 d2= F(M2)=F(xp+1.5, yp+2)=a(xp+1.5)+b(yp+2)+c=d+a+b 增量为a+b。 d的初值 d0=F(x0+0.5, y0+1)=F(x0, y0)+0.5a+b =0.5a+b 用2d代替d的算法: void Midpoint Line (int x0,int y0,int x1, int y1,int color) { int a, b, d1, d2, d, x, y; a=y0-y1, b=x1-x0, d=a+2*b; d1=2*b, d2=2*(a+b); x=x0, y=y0; drawpixel(x, y, color); while (yy1) { if (d0) {x++, y++, d+=d2; } else {y++, d+=d1;} drawpixel (x, y, color); } /* while */ } /* mid PointLine */ 写出下图中多边形的边表(新边表)。 写出下图中多边形的边表(新边表)。 写出以原点为球心,半径为2的球体的旋转生成算法。 算法一:以点为基本图元 for(j=0;j72;j++) { 绕Y轴逆时针旋转5度,; //画出半圆 画点(0,2,0); for(i=0;i36;i++) { 将当前点绕Z轴逆时针旋转5度,; 画变换后的点;}} for(j=0;j72;j++) { 绕Y轴逆时针旋转5度,; 画半圆;} 教案用纸 教 学 内 容 第 5 页 P(xp,yp) M d d d d P1 P2 Q

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档