- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 用Visual Basic 编写交互式三维图形程序
本章论述如何使用Visual Basic 和Intra3D的COM库来编写交互式3D应用程序。Visual Basic版本与Visual C++版本的3D示例程序功能完全一样,但各有优缺点。程序复杂性方面,Visual Basic版本的3D程序要比Visual C++版本的简单。速度方面,Visual Basic版本的3D程序则比Visual C++版本的慢。
7.1 编译器设置与示例程序说明
四个示例程序存放于Intra3D标准版软件的Examples\VisualBasic目录下。为了能编译这些示例程序,首先应正确引用Intra3D.ocx、OglWindow.ocx与OpenGL.ocx 三个COM库文件。Intra3D的安装程序将上述三个COM库文件安装到Windows的System目录下。由于Intra3D.ocx与OglWindow.ocx含有ActiveX控件,应在Visual Basic的Components属性中添加Intra3D.ocx与OglWindow.ocx,如图7.1所示。OpenGL.ocx不含有ActiveX控件,应在Visual Basic的Refrences属性中添加OpenGL.ocx,如图7.2所示。
每个示例程序的工程文件为Project.vbp,可执行文件为App.exe。Project.vbp含三个文件(如图7.3所示):
(1)frmMain.frm为主界面程序,使用SceneView控件交互式绘制场景;
(2)frmAbout为About对话,使用OglWindow控件实现图标的3D动画;
(3)Scene.bas用于创建场景的Scene Graph。
图7.1 在Components属性中添加Intra3D.ocx与OglWindow.ocx
图7.2 在Referencs属性中添加OpenGL.ocx
图7.3 工程文件Project.vbp
App.exe可用Visual Basic的Make Project菜单生成,如图7.4所示。注意不要用Visual Basic的Start菜单运行示例程序。这是因为Start菜单是以解释方式运行程序的,往往不能正确运行交互式的3D应用程序。
图7.4 生成可执行程序App.exe
7.2 示例程序之一:简单图形对象
示例程序存放于Examples\VisualBasic\SimpleObjects目录下,主要演示:(1)简单图形对象的使用;(2)材质对象与材质对话的使用;(3)光源节点与光源对话的使用;(4)编辑背景颜色、多重采样削锯齿、标准三维交互、辅助三维交互等功能的实现。
使用Visual Basic开发用户界面非常方便,frmMain.frm的界面如图7.5所示。图7.5中“白色”的控件名为AppView,是Intra3D的SceneView类型的控件;程序运行时,AppView的窗口将扩大覆盖frmMain的用户区,3D图形绘制在AppView的窗口中,如图7.6所示。
图7.5 示例程序SimpleObject的frmMain
图7.6 示例程序SimpleObject的主界面
Visual Basic版本的示例程序与Visual C++ 版本的示例程序在功能上完全一致,用户界面也非常相似(对比图7.6与图6.3)。但是程序的代码有较大的差异。
7.2.1 全局对象与Scene Graph
全局对象与Scene Graph定义在Scene.bas程序中,在程序结束时Visual Basic将自动释放这些对象。用Visual Basic的Object Browser工具可以浏览COM对象的编程接口,如图7.7所示。
图7.7 用Object Browser 浏览COM对象的编程接口
Option Explicit
Public ogl As New OpenGL ’ OpenGL对象
Public m_pMaterial As New Material ’ 材质对象
Public m_pBox As New BoxObject ’ 长方体对象
Public m_pCone As New ConeObject ’ 锥体对象
Public m_pCylinder As New CylinderObject ’ 圆柱体对象
Public m_pSphere As New SphereObject ’ 球体对象
Public m_pTorus As New TorusObject ’ 圆环体对象
Public m_pShape As New ShapeNode ’ 形体节点
Public m_pCamera As New Camera
您可能关注的文档
- 第一章 数据库概述单选.doc
- 第一章 财政概念和财政职能w.doc
- 第一章 资产课后作业.doc
- 第一学期思科考题.doc
- 第一套小知识题.doc
- 第一课商品和商品经济10月9日.doc
- 第一课 可爱的人物.doc
- 第一课 战争的记忆.doc
- 第一节_城市内部空间结构__学案(一).doc
- 第一节__城市内部空间结构.doc
- 《GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法》.pdf
- 中国国家标准 GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 《GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述》.pdf
- GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 中国国家标准 GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- 《GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦》.pdf
- GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 中国国家标准 GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 《GB/T 10810.5-2025眼镜镜片 第5部分:表面耐磨试验方法》.pdf
文档评论(0)