计算机图形学(二)输出图元_20_章节总结(上)

输出图元章节总结

       发了好久第2章终于结束了,本章中讨论的输出图元为使用直线、曲线、填充区域、单元阵列样式和文本构造图形提供了基本的工具。我们通过在笛卡儿世界坐标系统中给出几何描述来指定图元

       用于沿线段路径绘制像素的三种方法DDA算法、Bresenham算法中点算法Bresenham算法和中点算法是等同的并且是最有效的。沿线段路径的像素的颜色位存储按照递增地计算内存地址的方式而有效完成。任何线段生成算法都可以通过分割线段并将分割的线段分布到可用处理器上来获得并行的实现。

       圆和椭圆采用中点算法并根据其对称性进行有效而精确的扫描转换。其他二次曲线(抛物线和 双曲线)也可以使用类似的方法进行绘制。分段的连续多项式的样条曲线广泛地应用于动画和计算 机辅助设计中。曲线生成的并行实现能通过与并行线段处理方法类似的方法来实现。
       为了考虑显示直线和曲线具有有限宽度的事实,我们必须调整对象的像素大小,使之与指定的 几何尺寸相一致。可以通过将像素位置看做在左下角的编址方法,或是通过调整直线长度的方法来 实现。
       一个填充区是一个显示成单色或彩色图案的平面区域。但一般来说,我们可以用任何边界来指 定填充区。很多图形软件包仅允许凸多边形填充区。这时,凹多边形填充区可以通过分割成一组凸 多边形来显示。三角形是最容易填充的多边形,因为每条扫描线只和三角形的两条边相交(假定扫 描线不和三角形顶点相交)。
      奇偶规则可用来判定平面区域的内点。其他一些方法也可用于定义对象内部,特别是不规则的 自相交对象。一个有代表性的例子是非零环绕数规则。该规则比奇偶规则在处理用多个边界定义的 对象时更加灵活。我们还可以根据环绕数规则的变形,使用布尔操作来组合平面区域。
       每一多边形都有确定多边形平面空间方向的前向面后向面。该空间方向可用与多边形平面正 交的法向量来确定,并且从后向面指向前向面。可以从多边形平面方程或使用平面上逆时针排列且 其三个夹角均小于180度的三点求向量叉积来计算法向量的分量。一个场景的所有坐标值、空间方 向和其他几何数据分别放入顶点、边和面片表中。
         图形软件包中其他一些可用的图元有图案阵列和字符串。图案阵列可用于描述各种二维形状, 包括使用矩形结构的二值或彩色值集合表达的字符集。字符串用来为图形提供标记。
        使用OpenGL基本库中的图元函数可生成点、直线段、凸多边形填充区和位图或像素图的图案 阵列。GLUT中有显示字符串的子程序。圆、椭圆和凸多边形填充区等其他图元能利用这些函数构 造或逼近,也可利用GLU和GLUT的子程序生成。所有坐标值在右手笛卡儿坐标系统中用绝对坐 标表示。描述场景的坐标位置可在二维或三维参考系中给出。可以用整数或浮点数来给出坐标值, 也可用指向坐标值数组的指针来表示位置。场景描述经观察函数变换成视频监视器等输出设备的二 维显示。除glRect函数外,顶点、线段或多边形的每一位置均在glVertex函数中指定。定义每一图 元的一组glVertex函数用一对语句glBegin/glEnd来包含,其中的图元类型根据作为glBegin函数的 变量的符号常量来标识。在描述包含许多多边形填充表面时,可以使用OpenGL顶点数组来指定几 何和其他数据,从而高效地生成显示结果。
下面,列出OpenGL中生成输出图元的基本函数。某些相关子程序也在其中。

函数                         描述

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  1. gluOrtho2D  指定二维世界坐标系统
  2. glVertex*      选择一坐标位置。该函数必须放在glBegin/glEnd之间
  3. glBegin (GL_POINTS);  绘出一个或多个点,每个都在glVertex 函数中指定。该位置串用glEnd语句来结束
  4. glBegin (GL_LINES);     显示一组直线段,其端点坐标在glVertex函数中指定。该端点串最后由glEnd语句来结束
  5. glBegin (GL_LINE_STRIP);  显示用与GL_LINES相同的结构所指定的折线
  6. glBegin (GL_LINE_LOOP);   显示用与GL_LINES相同的结构所指定的封闭折线
  7. glRect*    显示xy平面上的一个填充区
  8. glBegin (GL_POLYGON);   显示一个填充多边形,其顶点在glVertex中给出且由glEnd语句结束
  9. glBegin (GL_TRISNGLE_STRIP); 显示一个填充三角形带,其描述结构与GL_POLYGON相同
  10. glBegin (GL_TRIANGLE_FAN);    显示一扇形的填充三角形带,所有三角形都与第一顶点相连,其描述结构与GL_POLYGON相同
  11. glBegin (GL_QUADS); 显示一组填充四边形,其描述结构与GL_POLYGON相同
  12. glBegin (GL_QUAD_STRIP); 显示一组填充四边形带,其描述结构与GL_POLYGON相同
  13. glEnableClientState (GL_VERTEX_ARRAY);  激活OpenGL的顶点数组设施
  14. glVertexPointer (size,type,stride,array);   指定一坐标值数组
  15. glDrawElements (prim,num,type,array);  从数组数据中显示一指定图元类型
  16. glNewList (listID,listMode);  把一组命令定义为一个显示表,用glEndList语句结束
  17. glGenLists   生成一个或多个显示表标识
  18. glIsList         确定一显示表标识是否被使用的查询函数
  19. glCallList     执行一个显示表
  20. glListBase   指定显示表标识数组的位移
  21. glCallLists   执行多个显示表
  22. glDeleteLists   删除指定的一串显示表
  23. glRasterPos*   为帧缓存指定一个二维或三维的当前位置。该位置用来作为位图和像素图图案的参考
  24. glBitmap(w, h, x0, y0, xShift, yShift, pattern);   指定要映射到与当前位置对应的像素位置的位图图案
  25. glDrawPixels(w, h, type, format, pattern);         指定要映射到与当前位置对应的像素位置的像素图图案
  26. glDrawBuffer  选择存储像素图的一个或多个缓存
  27. glReadPixels  将一块像素存人指定的数组
  28. glCopyPixels  将一块像素从一个缓存复制到另一个
  29. glLopicOp       在用常量GL_COLOR_LOGIC_OP激活后选择一种逻辑操作来组合两个像素数组
  30. glutBitmapCharacter (font, char);    选择一种字体和一个位图字符进行显示
  31. glutStrokeCharacter (font, char);    选择一种字体和一个轮廓字符进行显示
  32. glutReshapeFunc     指定显示窗口尺寸改变时的工作
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统的功能模块主要是实现管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值