- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaD的虚拟场景空间设计空间
1.1Java3D的虚拟场景空间设计
Java3D是一种面向对象的API。通过场景图来管理场景中的各种图形元素。场景图是一个树状结构,在该树状结构的各级节点表示该场景中的各种图形元素。将由各种图形元素形成的一个场景的整体称为一个虚拟空间。在这个虚拟空间中的图形元素包括:几何体的定义数据,几何显示时的颜色、材质、透明度等属性,背景颜色,光线类型,场景的作用范围,视点、投影面及投影类型,对几何体的坐标变换等。
Java3D与Java一样对各种功能的组织同样采用父类、子类、对象实例的方式。Java3D中规定了在一个虚拟场景空间中各种图形元素的表示符号及虚拟场景空间的组织结构。在一个虚拟空间中可以包含多个Local节点。一个Local节点表示一个子场景的根节点。多个Local节点表示在该虚拟场景中有多个场景的根节点。但是在实际应用中最常使用的是在一个虚拟空间中只包含一个子场景,也就是只包含一个Local节点。在一个Local节点之下,可以包含一个到多个BranchGroup节点。每个BranchGroup节点表示一种图形元素的集合。这种图形元素的集合主要有两种:(1)定义几何体的数据与定义该几何体的颜色、材质、透明度等外观的属性;(2)定义该几何体在显示的时候在该场景中的其他元素,如背景颜色、光源类型、视点位置与观察方向、投影平面的位置、坐标变换等。在实际应用中,最常用的是一个Local节点下只含有一个BranchGroup节点。
在一个Local节点下只含有一个BranchGroup节点情况下,必须定义一个Shape3D对象,在该对象中定义几何体的数据与几何体的颜色、材质、透明度等外观显示特性,该Shape3D对象一般加入在一个TransformGroup类的节点中。在一个BranchGroup节点之下,可以包含多个TransformGroup节点。每个TransformGroup节点可以包含以各种或多种几何体的定义。也可以不包含几何体的定义信息。但是一个TransformGroup节点必须包含一个或多个Transform3D对象,表示对TransformGroup节点中定义的几何体所进行的坐标变换。一个Transform3D对象表示对几何体进行平移、旋转、变比等坐标变换中的一种,多个Transform3D对象的组合形成一个总的坐标变换矩阵,这个总的坐标变换矩阵就属于包含这些Transform3D对象的TransformGroup节点。如果该TransformGroup节点中没有定义几何体,则这种坐标变换是针对于第一次定义的几何体。如果在一个TransformGroup节点中没有定义任何的坐标变换,则该TransformGroup节点拥有默认的坐标变换矩阵,但该矩阵为单位矩阵,表示对几何体不进行任何变换。对于坐标变换的具体方法与内容将会在后面章节中详细介绍。View的功能主要是实现在虚拟场景中设置视点与观察方向。Canvas3D主要用来定义一种能够显示三位物体投影的画布。Screen3D主要将画布上三位物体的投影显示在显示器上。
Alpha节点元素对象提供了一种将一个时间值转换成Alpha值的公用方法。当采样时,Alpha对象实际上就是一个生成0-1数的与时间有关的函数。Alpha对象最基本的应用就是为插值的行为提供Alpha值。Alpha对象的特征由用户定义的参数决定。Alpha类主要用在动画设计中,对于Alpha类的使用可参考Alpha类的说明。
Java3D所采用的坐标系:在Java3D中,几何体定义也采用该坐标系,所有的坐标变换也是针对该坐标系进行的,坐标原点在显示器的正中间。Z轴指向屏幕之外。X轴的正向沿水平方向向右,Y轴的正向沿垂直方向向上。
下面用生成一个圆锥体的程序实例来说明Java3D程序的基本结构。该程序用来生成一个简单的椎体。(见例1.1创建与显示一个圆锥体)
该程序中各场景元素的关系结构如下
创建简单虚拟空间SimpleUniverse:
·创建BranchGroup节点对象,并将该对象加入虚拟空间中
定义虚拟空间中的球形范围BoundingSphere
定义虚拟空间中的背景颜色
定义虚拟空间中的光源类型、颜色
定义鼠标对物体的平移、旋转、放大功能
定义虚拟空间的坐标变换节点TransformGroup,并设置TransformGroup的读写属性
定义三维物体的几何数据
定义三维物体的颜色、材质等外观属性
·设置系统自动选取该虚拟空间的视点位置u.getViewingPlatform().setNominalViewingTransform(),并在投影面上对三维物体进行透视投影
·将投影平面上的三维物体的透视投影显示在画布Canvas3D上
Java3D低级的图形功能集成了如Direc
您可能关注的文档
- GARDENA德国嘉丁拿水泵培训资料.ppt.ppt
- hrfm缤纷色彩的炫丽插画欣赏.doc
- h组袁志远让安全成为一种习惯[课件]].ppt
- HOLLiAS—MACS系统培训教程系列之基础培训课程系统概述及硬件产品.ppt
- HOLLiAS—MACS系统培训教程系列之基础培训课程第四版.ppt
- H组袁志远让安全成为一种习惯.ppt
- HOLLiAS—MACSV系统培训教程系列之基础培训课程.ppt
- ICU常见引流管护理张慧_PPT课件.ppt
- ICD植入术后管理如何减少电击.ppt
- id__区域销售经理考核方案new.doc
- Java Web应用开发实用教程练习答案.doc
- Java Web应用开发技术实用教程第章 JSP中使用数据库.ppt
- iResearch张宝山中国移动广告行业年报.pptx
- Java_Web应用开发技术实用教程王红第章_JSP基础.ppt
- Introductory Chemistry, nd Edition Nivaldo Tro:化学导论,第二版尼瓦尔多周转率.ppt
- java毕业论文基于JAVA局域网聊天程序设计与实现+源码要源码的下载后留言+英语文献及翻译.doc
- java_web应用开发技术实用教程王红第章_jsp隐含对象.ppt
- JEE 课程设计实训项目——蓝梦网上商城——利用Spring 框架AOP技术实现对购物车中是否有购物信息的检查.doc
- Java Web应用开发实用教程资源龚永罡 陈秀新 等Java Web应用开发实用教程练习答案.doc
- JDHG二次结构砌筑施工技术交底..doc
最近下载
- NB∕T 47010-2017 承压设备用不锈钢和耐热钢锻件(高清版).pdf VIP
- 车辆风险预警方法、路侧控制单元及风险预警控制系统.pdf VIP
- 2025年版《中文核心期刊要目总览》.docx VIP
- 密码学基础-密码学.ppt VIP
- 中国国家标准 GB/T 4706.1-2024家用和类似用途电器的安全 第1部分:通用要求.pdf
- 灯具安装技术交底1.docx VIP
- 乙烯三机:发展与未来.pptx VIP
- NB/T 47008-2017 承压设备用碳素钢和合金钢锻件.pdf VIP
- 密钥管理与密钥分配现代密码学.ppt VIP
- 初中信息技术校本课程《遨游3D世界,利用三维设计软件制作创意作品》教案.doc VIP
文档评论(0)