基于Java3D的三维模型交互设计系统的开发与应用Word格式.docx
- 文档编号:16840945
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:8
- 大小:555.65KB
基于Java3D的三维模型交互设计系统的开发与应用Word格式.docx
《基于Java3D的三维模型交互设计系统的开发与应用Word格式.docx》由会员分享,可在线阅读,更多相关《基于Java3D的三维模型交互设计系统的开发与应用Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
基于Java3D的三维模型交互设计系统的开发与应用
丘 威
(嘉应学院计算机科学与技术系,广东梅州514015
摘 要:
首先概括地介绍了Java3D技术在三维模型交互设计的应用.提出了采用Java3D用于虚拟三维模型的描述,通过远端客户机读取服务端客户上传的三维图形数据,,使用程序提供的绘图工具对图形进行编辑并将结果保存到服务端相应的文件,间的信息交互,共享数字化的设计信息,使Internet关键词:
Java3D;
VRML;
Web3D;
虚拟场景
中图分类号:
TP129 :
:
-7180(200811-0195-04
Applicationof3DModelInteraction
DesignSystemBasedonJava3D
QIUWei
(DepartmentofComputerScienceandTechnology,JiayingUniversity,Meizhou514015,China
Abstract:
ThispaperintroducedtheJava3Dapplicationin3Dmodelinteractiondesign,adopttheClient/Serverstructureanddistributingcomputingmodeltodesignthesystemstructure,putforwardthemethodtocatchthe3Dsceneobjectin2stanceandpresentedthewanderingmethodtoimplementvirtualsceneintheJava3Dscene.WithJava3D,implementtheinteraction3DMscenewiththeuser,andimplementapartofdetail.Keywords:
virtualscene
1 引言
Java3D是Sun定义的用于实现3D显示的编程
接口,Java3D提供了基于Java的上层接口.Java3D把OpenGL和DirectX这些底层技术包装在Java接口中.这种全新的设计使3D技术变得不再繁琐并且可以加入到J2SE、J2EE的整套架构,这些特性保证了Java3D技术强大的扩展性.文中提出了采用Java3D用于三维模型的描述,采用Java3D实现虚拟
三维模型交互显示,实现与用户交互的虚拟三维交
互建模实现方案,本系统是通过远端客户机读取服务端客户上传的三维图形数据,并在Web页上对三维格式的机械设计图、建筑模型图等等进行还原,不同地域间的用户不仅可以在终端机器上完成对三维
模型实体的浏览、缩放、移动、操作,还可以使用程序提供的绘图工具对图形进行编辑并将结果保存到服务端相应的文件,通过对服务器端文件的读写操作来实现用户之间的信息交互,有助于减少工程师、建筑师和其他用户之间进行交流的障碍,并使他们可以更多地共享数字化的设计信息,使Internet成为设计工作的主要协作平台.
2 用Java3D描述系统模型
Web3D联盟是Web3D技术管理组织,主要负
责有关Web3D标准的研究、定义和推广工作,为了适应Web的新应用[1].尽管VRML在Web3D应用中已比较广泛[2],但也存在其局限性:
首先是浏览VRML场景需要下载安装相应的浏览器插件,使用
户感到不便.另外VRML是用于建立基于互联网的虚拟场景的描述语言,其提供的交互能力很不足,场景描述信息与程序控制脚本共存与一个VRML文件中不便开发者使用.有不少的计算机公司推出了各种不同的Web3D实现方案,Sun公司公布的Ja2va3D则为Web3D提供了语言级的支持,Java3D是Java用于三维程序编程的一组API.Java语言面向
对象和跨平台特性,使得Java3D特别适合网络环境上的应用[3].无插件的Web3D应用一般采用Java开发,用户在下载三维场景的同时,三维渲染引擎则以Applet小程序的形式被下载到客户端执行.
本系统完全使用面向对象的Java程序设计,Ja2va3D技术作为一种较新的技术,台上有着突出的优势.其中的JavaApplet据库编程,SP本系统分为服务,上传文件的功能,主要采用了Java文件上传和JD2BC技术.在数据库方面,使用了MySql.服务器端程序和客户端程序通过HTTP连接作为服务器和客户端的数据交互接口.客户端则提供了图形数据的还原和编辑图形的功能,采用了JavaApplet的方式,JavaApplet可嵌在网页上运行的特性和Java3D强大的图形表现能力为开发系统提供了有力的技术支持[4].Java语言的平台无关性和MYSQL数据库的跨平台性,使得本项目软件适合不同平台下的用户.在数据调度策略方面本系统采用一次性全部装载三维格式文件数据,数据驻留客户端机器内存的方法,节约了传送的代价,减轻了服务器端的压力,加快了客户端的反应速度.系统模型如图1所示
.
图1 Web环境下的系统功能模型图
Java3D是Java在三维图形方面的扩展,同时结
合了Java语言的网络功能,很好地解决了网络,跨平台环境的三维可视化问题.对于一些高级应用,如实现计算过程的三维可视化、复杂的交互功能等,Java3D具有比VRML无法相比的能力[5].另外,大量的研究集中在Web3D及虚拟现实等技术的实施细节之上,针对这些问题给出了很多优秀的算法,这些成果有待于进一步转化为实际应用.
采用Java3D作为基于网络的虚拟建筑环境的开发平台,有助于在应用中不断采用更为先进的算法,形成独立的技术核心[6].Java本身是一种编程语言,,,而采用其他商.采用Java3D实现三维虚拟场,用户与三维场景交互以及其他与虚拟环境相关功能,如场景外观纹理的实时替换,在三维场景内实现建筑属性的查询等.
3 逻辑结构设计
本系统的逻辑结构的三维的数据结构采用的是SceneGraphsStructure(场景图,就是一些具有方向性的不对称图形组成的树状结构.Java3D场景图是一棵由两个部分或分支组成的树,这两个部分是:
内容(content和视图(view.视图分支含有复杂Ja2va3D视图模型的所有细节,它还定义视点.内容分支描述了您将在场景中看到什么.它包含所有图形对象(球体、立方体或更复杂的几何对象、用来移动它们的转换、光、行为、组节点和烟雾.大多数工作将集中在内容分支上.本系统的JAVA3D场景数据结构图如图2所示
图2 Java3D三维模型图数据结构图
在一个Java3D应用程序看到的逼真三维模型
6
91微电子学与计算机2008年
从程序的角度看来,实际就是由Java3D定义的一系列的对象,这些对象不是杂乱无序,对象之间也不是毫无关系.如果想让三维图像正常显示,必须在这两点上遵循Java3D场景图的规定.基于Java3D的虚拟3D模型表现还使用协同处理策略,将客户的请求分散处理,根据当前客户端和服务器的CPU使用情况和网络占用情况,自动分配计算任务,能大大降低整个系统对服务器的依赖,有效提高系统整体性能.在3D模型表现环境的应用中,经常需要获得单个类型3D模型表现对象实例,因为许多行为和操作都是针对单个3D模型对象,比如3D模型中有若干栋建筑,需要在Java3D程序的运行时刻将它的外观(表面纹理改变,来观察其在环境中不同的效果如果在一个VRML,将其导入到Java3D象进行处理.Shape3DGeome2try对象的引用.Shape3D对象除了定义了三维形体的几何特征,还定义了形体的外观(Appearance属性.一个VRML的Shape对象被导入到Java3D3D模型中将被转换为Java3D的Shape3D对象,这样就动态地访问该对象.例如要改变一个Shape3D的外观属性,那么首先要做的是将外观属性设为可写.shape3D.setCapability(ALLOWAPPEARANCEWRITE;
然后就可以对Shape3D对象的Appear2ance对象进行操作了.在程序运行中还可以动态的
删除或添加Shape3D节点,从而可以实现3D模型
替换的功能.
4 系统实现
4.1 系统功能实现
本系统所构造的3D模型,必须运行一个Ja2va3D程序.这个Java3D应用程序必须首先创建一个虚拟3D模型对象并且至少把一个Locale对象附加之上.然后,构建出需要的3D模型型体,它由一个分支组结点开始并且包括至少一个观察平台对象,而3D模型型体就是附加于这个观察平台.当一个包含3D模型型体的观察对象被附加于一个虚拟3D型体,Java3D的渲染循环就开始工作.这样,3D模型型体就会和它的观察对象一起被绘制在画布上.系统的设计采用了三层模式的结构,用户只需打开浏览器链接到服务器,浏览器就会自动将客户端程序下载到本地机器运行,通过与服务端程序的通讯实现了图形数据的传输,达到了让不同地域的图
形设计人员与用户,设计人员与设计人员之间对各种3D设计软件生成的图形进行交互式设计的目标.
本系统可以在Web方式下自由地浏览3D数据文件(3DS,OBJ,J3D,还可扩展其他格式,而不需要另外花钱购买并安装3D设计软件(如3DMAX,MAYA等,也不需要用户下载并安装额外的浏览器插件.三维模型在本系统可以完全“复原”回在其他3D设计软件(如3DMAX等的3D效果.如图3所示为在3DMAX3D模型型体效果
图.图4模型型体效果图
图3 在3DMAX中设计的一个船3D模型效果图
图4 在本系统中表现的船3D模型效果图
本系统具有一定的建模功能,并且模型是可以按照客户自己的意愿进行个性化定制,如图5用户想添加一个棱锥,系统可以根据用户的输入是多少棱锥而创建具体的实体.可以根据用户的输入来决定球体是高精度还是低精度.同时可以在本系统进行场景图的灯光效果,实体外观颜色,实体外观贴图,位置,大小等的编辑.4.2 三维模型交互设计的实例
第一步:
启动服务器程序的服务功能.
第二步:
在A和B两台计算机的浏览器的地址栏分别输入服务端的地址,连接到服务端的登陆页面.
第三步:
A机和B机经过验证登陆后,进入工作
7
91 第11期丘威:
基于Java3D的三维模型交互设计系统的开发与应用
图5 在本系统中添加各种自定义的3D实体
区页面,它们的浏览器就会自动下载服务端的JavaApplet程序.A机和B机的显示画面.
第四步:
A机和B机用户都点击钮,,假定A和B.
第五步:
在B和C3DMAX中的显示效果相符合.在客户端A中使用程序提供的编辑工具,如实体顶点坐标编辑工具对实体进行编辑.在这里先选中棱锥,再点击“形体变换”按钮,接着选择方向,这里选择X方向,于是按键盘的X键,最后用鼠标拖动一定的距离,就可以实现对实体的顶点坐标进行编辑.A机编辑完成后,就可以看见A机最后显示的场景图效果了.
第六步:
当A机提交了修改结果后,在B机中使用程序提供的刷新功能,即点击【刷新】按钮来更新当前场景图,得到图编辑的结果就是刚刚在A中修改后的结果,如图5所示.同样,使用其他工具来编辑实体或增删实体,A机和B机分别进行绘制和保存操作,都得到了相同的测试效果,实现了图形在A机和B机之间的交互设计.
5 结束语
Java3D丰富的Java及Java3D类库支持可用于
实现复杂的编程行为.特别是应用Java3D可以快速
地开发Web上的3D应用.文中提出采用VRML和
Java3D相结合的技术,建立虚拟3D模型型体环境
的应用框架.实现对虚拟3D模型型体环境中的3D模型对象的操作需要获取该对象,给出了在Java3D中获取3D模型对象实例的方法和给出了在Java3D模型型体中实现虚拟3D模型型体表现的方法.基于Java3D的3D模型型体的客户端表现的基本功能是虚拟空间信息的图形表达,是以国际Web3D协会正在开发中的网络三维信息传输标准X3D为基础,将三维信息和与三维空间关联的多媒体信息在客户端以图形的方式呈现给用户.本系统为用户提供了(如3DMAX,Maya、编辑的功能,可以让,让3D模型型体草图的同时还可以对模型进行简单的修改,并将修改的数据反馈给设计人员,设计人员则可以根据用户的建议对草图作进一步的修改,从而节省了劳力和成本,达到工程设计人性化、智能化的管理,为设计者和用户之间的交流架起了一座简单快捷有效的桥梁.参考文献:
[1]孙瑾秋,张艳宁,潘俊军,等.颌面三维测量技术研究
[J].微电子学与计算机,2007,24(4:
165-167.[2]Web3D.Virtualrealitymodelinglanguage,ISO/IEC
14772-1[S].StandardInternational,1997:
34-38.[3]李银兵,闫敬.基于虚拟现实技术的可视化生态复垦
[J].微电子学与计算机,2007,24(2:
200-202.[4]邹经宇,薛玉彩.基于城市虚拟三维环境的城市公共空
间视觉延续性的比较研究[C]//第二届“虚拟现实与地理学”学术研讨会学术论文集.北京,2002:
110-119.
[5]杨宝民,朱一宁.分布式虚拟现实技术及其应用[M].北
京:
科学技术出版社,2000:
1-10.
[6]丘威,张立臣,钟治初.在线虚拟电子电路实验室的
VRML实现[J].微电子学与计算机,2007,24(2:
62-64.
作者简介:
丘 威 男,(1974-,硕士,讲师.研究方向为虚拟现实技术和软件工程.
8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java3D 三维 模型 交互 设计 系统 开发 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)