资源描述:
《计算机图形学基础教程课件之习题课1(第二版)(孙家广 胡事民编著).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题课1.列举计算机图形学的主要研究内容。计算机中图形的表示方法、图形的计算、图形的处理和图形的显示。图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。2.常用的图形输出设备是什么?显示器(CRT、LCD、等离子)、打印机、绘图仪等。2.常用的图形输入设备是什么?键盘、鼠标、跟踪球、空间球、数据手套、光笔、触摸屏、扫描仪等。3.列出3种图形软件工具。AutoCAD、SolidWorks、UG
2、、ProEngineer、CorelDraw、Photoshop、PaintShop、Visio、3DMAX、MAYA、Alias、Softimage等。4.写出
3、k
4、>1的直线Bresenham画线算法。dddd4.写出
5、k
6、>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。
7、一旦d≥1,就把它减去1,这样保证d在0、1之间。dddd当d≥0.5时,最接近于当前象素的右上方象素(xi+1,yi+1),x方向加1,d减去1;而当d<0.5时,更接近于上方象素(xi,yi+1)。为方便计算,令e=d-0.5,e的初值为-0.5,增量为1/k。当e≥0时,取当前象素(xi,yi)的右上方象素(xi+1,yi+1),e减小1;而当e<0时,更接近于上方象素(xi,yi+1)。voidBresenhamline(intx0,inty0,intx1,inty1,intcolor){i
8、ntx,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.写出
9、k
10、>1的直线中点画线算法。MP(xp,yp)P1P2QM1M24.写出
11、k
12、>1的直线中点画线算法。构造判别式:d=F(M)=F(xp+0.5,yp+1)=a(xp+0.5)+b(yp+1)+c当d<0,M在Q点左侧
13、,取右上方P2为下一个象素;当d>0,M在Q点右侧,取上方P1为下一个象素;当d=0,选P1或P2均可,约定取P1为下一个象素;MP(xp,yp)P1P2QM1M2增量计算:若d0,取正上方象素P1(xp,yp+1),要判下一个象素位置,应计算d1=F(M1)=F(xp+0.5,yp+2)=a(xp+0.5)+b(yp+2)+c=d+b增量为b。若d<0,取右上方象素P2(xp+1,yp+1)。要判断再下一象素,则要计算d2=F(M2)=F(xp+1.5,yp+2)=a(xp+1.5)+b(yp+
14、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(y15、e{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)102345678123456P1(4,1)P2(2,3)P3(2,6)P4(5,5)P5(7,6)P6(8,2)5.写出下图中多边形的边表(新边表)。4-134428-1/352065-1.565250123456P1P2P1P6
16、P5P6P2P3P3P4102345678123456P1(4,1)P2(2,3)P3(2,6)P4(5,4)P5(7,5)P6(8,2)5.写出下图中多边形的边表(新边表)。4-134428-1/462065-365260123456P1P2P1P6P5P6P2P3P3P4102345678123456P1(4,1)P2(2,3)P3(2,6)P4(5,5)P5(7,6)P6(8,2)6.已知三角形ABC的各顶点坐标为A(1,2)、B(5,2)、C(3,5),现有直