首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
Java3D入门教程3:与Java平台技术结合
2012年3月20日    评论:    分享:

      来源:第三维度

      Java3D API是Sun定义的用于实现3D显示的接口。3D技术是底层的显示技术,Java3D提供了基于Java的上层接口。java3D用其自己定义的场景图和观察模式等技术构造了3D的上层结构,实现了在Java平台使用三维技术。本文在原理上着重介绍Java3D特有的两个重要概念:场景图(Scene Graph)、观察模式(View Model)。在接口使用上的介绍分为两部分:实例说明如何使用Java3D接口;说明如何将Java3D技术与Java原有的Web技术(JSP、Serverlet)相结合,在网页上实现三维显示。

   Java3D可以很容易的与Java平台的其他技术相结合,如Applet、JSP、Serverlet、JDBC、EJB等。100%的纯Java实现是Java3D可以与如此多的Java平台技术结合的根本原因:

   同是Java平台保证Java3D可以在Applet中实现;

   Applet使Java3D可以轻易的在网页中显示;

   JSP、Serverlet技术保证将动态网页技术用于Java3D显示;

   Serverlet本身就是J2EE平台的核心技术,这使得Java3D可以搭建于J2EE平台。更可以使用所有J2EE的其他技术:JDBC、EJB、JMS…

  1 在网页上显示3D图形

  Java3D一个最大的特性是可以使用Applet作为显示容器,例3和例4的代码分别显示了如何在Applet中显示3D图形和在网页文件中(HTML)嵌入该Applet。

    例1 Applet实现Java3D

   Public class HelloUniverse extends Applet {
    private SimpleUniverse u = null;
    public BranchGroup createSceneGraph() {
    BranchGroup objRoot = new BranchGroup();
    ….
    return objRoot;
    }
    public void init() {
    Canvas3D c = new Canvas3D(config);
    add("Center", c);
    ….
    u.addBranchGraph(scene);
    }
    ….
    }

    例2在网页嵌入显示3D Applet

    <HTML>
    <HEAD>
    <TITLE>Hello, Universe!</TITLE>
    </HEAD>
    <BODY BGCOLOR="#000000">
    <applet align=middle code="HelloUniverse.class" width=256 height=256>
    </applet>
    </BODY>
    </HTML>

  2 动态网页技术与Java3D

  通过Jsp和Serverlet,可以使Java3D在网页中"动"起来。虽然Java3D本身就有三维动画的功能,但是这里的"动"指得是赋予了程序编写人员对Java3D动态的控制能力。改造上面的HelloUniverse,例5 的jsp代码可以实现控制旋转的正方体大小的功能。通过每次Random对象生成的随机数,立方体的大小也是随即改变,这段程执行的效果,如图6、7所示。

Java3D入门教程3:与Java平台技术结合    Java3D入门教程3:与Java平台技术结合

    例3实现可以动态调整三位物体大小的jsp代码

    <HTML>
    <HEAD>
    <TITLE>
    <%@ page contentType="text/html; charset=GBK" %>
    <HTML>
    <HEAD>
    <TITLE>Hello, Universe!</TITLE>
    </HEAD>
    <BODY BGCOLOR="#000000">
    <%int i=300;%>
    <%float j=i*(new java.util.Random()).nextFloat();%>
    <applet align=middle code="HelloUniverse.class" width=<%=j%> height=<%=j%>>
    </applet>
    </BODY>
    </HTML> 

  3 J2EE平台对Java3D的支持

  上面的例子只是通过动态设定Applet大小来控制Java3D的显示,实际上可应通过更多的方法实现Jsp、Serverlet对Java3D显示效果的控制,甚至可以将Java3D置于J2EE平台的显示层,实现对EJB、JDBC的调用。

  实现Java3D利用J2EE平台资源的方法很多,甚至可以直接在Java3D的实现类中直接调用EJB。但是从J2EE平台的设计模式出发,把对EJB调用放到Jsp中,而将返回的结果作为参数传入实现Java3D的Applet类中是一个更好的模式。具体代码见例6。

    例4 调用EJB作为Java3D参数代码

    <applet align=middle code="HelloUniverse.class" width=200 height=200>
    <param name="Data" value=<%=data%>>
    </applet>
    </BODY>

    </HTML>

  上面的代码首先访问JNDI名为"Customer"的EJB,然后将返回值作为参数传入实现Java3D的Applet。

  Java3D与J2EE是相互支持的关系:Java3D丰富、强化了J2EE的显示模式,使略显枯燥的J2EE客户端光鲜多彩;J2EE平台为Java3D提供了支持,功能强大的Server端处理能力为三维显示所需的复杂计算和大数据量提供了有力的支持。

  我们可以想象下面的两幅场景:

  通讯卫星将全国所有道路、建筑信息录入大型数据库;EJB实现应用逻辑并将之部署到AppServer上;所有支持JVM的手机、PDA、车载GPS可以通过调用EJB显示与真实世界一模一样的周围环境。

  地震局根据实际勘测到的地表等高线信息绘制二维矢量图,存为FDX文件;将二维图像转为三维实现的复杂算法放到EJB中实现;Jsp页面调用EJB后可以在Appet上实现三维GIS的显示。

  有了Java3D和Java,这一切都不只是梦想。

标签:Java3D
上一篇:Java3D入门教程2:新的观察模式
下一篇:微软开发激光投影3D虚拟现实眼镜 并申请专利
网友评论:Java3D入门教程3:与Java平台技术结合
评论
留名: 验证码:
您可能还需要关注一下内容:
·Java3D应用于现代远程教育的关键技术
·Java3D应用于现代远程教育的关键技术
·Java3D实现浮动小球游戏
·Java3D入门教程3:与Java平台技术结合
·Java3D入门教程2:新的观察模式
·java3D入门教程1:场景图结构
·java3D 构建三维人体模型的方法
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号