第三讲 color.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三讲 color

可视化仿真与虚拟现实 第三讲 上一讲回顾 平面图形 点 线 填充多边形 状态机 颜色 线型 线的粗线 点的大小 封装 函数封装 文件封装 示例 a1- 曲柄滑块 本讲内容 字符的显示 二维动画 物理仿真与动画显示 弹簧质量的运动仿真 练习 1.字符的显示 位图字体 用二值像素图案表示; 字体放大会走样; 显示速度快。 轮廓(矢量)字体 用线和圆弧等几何曲线表示; 数据量少,只记录线的端点、圆弧的中心和半径; 美观,缩放不失真; 需要光栅化,影响显示速度。 Opengl显示字符的函数 位图字符函数: glutBitmapCharacter(font, character) font:指定字型,常量(如GLUT_BITMAP_8_BY_13) Character:字符的ASCII码值 轮廓字符函数: glutStrokeCharacter(font, character) font:指定字型,常量(如GLUT_STROKE_ROMAN) Character:字符的ASCII码值 显示一个字符 示例程序 对a1中程序补充字符显示 2.二维动画 原理:在应用程序窗口播放当前帧时,程序已在另一缓冲区生成了下一帧图象数据。当前一帧图象显示完毕时,应用程序只要将在另一缓冲区已经生成的图象拷贝到屏幕上即可。 特点:这种方式可加快动画的播放速度,但需要较大内存。 先在后缓冲区绘图 前一张画面 后缓冲区完成后,整拷贝到前缓冲区 前缓冲区的图整个被覆盖 二维动画routine void display() { glClear(GL_COLOR_BUFFER_BIT); // … 绘制场景 glutSwapBuffers(); } void main ( int argc, char** argv ) { glutInit ( argc, argv ); glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE ); // 双缓存显示模式,支持动画 glutInitWindowSize ( 500, 500 ); glutCreateWindow ( “动画程序框架 ); glClearColor(0,0,0,0); gluOrtho2D(0.0, 400.0, 0.0, 300.0); glutDisplayFunc ( display ); glutIdleFunc( display ); // 闲时处理,支持动画 glutMainLoop( ); // GLUT主循环 } 动画与非动画的区别 需要双缓冲 需要Idle回调函数 glutIdleFunc 需要场景更新display函数中的 动画场景 静态场景 glutInitDisplayMode(GLUT_SINGLE|…); glutInitDisplayMode(GLUT_DOUBLE|…); glutIdelFunc 无 glutSwapBuffers(); glFlush(); glutInitDisplayMode ( GLUT_RGBA | GLUT_DOUBLE ); glutSwapBuffers(); 3.物理仿真与动画显示 一切动态物理系统均用微分方程描述 一阶微分方程: 以抛物线运动为例: 一阶微分方程的求解 计算机不能进行连续问题的求解,需要进行离散化。即在若干离散的时间点上,用差分方程代替微分方程。 微分方程最简单的离散化方法:向前欧拉法 抛物线运动的欧拉方法 示例 a2——球的抛物线运动 4.弹簧质量的运动仿真 x 练习 漫天雪花 乒乓球在盒子里的弹跳动画(18分) 至少有一个乒乓球; 受重力影响 与至少左右下三个面碰撞,并回弹 当碰到墙壁后,发出声音 (参考: /view/3ce2fcc258f5f61fb7366608.html ) v

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档