- 浏览: 606900 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (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 1391import java.lang.reflect.Met ... -
java.lang.IndexOutOfBoundsException: replaceAll 转义
2012-12-12 13:10 1227java.lang.IndexOutOfBoundsEx ... -
Java 设计模式
2012-09-25 22:19 3708Java设计模式-图解-附代码 ... -
Java 基础学习
2012-09-25 22:17 956Java语言基础 谈到Java语言基础学习的书籍, ... -
转载的一篇关于如何优化JAVA代码及提高效率的文章
2012-09-23 09:49 2205可供程序利用的资源(内存、CPU时间、网络带宽等)是有限 ... -
面向对象
2012-09-21 21:04 962重写方法规则如下: * 变元 ... -
声明和访问控制
2012-09-19 09:00 1096Java合法标识符规范 (1)标识符必须以字母,货币符 ... -
break continue 用法
2012-09-07 08:48 11131.一般的用法:continue 和break用于跳出循 ... -
Java线程唤醒与阻塞
2012-09-01 17:09 18340阻塞指的是暂停一个线 ... -
用Java实现常用排序算法
2012-09-01 17:02 892package com.zhaopin; publ ... -
JAVA面试宝典-05
2012-08-22 22:25 1163101、java中会存在内存泄 ... -
JAVA面试宝典-04
2012-08-22 22:18 87571、简述synchronized和java. ... -
JAVA面试宝典-03
2012-08-22 22:16 93951、垃圾回收的优点和 ... -
JAVA面试宝典-02
2012-08-22 22:14 95711、HashMap和Hashtable的区别。 HashM ... -
JAVA面试宝典-01
2012-08-22 22:11 9261、String是最基本的数据 ... -
fatJar 安装与使用
2012-04-06 21:50 2160打包成双击可执行的jar文件。 推荐插件:fat ... -
Java 初始化
2011-10-22 10:54 1025Java中方法的局部变量必须要初始化,否则不能使用和操作, ... -
Java 清理
2011-10-22 10:03 933在static方法内部不能调用非静态方法,反过来是可以的。 ... -
Java 构造器
2011-10-22 09:15 811在构造其中可以用this调用一个构造器,但却不能调用两个。 ... -
return break continue
2011-10-21 19:44 1139return :两方面的用途,一方面指定一个方法返回什么值,另 ...
相关推荐
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开发时,需要注意版权问题,因为有些模型和资源可能受版权保护。在应用这些资源时,如果用于商业目的,务必确保自己拥有使用权或已经取得了相应的授权。 由于教程是基于网络资源提供的,建议在...
这个开发包包含多个版本,如java3d-1_3-windows-i586-directx-sdk.exe、java3d-1_5_1-windows-i586.exe和java3d-1.5.0.exe,分别对应不同的更新和优化,适应不同开发者的需求。 1. **Java 3D API**: Java 3D API...
Java 3D开发教程是针对使用Java语言进行三维图形编程的学习资源,主要涵盖了OpenGL函数集的使用、OpenGL编程的基础知识以及三维图形编程的指南。在Java 3D领域,开发者可以利用强大的Java API来创建复杂的三维场景,...
7. **使用Java3D开发工具包**:从提供的文件名`java3D开发工具包.rar`来看,这可能包含了一些有用的示例代码、文档或工具。解压后,研究其中的内容,可以帮助更好地理解和使用Java3D。 8. **参考搭建指南**:`搭建...
java 3D开发包,exe文件,安装后,就可以在JDK目录下看到一个名为“Java3D”的文件夹,里面就是java 3D开发工具,\Java3D\1.5.1\lib\ext\ 目录下有三个jar包,分别为j3dcore.jar、j3dutils.jar、vecmath.jar,开发...
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开发入门指导.pdf**:这份文档将深入讲解Java 3D的基础知识,包括安装、设置、基本对象创建以及 scenegraph 的构建。 - **官方文档**:Oracle提供的Java 3D官方文档是学习API的权威来源。 - **开源项目*...
这个开发包包含了三个核心的JAR文件:`j3dcore.jar`、`j3dutils.jar`和`vecmath.jar`,这些都是Java3D开发的重要组件。 1. `j3dcore.jar`: 这是Java3D的核心库,包含了大部分的Java3D API。它提供了场景图(Scene...
Java 3D开发,Java 3D开的电书
《移动Java 3D开发指南》是一本专为开发者准备的深入教程,旨在帮助读者掌握在移动设备上使用Java进行3D图形编程的技术。通过学习本书,你可以了解到如何利用Java技术构建富有交互性和视觉吸引力的3D应用,尤其是在...
在本文中,我们将深入探讨Java3D开发环境的搭建过程,并提供必要的插件下载信息。 首先,你需要确保已经安装了Java Development Kit (JDK),这是使用Java3D的前提。JDK是Java编程的基础,包含了编译器、调试工具和...
移动Java 3D开发是Java技术在移动设备上实现三维图形和游戏的一种方式。随着智能手机和平板电脑性能的提升,3D图形在移动平台上的应用越来越广泛,这本《移动Java 3D开发指南》正是为了解决开发者在这个领域的学习...
开发3D应用时,Java3D提供了一些关键类,如`SceneGraphObject`作为所有3D对象的基类,`BranchGroup`用于组织场景中的多个对象,`TransformGroup`用于控制对象的位置和旋转,`Shape3D`用于表示基本几何形状,以及`...
在实际开发中,Java3D可以应用于多种领域,如虚拟现实、科学可视化、游戏开发和教育软件。它简化了3D图形编程,使得具有Java背景的开发者无需深入学习OpenGL底层细节,也能创建引人入胜的3D应用。虽然现代的Java图形...
移动Java 3D开发主要涉及的是在J2ME(Java 2 Micro Edition)平台上构建三维图形应用程序的技术。J2ME是Java的一个子集,专为资源有限的移动设备设计,如手机和平板电脑。本指南重点讲解了如何在这些设备上实现令人...
在Java 3D开发中,有几个关键的jar包是必不可少的,这些包在提供的描述中已经列出: 1. **j3d-core-1.3.1.jar**:这是Java 3D的核心库,包含了实现3D图形功能的基本类和接口。它提供了一个面向对象的API,用于构建...
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的最好参考资料,在此...