- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学实习45
实习三 图元的属性(45)
一、实习的目的和意义
通过编程完成实面积图形的生成,即区域填充。以掌握区域填充的基本原理和不同的算法,并体会每一种算法的效率以及适用的场合。
二、实习内容
要求本次实习中,将实现如下基本的计算机绘图功能:
1.实现多边形的X—扫描线填充;
2.实现不规则封闭区域递归的四连通和八连通算法;
3.实现封闭区域的沿水平扫描线段的四连通和八连通种子填充;
4.熟悉OpenGL的属性函数
三、实习参考
1.参考4-7~4-8,熟悉OpenGL的点、线属性函数,实现用颜色,宽度,线型函数生成不同颜色,粗细和线型的直线,实现用属性函数绘制不同颜色,大小的点。
补充:有精力的,尝试用矩形像素模板实现宽线段绘制算法。
2.通过对一个简单的封闭多边形进行填充,实现本次实习要求的功能。
3.参考4-10,4-12尝试编写X-线扫描线填充算法,并对上述多边形进行填充。
4.绘制一个不规则区域,参考4-13,设计并实现递归的四连通和八连通算法。
5.同样参考4-13实现不规则区域的沿水平扫描线段的四连通和八连通种子填充算法。
6.参考4-14,熟悉OpenGL的填充属性函数并能使用其属性函数按照给定的属性填充图形。
按照实验二建立控制台应用程序并配置相应的环境,添加文件“fillAreaAttr.c”,观察如下代码的运行结果并分析其实现矩形区域填充的属性的过程。
#include windows.h
#include GL/gl.h
#include GL/glu.h
#include GL/glut.h
void display(void)
{
GLubyte fly[] = { //第二个矩形点画模式的mask值
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60,
0x04, 0x60, 0x06, 0x20, 0x04, 0x30, 0x0C, 0x20,
0x04, 0x18, 0x18, 0x20, 0x04, 0x0C, 0x30, 0x20,
0x04, 0x06, 0x60, 0x20, 0x44, 0x03, 0xC0, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22,
0x66, 0x01, 0x80, 0x66, 0x33, 0x01, 0x80, 0xCC,
0x19, 0x81, 0x81, 0x98, 0x0C, 0xC1, 0x83, 0x30,
0x07, 0xe1, 0x87, 0xe0, 0x03, 0x3f, 0xfc, 0xc0,
0x03, 0x31, 0x8c, 0xc0, 0x03, 0x33, 0xcc, 0xc0,
0x06, 0x64, 0x26, 0x60, 0x0c, 0xcc, 0x33, 0x30,
0x18, 0xcc, 0x33, 0x18, 0x10, 0xc4, 0x23, 0x08,
0x10, 0x63, 0xC6, 0x08, 0x10, 0x30, 0x0c, 0x08,
0x10, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x08
};
GLubyte halftone[] = { //第三个矩形点画模式的mask值
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55,
0xAA, 0xAA, 0xAA,
文档评论(0)