- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
— PAGE \* Arabic 1 —
计算机图形学实验教程
计算机图形学实验教程 信息科学与工程系 实验名称实验一直线生成算法 实验二圆的生成算法 实验三椭圆的生成算法 实验四多边形填充算法 实验五二维图形的几何变换 实验六常用曲面和曲线的生成算法实验七常用消隐算法 实验八曲线和曲面算法的应用 实验九真实感图形生成 0101x x y y x y k --= ??=B kx y i i +=()()11 111 1+==??+-=-=+++k k x x y let k y k B k y k B k y x i i i i i 实验一、直线生成算法 数值微分法 (DDA 画线算法) DDA-Digital Differential Analyzer 设直线两端点为:P1(x1,y1)及 P0(x0,y0), 则直线斜率为 则直线方程为 当 k 1 ,y 每增加1,x 最多增加1 (或增加小于1) 。 DDA 算法: 复杂度:加法+取整 优点:避免了y=kx+b 方程中的浮点乘法,比直接用点斜式画线快 缺点:需浮点数加法及取整运算,不利于硬件实现. 上机实验一 题目:编写用DDA 画线算法画线算法的程序。 要求: 1。写出DDA 画线算法的基本思想和公式。并叙述其优缺点。 2。编写用DDA 画线算法的程序。并比较其结果。 3。写出上机报告 y i x i y i +1 x i +1 中点画线法 设00, 则(x,y)在直线上方 条件: a= -(y1-y0) b=(x1-x0) c= -B(x1-x0) 设(x0,y0)和(x1,y1)分别为直线的两端点 D y=y1-y0, D x=x1-x0 由 y=kx+B 及k=D y/D x , k ∈[0,1]得: y=(D y/ D x).x+B D y.x-D xy+D x.B=0 则直线一般方程为: F(x,y)=D y.x- D x.y+B. D x=0 a= D y , b= -D x ,c= B.D x 设 (x,y) 为直线上一点,将点代入直线 方程: F(x,y+m)= D y.x-D x.(y+m)+B.D x= (D y.x-D x.y+B. D x)-D x.m =F(x,y)-D x.m= -D x.m 因为D x0 if m 0(即P 点在直线上方) then F(x,y+yb)0; 定义决策变量: d= F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c 如果 d0,则M在理想直线上方,选正右方E点 如果 d=0 d new=d old-2(dy-dx) 当d old=0.5) 当d1时, 让d=d-1,以保证0=0.5) 当d1时, 让d=d-1,以保证0=0) 当e 0时, 让e=e-1, (重新初始化误差项) 由于算法只用到误差项的符号,为了改用整数以避免除法,可以作如下替换: e = 2*e*dx 定义决策变量e = 2*e*dx, e0 = - dx; e=e +2*dy 则下一点为: (x+1,y) (e =0); 当e 0时, 让e= e - dx, (重新初始化误差项) 上机实验 题目:编写用DDA画线算法,中点画线算法和Bresenham画线算法的程序。 要求: 1。写出DDA画线算法,中点画线算法和Bresenham画线算法的的基本思想和公式。并比较其特点。 2。编写用DDA画线算法,中点画线算法和Bresenham画线算法的程序。并比较其结果。3。写出上机报告 实验二、圆的生成算法 生成圆弧的中点算法 步骤: 画出第二个八分圆 利用八对称性画出其它八分圆 1。用中点算法画第二个八分圆 从当前已获得的象素递推出下一个象素。 圆弧的隐函数的形式为 F(x,y)=x 2+y 2-R 2 =0 设(x i ,y i )为
文档评论(0)