OSG绘制基本图形实验一..doc
文本预览下载声明
天津理工大学
计算机科学与技术学院
实验报告
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
显示全部