电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

OpenGL之曲线和曲面VIP免费

OpenGL之曲线和曲面_第1页
1/10
OpenGL之曲线和曲面_第2页
2/10
OpenGL之曲线和曲面_第3页
3/10
计算机图形学中,所有的光滑曲线、曲面都采用线段或三角形逼近来模拟,但为了精确地表现曲线,通常需要成千上万个线段或三角形来逼近,这种方法对于计算机的硬件资源有相当高的要求。然而,许多有用的曲线、曲面在数学上只需要用少数几个参数(如控制点等)来描述。这种方法所需要的存储空间比线段、三角形逼近的方法来所需要的空间要小得多,并且控制点方法描述的曲线、曲面比线段、三角形逼近的曲线、曲面更精确。 为了说明如何在 OpenGL 中绘制复杂曲线和曲面,我们对上述两类比方法都进行了介绍。下面我们先来介绍有关基础知识,然后再看是如何实现的吧。 一、曲线的绘制 OpenGL 通过一种求值器的机制来产生曲线和曲面,该机制非常灵活,可以生成任意角度的多项式曲线,并可以将其他类型的多边形曲线和曲面转换成贝塞尔曲线和曲面。这些求值器能在任何度的曲线及曲面上计算指定数目的点。随后,OpenGL 利用曲线和曲面上的点生成标准OpenGL 图元,例如与曲线或曲面近似的线段和多边形。由于可让 OpenGL 计算在曲线上所需的任意数量 的点,因 此 可以达 到 应 用所需的精度。 对于曲线,OpenGL 中使 用 glMap1*()函 数来创 建 一维 求值器,该函 数原 型为: void glMap1{fd}(GLenum target,TYPE u1,TYPE u2,GLint stride, GLint order,const TYPE *points); 函 数的第 一个参数 target 指出 控制顶 点的意义 以及在参数 points 中需要提 供 多少值,具 体 值见 表一所示 。参数 points 指针 可以指向 控制点集 、RGBA 颜 色 值或纹 理 坐 标串 等。例如若 target 是 GL_MAP1_COLOR_4,则 就 能在 RGBA 四 维 空间中生成一条 带 有颜 色 信息 的曲线,这在数据 场 可视 化 中应 用极 广 。参数 u1 和 u2,指明变 量 U 的范 围 ,U 一般 从 0变 化 到 1。参数 stride 是跨 度,表示 在每 块 存储区 内 浮 点数或双 精度数的个数,即 两个控制点间的偏 移 量 ,比如上例中的控制点集 ctrpoint[4][3]的跨 度就 为 3,即 单 个控制点的坐 标元素 个数。函 数参数 order 是次 数加 1,叫 阶 数,与控制点数一致 。 参数 意义 GL_MAP1_VERTEX_3 x,y,z 顶 点坐 标 GL_MAP1_VERTEX_4 x,y,z,w 顶 点坐 标 GL_MAP1_INDEX 颜 色 表 GL_MAP1_COLOR_4 R,G,B,A GL_MAP1_NORMAL 法向 量 GL_MAP1_TE...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

OpenGL之曲线和曲面

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部