案例05:球的自转
案例 05
2023-09-27 14:25:58 时间
利用OpenGL中定时器 实现球体自转的效果 效果如图所示
整体实现的流程图如下
流程中的main、setupRC、DrawWireFrameBatch等函数与几何图形的绘制基本一致 这里就不再重复说明
着重说下RenderScene函数 这里包括定时器的开启及自转的实现
//1、基于时间变化 CStopWatch--NSTimer定时器 static CStopWatch rotTimer; //获得角度 float yRot rotTimer.GetElapsedSeconds() * 60.0f;
根据模型变化 获得mvp矩阵
//3、创建3矩阵: 平移、旋转、模型视图矩阵、模型视图投影 M3DMatrix44f mTranslate, mRotate, mModelView, mModelViewProjection; //往z轴移动-2.5f m3dTranslationMatrix44(mTranslate, 0, 0, -2.5f); //围绕y轴旋转 m3dRotationMatrix44(mRotate, m3dDegToRad(yRot), 0, 1, 0); //矩阵相乘 m3dMatrixMultiply44(mModelView, mTranslate, mRotate); //mvp是有顺序的 结果-p-mv 不满足交换律 // m3dMatrixMultiply44(mModelViewProjection, viewFrustum.GetProjectionMatrix(), mModelView); m3dMatrixMultiply44(mModelViewProjection, mModelView, viewFrustum.GetProjectionMatrix());
下落棋 能够画出9*9格,有两个棋手A,B,交替输入列数0-9,由于重力原理,输入这个列下几行没有棋子,则自动下落;A显示棋子是X,B显示棋子O,要求当出现四连胜利!A和B交替进行:
相关文章
- $.ajax()方法详解 ajax之async属性 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )
- Google Earth Engine(GEE)——提取点的栅格值(点集合导入和领域统计案例)part2
- 【FPGA教程案例39】通信案例9——基于FPGA的交织-解交织数据传输
- 100 云笔记案例(需求分析)
- 53dwr - 购物车案例(测试部署)
- 大数据与机器学习:实践方法与行业案例.3.2 自动加载的流程
- 05 线程创建 Callable 案例:利用callable改造下载图片案例 总结
- 大数据挖掘建模平台(媒体案例)
- 《精通移动App测试实战:技术、工具和案例》一1.2 Android系统架构
- 九个案例看执行力
- 《R语言与数据挖掘最佳实践和经典案例》—— 第2章 数据的导入与导出
- C#泛型案例与教程
- 从智能交通案例看物联网成功的关键
- unity3d-记录案例小点
- Python 基础 之 多任务 Process 进程应用的简单案例,简单实现文件夹文件拷贝(进程池,进程池队列等)
- SqlServer--查询案例