OSG绘制基本图形实验一..doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OSG绘制基本图形实验一.

天津理工大学 计算机科学与技术学院 实验报告 2015 至 2016 学年 第 二 学期 课程名称 计算机图形学 学号 学生姓名 年级 专业 课程号 实验地点 实验时间 主讲教师 辅导教师 实验( 一 ) 实验名称 绘制基本图形 软件环境 Visual Studio 2010 OSG-3.1.0 Windows 7 硬件环境 2G内存 显卡GT610 CPU奔腾双核 硬盘320G 实验目的 1. 理解图形元素显示的基本原理,掌握扫描转换直线段的常用算法原理,扫描转换圆弧的常用算法原理。 2. 熟悉OpenSceneGraph常用几个类(Group,Geode,Geometry,Node,Viewer,osg::Vec3Array) 3. 熟悉OpenSceneGraph构建场景的基本框架 4. 掌握绘制不同大小和颜色的点的方法 5. 掌握绘制不同线型和颜色的直线的方法(直线,折线,环线) 6. 掌握绘制彩色多边形边框的方法(各种设备) 7. 熟悉OpenSceneGraph的编程环境 实验内容(应包括实验题目、实验要求、实验任务等) 实验题目: 绘制基本形状(osg::PrimitiveSet::POINTS,osg::PrimitiveSet::LINES,osg::PrimitiveSet::LINE_STRIP,osg::PrimitiveSet::LINE_LOOP,osg::PrimitiveSet::POLYGON,osg::PrimitiveSet::QUADS,osg::PrimitiveSet::QUAD_STRIP,osg::PrimitiveSet::TRIANGLES,osg::PrimitiveSet::TRIANGLE_STRIP,osg::PrimitiveSet::TRIANGLE_FAN)。 实现各自名字的绘制。 颜色的设置要合适。 实验要求: 设计结构合理、扩展灵活。 每个设备类独立封装。 提交电子版实验报告及工程代码,试验报告模板可参考计算机学院统一模板 提交的工程代码必须删除其中的Debug或Release文件夹 实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等) 节点模型: 实验步骤: 在纸上绘制草图,建立三维坐标系,并在坐标系中画出个图形,并设定各点坐标,使其坐标符合逻辑,以供绘制图形坐标的选择; 创建Group节点,Geode节点,Geomotry节点, 创建顶点坐标数组,颜色数组,法线数组; 实现基本绘制。 流程图: 结果展示: 附录(可包括源程序清单或其它说明) 源代码: #include Windows.h #includeosg/Geode #includeosgDB/ReadFile #includeosgUtil/SmoothingVisitor #includeosgViewer/Viewer #include osg/Geometry #includeosg/Matrixd #includeosg/MatrixTransform #includeosg/ShapeDrawable #includeosgText/Text #include osgText/Font #include locale.h void createContent1(osgText::Text textObject,const char* string); osg::Geode* draw() { osg::ref_ptrosg::Node node = new osg::Node; osg::ref_ptrosg::Group group = new osg::Group; osg::ref_ptrosg::Geode geode = new osg::Geode; osg::ref_ptrosg::Geometry geometry = new osg::Geometry; osg::ref_ptrosg::Vec3Array point = new osg::Vec3Array; osg::ref_ptrosg::Vec3Array color = new osg::Vec3Array; osg::ref_ptrosg::Vec3Array normal =new osg::Vec3Array; point-push_back(osg::Vec3(0,0,0)); point-push_back(osg::Vec3(0,3

文档评论(0)

kaiss + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档