快速业务通道

使用Java3D实现三维图像 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
ewingPlatform.setViewPlatformBehavior(orbit); ….

例2 建立、移动观察点代码

4 将Java3D与Java平台技术的结合

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…

4.1 在网页上显示3D图形

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

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); } …. }例3 Applet实现Java3D

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

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

使用Java3D实现三维图像(9)

时间:2010-12-10

4.2 动态网页技术与Java3D

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

<%@ 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>

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

使用Java3D实现三维图像 - 编程入门网

图6 Jsp显示效果1

使用Java3D实现三维图像 - 编程入门网

图6 Jsp显示效果2

4.3 J2EE平台对Java3D的支持

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

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

<%@ page contentType="text/html; charset=GBK" %> <%@ page import="javax.ejb.*" %> <%@ page import="java.rmi.*"%> <%@ page import="javax.rmi.PortableRemoteObject"%> <%@ page import="javax.naming.*"%> <%@ page import="java.util.Properties"%> <HTML> <HEAD> <

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号