虚拟现实实验报告doc.docx

上传人:b****2 文档编号:17701596 上传时间:2023-04-24 格式:DOCX 页数:10 大小:20.93KB
下载 相关 举报
虚拟现实实验报告doc.docx_第1页
第1页 / 共10页
虚拟现实实验报告doc.docx_第2页
第2页 / 共10页
虚拟现实实验报告doc.docx_第3页
第3页 / 共10页
虚拟现实实验报告doc.docx_第4页
第4页 / 共10页
虚拟现实实验报告doc.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

虚拟现实实验报告doc.docx

《虚拟现实实验报告doc.docx》由会员分享,可在线阅读,更多相关《虚拟现实实验报告doc.docx(10页珍藏版)》请在冰豆网上搜索。

虚拟现实实验报告doc.docx

虚拟现实实验报告doc

虚拟现实实验报告

篇一:

虚拟现实技术实验报告

  虚拟现实技术实验报告

  实验一:

SketchUp软件认识与使用

  一、实验目的与要求:

  1.目的

  通过本次实验,使学生掌握SketchUp软件的基本架构,理解利用SketchUp进行场景制作的基本步骤,能够熟练运用SketchUp软件的主要功能及相关工具。

  2.要求

  每位学生进行SketchUp软件的安装和配置,操作练习SketchUp的主要功能及相关工具,理解体会各种操作的执行结果,并独立总结撰写完成实验报告。

  二、SketchUp的主要功能:

  边缘和平面:

这是绘图最基本的元素

  每个SketchUp模型皆由两种元素组成:

边缘和平面。

边缘是直线,而平面是由几条边缘构成一个平面循环时所形成的平面形状。

例如,矩形平面是由四条边缘以直角角度互相连接在一起所构成的。

自己可在短时间内学会使用SketchUp的简单工具,从而绘制边缘和平面来建立模型。

一切就是这么简单容易!

  推/拉:

从2D迅速转为3D

  使用SketchUp专利设计的[推/拉]工具,可以将任何平面延伸成立体形状。

单击鼠标就可开始延伸,移动鼠标,然后再单击即可停止延伸。

自己可以将一个矩形推/拉成一个盒子。

或绘制一个楼梯的轮廓并将其推/拉成立体的3D形状。

想绘制一个窗户吗?

只需在墙上推/拉出一个孔即可。

SketchUp易于使用而广受欢迎,原因就在于其推/拉的功能。

  精确测量:

以精确度来进行作业处理

  SketchUp特别适合在3D环境中进行迅速的绘图处理,但是它的功能不仅仅只是一只神奇的电子画笔而已。

因为当自己在计算机上进行绘图处理时,自己在SketchUp中所建立的一切对象都具有精确的尺寸。

当自己准备好要建立模型时,自己可以随意根据自己想要的精确度来进行模型的建立。

如果自己愿意,自己可以将模型的比例视图打印

  出来。

如果自己有SketchUpPro,自己甚至还可将自己的几何图形导出到AutoCAD和3dsMAX等其他程序内。

  路径跟随:

建立复杂的延伸和板条形状

  使用SketchUp创新万能的[路径跟随]工具,可以将平面沿预先定义的路径进行延伸以建立3D形状。

沿L形线路延伸一个圆形即可建立一个弯管的模型。

绘制瓶子的一半轮廓,然后使用[路径跟随]工具沿一个圆形来扫动,就能建立一个瓶子。

自己甚至还可以使用[路径跟随]工具来圆整扶手、家具和电器等对象的边缘。

  颜料桶:

套用颜色和纹理

  自己可以用SketchUp的[颜料桶]工具使用颜色和纹理等材料来绘制模型。

群组和组件:

建构更智能的模型

  自己可将模型中几何形状的各个部分「粘在一起」成为一个群组以建立更容易移动、复制和隐藏的子对象。

组件虽然有点像群组,不过比群组更方便:

组件的各副本相互关联,因此在一个副本上所做的改变会自动影响其他副本。

窗、门、树、椅子和数以百万计的其他对象都可受惠于此功能。

  阴影:

进行阴影研究以增加真实感

  SketchUp强大的实时[阴影引擎]可让自己对模型进行精确的阴影研究。

截面:

查看模型的内部

  自己可以使用SketchUp的交互式截面功能暂时性切开设计的一部分以查看其内部。

自己也可使用截面功能来建立正交视图(例如楼层布置图)以使用SketchUpPro将几何图形导出到CAD程序,或在处理模型时以更佳方式检视模型。

此外,自己也可使用SketchUp的场景功能来移动或旋转截面,甚至制作截面动画。

  场景:

储存检视及建立动画

  为了让自己可轻松储存模型的精确检视,以便稍后返回该检视,我们设计了场景功能。

需要建立动画吗?

只需建立几个场景并按下一个按钮即可。

  环顾和行走:

亲自探索自己的创作

  SketchUp利用一组简易的导览工具来提供第一人称检视,从而让自己身临其境的检视模型。

用[定位镜头]单击可让镜头「立在」模型内的任何地方。

使用[环顾]工具转动自己的虚拟头部。

最后,切换到[行走]模式来以步行方式探索自己的创作,自己甚至还可以上下楼梯和斜坡。

  Google地球:

在周围环境中检视自己的模型

  SketchUp和「Googleearth」属于同一产品系列,因此自己可以在两者之间轻易交流信息。

自己的项目需要一个建筑地点吗?

按下一个按钮即可直接从「Googleearth」中将缩放的空照图,包括地形,汇入到SketchUp中。

  沙盒工具:

处理地形

  SketchUp的[沙盒]工具让自己能够建立、优化和更改3D地形。

自己可以从一组汇入的等高线来产生平滑的地形,增添窄路和径流山谷以及建立房间和车道。

3D模型库:

可以在3D模型库中寻找任何自己所需要的模型

  Google3D模型库是一个庞大的在线3D模型库,自己可在其中寻找任何自己所需的对象。

若自己能免费下载,为何需要自己建立呢?

  汇入3DS:

在建模时拔得头筹

  自己可以将3DS档案直接汇入到自己的SketchUp模型中。

有3DS格式的家具要使用?

只需要汇入即可进行处理。

  汇入图像:

用照片贴墙

  SketchUp可让自己汇入JPG、TIFF、PNG和PDF等文件格式的图像。

自己可以单独使用这些图像(有点像海报性质),也可以将图像粘贴到表面以建立建筑物、包装设计等具有如照片般真实感的模型。

  汇出TIFF、JPEG和PNG

  SketchUp可让自己汇出最大10,000像素正方形的位图,因此自己可使用电子邮件进行发送、在文件中发布或投影到墙上,只要选择一些选项并单击[导出]即可进行汇出,过程简易迅速。

  PRO汇入和汇出DXF和DWG:

平面线条绘图和3D模型

  SketchUpPro可让自己汇入和汇出DXF和DWG,轻松地将设计图、截面、立视图或甚至整个模型移入(和移出)自己喜欢的CAD程序。

汇入和导出的几何图形尺寸将维持1:

1的比例,而且图层将予以保留。

  PRO汇出PDF和EPS:

平面向量图

  SketchUpPro可让自己以PDF和EPS格式导出模型的视图,从而让自己能够在Illustrator和Freehand等向量编辑程序中继续进行处理。

对于需要不受分辨率限制的平面图像来说,导出到这些格式是最好的方法了。

篇二:

虚拟现实与仿真实验报告

  合肥工业大学

  计算机与信息学院

  实验报告

  课程:

虚拟现实与仿真技术

  专业班级:

计算机科学与技术11-2班

  学号:

XX2497

  姓名:

谢云飞

  实验一

  一.实验名称

  从3Dmax8中导出mesh并添加mesh到场景。

  二.实验过程或实验程序(增加的代码及代码注解)

  2.1启动3Dmax

  1.在安装有3Dmax8的计算机上,可以使用两种不同的方法来启动3Dmax8:

  

(1)在桌面上双击“3Dmax8”图标

  

(2)点击“开始”菜单,在“程序”中的选择“3Dmax8”

  2.观察3Dmax8主窗口的布局。

3Dmax8主要由若干元素组成:

菜单栏、工具栏、以及停靠在右边的命令面板和底部的各种工具窗口

  2.2使用3Dmax8建模并导出mesh

  2.2.1导出mesh的步骤如下:

  1.启动3Dmax8

  2.在停靠在右边的命令面板中,点击几何体按钮

  3.选择标准几何体

  4.在对象类型中选择对象(如:

长方体),在“前”视口中,通过单击鼠标左键,创建出模型

  5.在工具栏中单击“材质编辑器”按钮,通过上步操作,可开启“材质编辑器”对话框

  6.在“材质编辑器”对话框中,点击漫反射旁方形按钮,进入到“材质/贴图浏览器”

  7.在“材质/贴图浏览器”中选择位图,鼠标左键双击位图

  8.弹出选择位图图像文件对话框,从本地电脑中选择一张图片

  9.选择好图片,在材质编辑器对话框中,点击将材质指令给选定对象

  10.点击菜单栏上的oFusion按钮,在弹出的菜单栏中选择ExportScene

  11.选择文件夹并输入文件名qiu,点击保存,在弹出的对话框中勾选CopyTextures,点击Export按钮,此时mesh文件已成功导出

  2.3导出的mesh文件放入到指定位置

  1.找到mesh文件,把mesh文件放到当前电脑的OgreSDK的models中,以我的电脑为例,OgerSDK放在C盘中

  2.打开C盘,找到OgreSDK,打开OgreSDK,找到media,打开media文件夹,找到models,打开models文件夹,将mesh文件复制到此文件夹中

  3.将导出mesh文件附带的材质文件qiu.material放到OgreSDK的scripts(C:

\OgreSDK\media\materials\scripts)中

  4.将导出mesn文件时同时导出的图片放到OgreSDK的textures(C:

\OgreSDK\media\materials\textures)中

  2.4mesh文件导入到场景中

  2.4.1mesh文件导入到场景中步骤:

  1.启动vsXX

  2.在“文件”菜单中选择“打开”,然后单击“项目/解决方案”

  3.找到项目MFCOgre1,选择MFCOgre1.sln,点击打开按钮

  4.打开MFCOgre1View.h,创建节点变量,SceneNode*node1(MFCOgre1View.h中的第55行),创建实体变量Entity*ent1(MFCOgre1View.h中的第57行);

  5.打开MFCOgre1View.cpp,在MFCOgre1View.cpp的构造函数中对创建的节点和实体对象初始化node1(NULL)、ent1(NULL)(在MFCOgre1View.cpp的第37行和第39行)

  6.获取根节点的子节点,并将其赋值给节点node1(MFCOgre1View.cpp的第225行)

  7.给创建的实体对象ent1赋值(MFCOgre1View.cpp的第224行)

  8.设置节点的位置(MFCOgre1View.cpp的第226行)

  9.将实体附在节点上(MFCOgre1View.cpp的第227行)

  voidCMFCOgre1View:

:

CreateEntity(void)

  {

  ent1=m_pSceneManager->createEntity("Sphere","qiu.mesh");//获取实体对象,第一个参数是实体的名字,第二个参数是要导入的mesh文件

  node1=m_pSceneManager->getRootSceneNode()->createChildSceneNode();//创建结点

  node1->translate(Vector3(-20,0,30));//设置实体的位置

  node1->attachObject(ent1);//将实体附在节点上

  ent1->setMaterialName("Examples/Chrome1");//设置实体的材质

  2.5生成项目

  使用“生成项目”功能可以将程序的源代码文件编译为可执行的二进制文件,方法十分简单:

在“生成”菜单中选择“生成解决方案”。

  在项目生成过程中,“输出”窗口会实时显示生成的进度和结果。

如果源代码中不包含语法错误,会在最后提示生成成功,如下图所示:

  如果源代码中存在语法错误,“输出”窗口会输出相应的错误信息(包括错误

所在文件的路径,错误在文件中的位置,以及错误原因),并在最后提示生成失败。

此时在“输出”窗口中双击错误信息所在的行,OSLab会使用源代码编辑器打开错误所在的文件,并自动定位到错误对应的代码行。

可以在源代码文件中故意输入一些错误的代码(例如删除一个代码行结尾的分号),然后再次生成项目,然后在“输出”窗口中双击错误信息来定位存在错误的代码行,

  将代码修改正确后再生成项目。

  2.6执行项目

  在MFCOgre1中选择“调试”菜单中的“开始执行(不调试)”,可以执行刚刚生成的程序,运行出实验要求的结果。

  三.实验结果(包括必要的截图)

  3dmax中创建实体球模型:

  添加mesh到场景中后:

  注释:

由于增加了九个球体,所以相应代码有所改变。

具体如下(两例,其它七个相同):

  ent3=m_pSceneManager->createEntity("Sphere1","qiu.mesh");//获取实体对象,第一个参数是实体的名字,第二个参数是要导入的mesh文件

  node3=m_pSceneManager->getRootSceneNode()->createChildSceneNode();//创建结点node3->translate(Vector3(-20,20,30));//设置实体的位置

  node3->attachObject(ent3);//将实体附在节点上

  ent3->setMaterialName("Examples/Chrome1");//设置实体的材质

  ent4=m_pSceneManager->createEntity("Sphere4","qiu.mesh");//获取实体对象,第一个参数是实体的名字,第二个参数是要导入的mesh文件

  node4=m_pSceneManager->getRootSceneNode()->createChildSceneNode();//创建结点node4->translate(Vector3(-20,40,30));//设置实体的位置

  node4->attachObject(ent4);//将实体附在节点上

  ent4->setMaterialName("Examples/Chrome1");//设置实体的材质

  四.实验体会

  通过此次试验,不但复习了3dmax模型的创建过程,我还知道了对模型的导出,以及添加到ogre模型库中,并能通过看代码,自己添加实体模型到场景中,更改模型的材质。

另外,我对orge也有了一定的了解,知道了在VS里面配置库目录,能够把场景转到orge里面展示。

这只是实验的开始,我希望随着后面的学习能够对其有进一步的掌握。

篇三:

虚拟现实技术实验报告三

  华北水利水电学院虚拟现实技术实验报告~第学期级

  班级:

学号:

姓名:

  实验三虚拟现实复杂场景建模与漫游仿真

  一、实验目的:

  掌握虚拟现实技术复杂三维场景建模技术。

在场景中引入环境背景、动画与交互等,构建逼真的三维场景。

  二、试验要求:

  本次试验为综合性质试验,要求自行设计一个较为复杂的场景或者单体模型,其中包含各种造型与渲染技术,比如纹理材质、光照、环境背景、声音视频、动画与交互等。

场景内容不限。

  三、试验步骤:

  主要代码如下:

  NavigationInfo{

  type["EXAMINE","ANY"]

  headlightTRUE

  }

  DEFvp1Viewpoint{#settheviewpoint

  position2011

  }

  Transform{

  translation3-2.5-2

  rotation0011.57

  children[Transform{rotation0-100.33

  children[

  Shape{

  appearanceAppearance{

  materialMaterial{}

  textureImageTexture{url"wood.jpg"}

  }

  geometryBox{size0.13017}

  }

  ]}]

  }

  Transform#weightscale

  {

  translation-200

  children[

  Transform

  {rotation10-11.571

  children[

  Shape{

  appearanceAppearance{

  specularColor.18.25.23ambientIntensity.0433shininess.06}}#endAppearancegeometryCylinder{radius0.9height0.3}}#enddialbaseDEFweightTouchSensor{}Transform{#dialface(white)translation00.210children[Shape{appearanceAppearance{materialMaterial{diffuseColor111}}geometryCylinder{radius0.8height0.05}}]}Transform{#scalechildren[DEFscaleTransform{translation00.22-0.6rotation1001.571children[Shape{appearanceAppearance{materialMaterial{diffuseColor0.90.10.4}textureImageTexture{}}geometryCone{bottomRadius0.1height0.1}}]}]}Transform{rotation0100.5236children[USEscale]}Transform{rotation0101.0472children[USEscale]}

  rotation0101.5708children[USEscale]}Transform{rotation0102.0944children[USEscale]}Transform{rotation0102.6180children[USEscale]}Transform{rotation0103.1416children[USEscale]}Transform{rotation0103.6652children[USEscale]}Transform{rotation0104.1888children[USEscale]}Transform{rotation0104.7124children[USEscale]}Transform{rotation0105.2360children[USEscale]}Transform{rotation0105.7596children[USEscale]}Transform#weightscaleneedle{children[DEFindexTransform{translation-0.10.50.1rotation0100.9scale0.8510.85children[Shape{

  appearanceAppearance{materialMaterial{diffuseColor10.10.1}}geometryIndexedFaceSet{

  {

  }

  DEFdollTcoordCoordinate{point[0.0700,#0.030-1,-0.030-0.7,-0.0700,]}coordIndex[0,1,2,-1]}}]}]}]}Transform{translation0-1.60children[Shape{appearanceAppearance{materialMaterial{diffuseColor0.90.10.4}}geometryCylinder{radius0.08height3}}]}Transform#weightscalebasetranslation0.8-30.2rotation1-100.571children[Shape{appearanceAppearance{materialMaterial{diffuseColor0.90.10.4}}geometryBox{size20.21}}]}]

  DEFTimer4TimeSensor{#eyesighttabel-needleTimeSensor

  enabledFALSE

  startTime0.0ransform{

  translation3-2.70.76

  #rotation1001.5

  #scale111

  children[

  DEFmovedollPlaneSensor{minPosition-5-2.5#setPlaneSensormovedollwithmaxPosition

  maxPosition8-0.5

  }

  Shape{

  appearanceAppearance{

  textureImageTexture{url"pangpang.gif"}

  materialMaterial{

  diffuseColor1.850

  specularColor.87.25.25

  ambientIntensity.157

  shininess1

  #transparency.737

  }

  }

  geometrySphere{radius0.6}

  }

  ]

  }

  Transform{

  translation8-10

  rotation1100.5

  children[

  Shape{appearanceAppearance{

  materialMaterial{diffuseColor111}

  textureImageTexture{url"shili.jpg"}

  }

  geometryBox{size0.141}}

  DEFimageTouchSensor{}

  ]

  }

  DEFTimerTimeSensor{enabledFALSE

  startTime0.0

  cycleInterval10.0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1