- 26
- 0
- 约4.98千字
- 约 10页
- 2020-06-18 发布于浙江
- 举报
opengl图形填充、正余弦曲线绘制、字符输出(C++)
精品文档
精品文档
收集于网络,如有侵权请联系管理员删除
收集于网络,如有侵权请联系管理员删除
精品文档
收集于网络,如有侵权请联系管理员删除
实验五
实验目的和要求
了解且掌握图形填充、曲线绘制和字符输出等技术。
实验内容
用OpenGL实现用黑白相间的棋盘图案填充多边形
用OpenGL分别用点和折线模式实现正弦和余弦的绘制
用OpenGL在屏幕上输出”OpenGL”字样
实验步骤
相关算法及原理描述
图案填充多边形
多边形模式设置函数为:
void glPolygonMode(GLenum face,GLenum mode);
控制多边形指定面的绘制模式。参数face为GL_FRONT、GL_BACK或GL_FRONT_AND_BACK;参数mode为 GL_POINT、GL_LINE或GL_FILL,分别表示绘制轮廓点式多边形、轮廓线式多边形或全填充式多边形。缺省时,绘制的是正反面全填充式多边形。
设置图案填充式多边形函数为:
void glPolygonStipple(const GLubyte *mask);
为当前多边形定义填充图案模式。参数mask是一个指向32x32位图的指针。与虚点线绘制的道理一样,某位为1时绘制,为0时什么也不绘。注意,在调用这个函数前,必须先启动一下,即用glEnable(GL_POLYGON_STIPPLE);不用时用glDisable(GL_POLYGON_STIPPLE) 关闭。
正弦和余弦曲线的绘制
线的绘制需要用到GL_LINES模式,它指定在glBegin/glEnd函数对中,从第一个点开始,两两构成一条直线段。绘制正余弦曲线的话,只需要编写一段循环语句,指定绘制路线,设置不同线型。
在屏幕上显示字符
在OpenGL实用程序工具包中包含了一些预定义的字符库,用来显示点阵和矢量字符。
函数 void glutBitmapCharacter(void *font,int character); 显示一个GLUT位图字符。其中font是GLUT符号常数,指定点阵字库。参数character采用ASCII编码的形式指定要显示的字符。
用函数glutBitmapCharacter 显示字符时,是将当前的光栅位置作为字符的左下角点,函数执行后,点阵字符装入刷新缓冲存储器,当前的光栅位置会在x坐标方向上获得一个字符宽度的增量,这样可以较轻易的生成一个水平方向的字符串。
程序调试、测试与运行结果分析
图案填充多边形
正余弦曲线的绘制
在屏幕上显示字符
实验总结
这次的实验有三个,其中显示字符比较简单,只需要调用一个函数就可以完成,各字母对应的ASCII码查找也简单,所以完成的很快很顺利。
再就是正余弦曲线的绘制,之前都有做过直线的绘制,基本都是大同小异,稍有难处的就是曲线坐标的确定。在函数中我用一段循环语句来确定曲线点的坐标。
最难做的就是棋盘填充多边形了。这个实验的代码也很简单,遇到困难的是数组定义位图。其实数组的编写现在也没有搞太明白,感觉设计起来很难,有在网上查资料,才最终解决了。对知识了解,但编写还是有些困难。
这次的实验也是一样的有趣,吸引人,以后会更加努力的。
附录
棋盘填充多边形
#includegl/glut.h
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
GLubyte tianchong[]={
/* 填充模式定义 (32x32) */
0x00, 0x01, 0x80, 0x00,
0x00, 0x03, 0xc0, 0x00,
0x00, 0x07, 0xe0, 0x00,
0x00, 0x0f, 0xf0, 0x00,
0x00, 0x1f, 0xf8, 0x00,
0x00, 0x3f, 0xfc, 0x00,
0x00, 0x7f, 0xfe, 0x00,
0x00, 0xff, 0xff, 0x00,
0x01, 0xff, 0xff, 0x80,
0x03, 0xff, 0xff, 0xc0,
0x07, 0xff, 0xff, 0xe0,
0x0f, 0xff, 0xff, 0xf0,
0x1f, 0xff, 0xff, 0xf8,
0x3f, 0xff, 0xff, 0xfc,
0x7f, 0xff, 0xff, 0xfe,
0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xfe,
0x3f, 0xff, 0x
您可能关注的文档
最近下载
- 2024年江西新能源科技职业学院单招职业适应性测试题库及答案解析.docx VIP
- 2026版第5次一本英语听力训练100篇-6年级.docx VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
- 2025年春阳光课堂金牌练习册八年级道德与法治下册人教版答案.pdf VIP
- 海关历史与发展(全).ppt VIP
- 人教版劳动教育七下 劳动项目五《雕刻印章》课件.ppt VIP
- 浙里新中考·对题38练.docx VIP
- 国际贸易概论(第四版) 课件 姚大伟 第一单元国际贸易基础理论.ppt
- 《C语言程序设计》信息化教学实施报告 .pdf VIP
- 2026年浙江工贸职业技术学院单招综合素质笔试模拟试题及答案解析.docx VIP
原创力文档

文档评论(0)