网站大量收购独家精品文档,联系QQ:2885784924

第七章 用Visual Basic 编写交互式三维图形程序.docVIP

第七章 用Visual Basic 编写交互式三维图形程序.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档