图形学王雪梅-实验二

图形学王雪梅-实验二

ID:28074739

大小:139.50 KB

页数:5页

时间:2018-12-07

图形学王雪梅-实验二_第1页
图形学王雪梅-实验二_第2页
图形学王雪梅-实验二_第3页
图形学王雪梅-实验二_第4页
图形学王雪梅-实验二_第5页
资源描述:

《图形学王雪梅-实验二》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验二基本图形的生成班级:计科高职12-1班姓名:王??梅学号:201203014015上机时间:2014/10/18Ji机地点:A-407指导老师:尉秀梅一实验目的:理解基本图形元素光栅化的基本原理,掌握一种基本图形元素光栅化算法二实验内容1.直线生成算法的实现尝试调用实验一写好的算法,画直线A(0,0)B(100,200),C(300,400)D(20,80),E(10,400)F(500,20),G(400,100)H(20,500)2.使用Bresenham算法,生成一个完整的圆形,假设圆心在P(10

2、(),100),半径是60。3.实验内容(1)实验二直线生成算法的实现,试一下将直线的两个端点坐标交换一不,还能正确画线吗?修改一不程序,使其能画各种惜况的直线段(2)bresenham画圆算法(能够画圆心不在原点的圆形)三实验步骤1.三实验步骤1、两端点坐标交挽后,不能正确画线,2、直线生成算法的实验①首先创建一个Win32控制台项目②在源文件屮,包含头文件#include

3、glutDisplayFunc(myDisplay)绘制直线⑥编译、调试、运行程序,程序结果如图2.1所示3、使用Bresenham算法,生成一个完整的圆形①在源文件屮,编写draw_pixel()载入圆心参数②编写bresenham_arc()ifflj圆函数,实现bresenham尚圆算法,实现八个区域的圆弧③在myDisplayO函数屮,淸空颜色为黑色,设罝背景颜色,调用glPointSize()设罝原点大小,调用画圆函数bresenham_arc(),圆心100.100,半径60。glFlush()结

4、束④在主函数中,设罝显示方式、窗口在屏幕中的位置、窗口大小,然后创建窗口,gIutDisplayFunc(&myDisplay)绘制图形⑤编译、调试、运行程序,程序结果如图2.2所示2.圆心在整个圆的正屮心位置,通过圆心有卩4条对成轴,如果知道丫圆上的一点(x,y),就可知道其他的七个对称点,此为八对称性。由Bresenham画圆算法,可得到右上角的八分之一圆弧,再由对称性,可得到其他对称点。如果开始不再原点,则算法如下:Voidbresenham_arc(intxl,intyl,intrefloatr,fl

5、oatg,floatb)intx,y,d;x=0;y=rl;d=3-2*rl;while(x

6、l,intrl,floatr,floatg,floatb){intx,y,d;x=0;y=rl:d=3-2*rl:while(x〈y){draw_pixel(x+xl,y+yl,r,g,b):if(d<0)d+=4*x+6;else{d+=4*(x-y)+10:3T-=1;}X++;}if(x=y){draw_pixel(x+xl,y+yl,r,g,b):}}在voidmyDisply(void)中调用voidbresenham_arc(intxl,intyl,intrefloatr,floatg,float

7、b)即可调用函数从而得到画出的圆。圆的图如下:四心得体会通过对程序的分析与学习,使我学到了如何熟悉直线的生成算法,掌握直线的绘制。通过应用基本函数,编写程序,然后才能使用一些基本的图形函数,进行调用,编写程序,经过许多个步骤,编写之后应用TC软件进行调试、修改、最终才能得到想要的结果。Bresenham画圆算法,圆心在盤个圆的正屮心位賈,通过圆心有四条对成轴,如果知道了圆上的一点(x,y),就可如道其他的七个对称点,由Bresenham㈣圆算法,可得到右上角的八分之一圆弧,再由对称性,可得到其他对称点。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。