- 浏览: 590622 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (365)
- Java 基础知识(笔试面试有用) (35)
- SQL 相关 (11)
- Oracle笔试 (1)
- Java 笔试面试 (11)
- LINUX (12)
- ExtJS (21)
- Javascript (17)
- WebGIS (2)
- 软件工程 (3)
- 数据库 (17)
- 项目管理 (63)
- 工作流 (2)
- 计算机网络 (3)
- ZigBee技术及应用 (24)
- 单片机(AVR Studio) (7)
- 项目人力资源管理 (3)
- 项目管理高级知识 (4)
- JAVA技术 (12)
- 项目管理中的概念 (3)
- SQL SERVER (1)
- C++ (1)
- C/C++编程经验 (12)
- C和C++面试笔试题 (12)
- 其他IT技术笔试面试 (6)
- 名企笔试面试集锦 (16)
- 非技术 (10)
- C#相关 (1)
- Matlab相关 (2)
- 计算机专业课相关 (2)
- Web Service (1)
- Excel 使用 (1)
- PhotoShop相关 (4)
- ASP 相关 (2)
- android (1)
- Java WEB 相关 (1)
- web 安全相关 (7)
- 网络安全 (1)
- IBatis (1)
- web 开发技巧 (2)
- css 相关 (1)
- Ruby相关 (2)
- 生活 (3)
- 操作系统安全相关 (6)
- 操作系统相关 (1)
- PHP相关 (3)
- 开发经验 (12)
- Redis (1)
最新评论
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.Geometry;
import javax.media.j3d.GeometryArray;
import javax.media.j3d.IndexedLineArray;
import javax.media.j3d.Shape3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Point3f;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
//import javax.media.jai.ColorCube;
// MouseRotateApp renders a single, interactively rotatable cube.
public class MouseRotateApp extends Applet {
public BranchGroup createSceneGraph() {
// Create the root of the branch graph
BranchGroup objRoot = new BranchGroup();
TransformGroup objRotate = new TransformGroup();
objRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objRoot.addChild(objRotate);
objRotate.addChild(new ColorCube(0.4));
objRoot.addChild(new Axis());
MouseRotate myMouseRotate = new MouseRotate();
myMouseRotate.setTransformGroup(objRotate);
myMouseRotate.setSchedulingBounds(new BoundingSphere());
objRoot.addChild(myMouseRotate);
// Let Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
} // end of CreateSceneGraph method of MouseRotateApp
// Create a simple scene and attach it to the virtual universe
public MouseRotateApp() {
setLayout(new BorderLayout());
GraphicsConfiguration config=SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3D=new Canvas3D(config);
add("Center", canvas3D);
BranchGroup scene = createSceneGraph();
// SimpleUniverse is a Convenience Utility class
SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
// This will move the ViewPlatform back a bit so the
// objects in the scene can be viewed.
simpleU.getViewingPlatform().setNominalViewingTransform();
simpleU.addBranchGraph(scene);
} // end of MouseRotateApp (constructor)
// The following allows this to be run as an application
// as well as an applet
public static void main(String[] args) {
System.out
.print("MouseRotateApp.java \n- a demonstration of using the MouseRotate ");
System.out
.println("utility behavior class to provide interaction in a Java 3D scene.");
System.out
.println("Hold the mouse button while moving the mouse to make the cube rotate.");
System.out
.println("This is a simple example progam from The Java 3D API Tutorial.");
System.out.println("The Java 3D Tutorial is available on the web at:");
System.out.println("http://www.sun.com/desktop/java3d/collateral");
Frame frame = new MainFrame(new MouseRotateApp(), 256, 256);
} // end of main (method of MouseRotateApp)
} // end of class MouseRotateApp
/*
* Getting Started with the Java 3D API written in Java 3D
*
* This program demonstrates: 1. writing a visual object class In this program,
* Axis class defines a visual object This particular class extends Shape3D See
* the text for a discussion. 2. Using LineArray to draw 3D lines.
*/
class Axis extends Shape3D {
// //////////////////////////////////////////
//
// create axis visual object
//
public Axis() {
this.setGeometry(createGeometry());
}
private Geometry createGeometry() {
// create line for X axis
IndexedLineArray axisLines = new IndexedLineArray(18,
GeometryArray.COORDINATES, 30);
axisLines.setCoordinate(0, new Point3f(-1.0f, 0.0f, 0.0f));
axisLines.setCoordinate(1, new Point3f(1.0f, 0.0f, 0.0f));
axisLines.setCoordinate(2, new Point3f(0.9f, 0.1f, 0.1f));
axisLines.setCoordinate(3, new Point3f(0.9f, -0.1f, 0.1f));
axisLines.setCoordinate(4, new Point3f(0.9f, 0.1f, -0.1f));
axisLines.setCoordinate(5, new Point3f(0.9f, -0.1f, -0.1f));
axisLines.setCoordinate(6, new Point3f(0.0f, -1.0f, 0.0f));
axisLines.setCoordinate(7, new Point3f(0.0f, 1.0f, 0.0f));
axisLines.setCoordinate(8, new Point3f(0.1f, 0.9f, 0.1f));
axisLines.setCoordinate(9, new Point3f(-0.1f, 0.9f, 0.1f));
axisLines.setCoordinate(10, new Point3f(0.1f, 0.9f, -0.1f));
axisLines.setCoordinate(11, new Point3f(-0.1f, 0.9f, -0.1f));
axisLines.setCoordinate(12, new Point3f(0.0f, 0.0f, -1.0f));
axisLines.setCoordinate(13, new Point3f(0.0f, 0.0f, 1.0f));
axisLines.setCoordinate(14, new Point3f(0.1f, 0.1f, 0.9f));
axisLines.setCoordinate(15, new Point3f(-0.1f, 0.1f, 0.9f));
axisLines.setCoordinate(16, new Point3f(0.1f, -0.1f, 0.9f));
axisLines.setCoordinate(17, new Point3f(-0.1f, -0.1f, 0.9f));
axisLines.setCoordinateIndex(0, 0);
axisLines.setCoordinateIndex(1, 1);
axisLines.setCoordinateIndex(2, 2);
axisLines.setCoordinateIndex(3, 1);
axisLines.setCoordinateIndex(4, 3);
axisLines.setCoordinateIndex(5, 1);
axisLines.setCoordinateIndex(6, 4);
axisLines.setCoordinateIndex(7, 1);
axisLines.setCoordinateIndex(8, 5);
axisLines.setCoordinateIndex(9, 1);
axisLines.setCoordinateIndex(10, 6);
axisLines.setCoordinateIndex(11, 7);
axisLines.setCoordinateIndex(12, 8);
axisLines.setCoordinateIndex(13, 7);
axisLines.setCoordinateIndex(14, 9);
axisLines.setCoordinateIndex(15, 7);
axisLines.setCoordinateIndex(16, 10);
axisLines.setCoordinateIndex(17, 7);
axisLines.setCoordinateIndex(18, 11);
axisLines.setCoordinateIndex(19, 7);
axisLines.setCoordinateIndex(20, 12);
axisLines.setCoordinateIndex(21, 13);
axisLines.setCoordinateIndex(22, 14);
axisLines.setCoordinateIndex(23, 13);
axisLines.setCoordinateIndex(24, 15);
axisLines.setCoordinateIndex(25, 13);
axisLines.setCoordinateIndex(26, 16);
axisLines.setCoordinateIndex(27, 13);
axisLines.setCoordinateIndex(28, 17);
axisLines.setCoordinateIndex(29, 13);
return axisLines;
} // end of Axis createGeometry()
} // end of class Axis
附件中有效果和jar包
j3d-1_5_2-windows-i586.zip的使用:
解压--》里边有j3d-jre.zip,继续解压j3d-jre.zip。--》里边有bin 和 lib 文件夹, 其中lib文件夹中是我们需要的jar包,要完整的添加到CLASSPATH中,bin文件夹下的dll 文件 要放在 jdk/jre/lib/ext(机器中的JAVA安装目录) 中。
评论
发表评论
-
Java 反射实例
2012-12-21 11:19 1343import java.lang.reflect.Met ... -
java.lang.IndexOutOfBoundsException: replaceAll 转义
2012-12-12 13:10 1184java.lang.IndexOutOfBoundsEx ... -
Java 设计模式
2012-09-25 22:19 3638Java设计模式-图解-附代码 ... -
Java 基础学习
2012-09-25 22:17 916Java语言基础 谈到Java语言基础学习的书籍, ... -
转载的一篇关于如何优化JAVA代码及提高效率的文章
2012-09-23 09:49 2163可供程序利用的资源(内存、CPU时间、网络带宽等)是有限 ... -
面向对象
2012-09-21 21:04 923重写方法规则如下: * 变元 ... -
声明和访问控制
2012-09-19 09:00 1009Java合法标识符规范 (1)标识符必须以字母,货币符 ... -
break continue 用法
2012-09-07 08:48 10681.一般的用法:continue 和break用于跳出循 ... -
Java线程唤醒与阻塞
2012-09-01 17:09 18296阻塞指的是暂停一个线 ... -
用Java实现常用排序算法
2012-09-01 17:02 849package com.zhaopin; publ ... -
JAVA面试宝典-05
2012-08-22 22:25 1122101、java中会存在内存泄 ... -
JAVA面试宝典-04
2012-08-22 22:18 83471、简述synchronized和java. ... -
JAVA面试宝典-03
2012-08-22 22:16 89651、垃圾回收的优点和 ... -
JAVA面试宝典-02
2012-08-22 22:14 92311、HashMap和Hashtable的区别。 HashM ... -
JAVA面试宝典-01
2012-08-22 22:11 8781、String是最基本的数据 ... -
fatJar 安装与使用
2012-04-06 21:50 2116打包成双击可执行的jar文件。 推荐插件:fat ... -
Java 初始化
2011-10-22 10:54 991Java中方法的局部变量必须要初始化,否则不能使用和操作, ... -
Java 清理
2011-10-22 10:03 898在static方法内部不能调用非静态方法,反过来是可以的。 ... -
Java 构造器
2011-10-22 09:15 751在构造其中可以用this调用一个构造器,但却不能调用两个。 ... -
return break continue
2011-10-21 19:44 1100return :两方面的用途,一方面指定一个方法返回什么值,另 ...
相关推荐
java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java3d开发jar包java...
java 3D开发包,exe文件,安装后,就可以在JDK目录下看到一个名为“Java3D”的文件夹,里面就是java 3D开发工具,\Java3D\1.5.1\lib\ext\ 目录下有三个jar包,分别为j3dcore.jar、j3dutils.jar、vecmath.jar,开发...
Java 3D 开发教程 0openGl函数集 OpenGL编程入门 OpenGL三维图形编程指南
Java 3D开发,Java 3D开的电书
该压缩软件包含java环境下三维开发工具
有3个不同版本的Java 3D开发包,选择合适的进行安装即可,安装后你就可以使用其中的.jar文件,导入到你的项目工程中即可
初学java3d的人员很有必要下载该教程,本人感觉这资料还挺好用的。建议大家看看
JAVA 3D开发工具包(3个版本),java3d-1_3、java3d-1_4、java3d-1_5,加一个例子。例子代码如下: import java.awt.GraphicsConfiguration; import javax.media.j3d.Alpha; import javax.media.j3d....
java3D开发环境搭建详细步骤和所需插件打包下载,都是最新版的插件,我在Myeclipse7.5上测试通过。放心下载。
JAVA_3D开发指导(经典),作为java 3D技术开发的必读教程
java3D开发环境搭建详细步骤和3个所需插件打包下载。
java3d源码Java3D API 资源 下载 Java3D 1.5.2(Sun Microsystems/Oracle 的最终稳定版本) Java3D 1.6.1(JogAmp 社区的最新稳定版本) 安装 解压 Java3D 1.5.2 版本 Eclipse/Netbeans 安装 1.5.2 安装 Java3D ...
本教程是J2ME开发网组织网友翻译的SonyEricsson开发者世界的Mobile Java 3D的文章的集合。已经得到了SonyEricsson的授权,本文未经J2ME开发网许可不得转载。 本教程是学习Mobile Java 3D的最好参考资料,在此...
一个不错的JAVA3D包,希望大家喜欢
j3dcore.jar,j3dutils.jar,vecmath.jar
内含:java3d-1_5_1-api-docs.zip java3d-1_5_1-windows-i586.exe Java 3D 编程实践_源码.exe
java3d入门教程,中文 非常适合入门学习
用java3d开发的骨骼3d图形源码。 用java3d开发的骨骼3d图形源码。 用java3d开发的骨骼3d图形源码。 用java3d开发的骨骼3d图形源码。