您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)
教案用纸教学内容第1页备注1.列举计算机图形学的主要研究内容。计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。2.常用的图形输出设备是什么?显示器(CRT、LCD、等离子)、打印机、绘图仪等。2.常用的图形输入设备是什么?键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。3.列出3种图形软件工具。AutoCAD、SolidWorks、UG、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。错误:CAD4.写出|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.5,e的初值为-0.5,增量为1/k。dddd教案用纸教学内容第2页备注当e≥0时,取当前象素(xi,yi)的右上方象素(xi+1,yi+1),e减小1;而当e0时,更接近于上方象素(xi,yi+1)。voidBresenhamline(intx0,inty0,intx1,inty1,intcolor){intx,y,dx,dy;floatk,e;dx=x1-x0,dy=y1-y0,k=dy/dx;e=-0.5,x=x0,y=y0;for(i=0;idy;i++){drawpixel(x,y,color);y=y+1,e=e+1/k;if(e0){x++,e=e-1;}}}4.写出|k|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为下一个象素;增量计算:若d0,取正上方象素P1(xp,yp+1),要判下一个象素位置,应计算MP(xp,yp)P1P2QM1M2教案用纸教学内容第3页备注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的算法:voidMidpointLine(intx0,inty0,intx1,inty1,intcolor){inta,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*/}/*midPointLine*/5.写出下图中多边形的边表(新边表)。102345678123456P1(4,1)P2(2,3)P3(2,6)P4(5,4)P5(7,5)P6(8,2)教案用纸教学内容第4页备注5.写出下图中多边形的边表(新边表)。102345678123456P1(4,1)P2(2,3)P3(2,6)P4(5,5)P5(7,6)P6(8,2)4-134428-1/462065-365260123456P1P2P1P6P5P6P2P3P3P4P4P54-134428-1/352065-1.565250123456P1P2P1P6P5P6P2P3P3P4P4P5教案用纸教学内容第5页备注6.写出以原点为球心,半径为2的球体的旋转生成算法。算法一:以点为基本图元for(j=0;j72;j++){绕Y轴逆时针旋转5度,1000036cos036sin0010036sin036cosyR;//画出半圆画点(0,2,0);for(i=0;i36;i++){将当前点绕Z轴逆时针旋转5度,100001000036cos36sin0036sin36coszR;画变换后的点10201zyRRzyx;}}算法二:以圆弧为基本图元for(j=0;j72;j++){绕Y轴逆时针旋转5度,1000036cos036sin0010036sin036cosyR;画半圆;}
本文标题:计算机图形学基础教程习题课1(第二版)(孙家广-胡事民编著)
链接地址:https://www.777doc.com/doc-7322245 .html