一个最简单的Java3D的例子。
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.GraphicsConfiguration;
import javax.media.j3d.Alpha;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.RotationInterpolator;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.vecmath.Point3d;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class HelloUniverse extends Applet {
private static final long serialVersionUID = 41293118815177506L;
private SimpleUniverse u = null;
public BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
// 创建一个3D对象,正方体
objTrans.addChild(new ColorCube(0.4));
Transform3D yAxis = new Transform3D();
Alpha rotationAlpha = new Alpha(-1, 6000);
RotationInterpolator rotator = new RotationInterpolator(rotationAlpha,
objTrans, yAxis, 0.0f, (float) Math.PI * 2.0f);
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0),
100.0);
rotator.setSchedulingBounds(bounds);
objRoot.addChild(rotator);
objRoot.compile();
return objRoot;
}
public HelloUniverse() {
}
public void init() {
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse
.getPreferredConfiguration();
Canvas3D c = new Canvas3D(config);
add("Center", c);
BranchGroup scene = createSceneGraph();
u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public void destroy() {
u.cleanup();
}
public static void main(String[] args) {
new MainFrame(new HelloUniverse(), 512, 512);
}
}
分享到:
相关推荐
3D正方体
在Java编程语言中,"Gr3d1m.rar_Gr3d_java体_java正方体"这个主题主要涉及的是使用Java的图形库来创建和操纵3D正方体。在这个项目中,开发者通过编程实现了一个可以显示边框,并且能够根据鼠标事件动态旋转的3D...
在Java编程语言中,"Gr3d1m.rar_java体_java正方体"这个主题主要涉及到3D图形绘制和交互式应用开发。我们将探讨如何在Java中使用基本的图形库来实现一个带有边框的正方体,并通过监听鼠标事件来实现正方体的动态旋转...
Java开发 openGL-es 3D 正方体,触摸旋转,照片贴图,ANDROID的源代码-openGL-es 3D cube, touch rotation, photo mapping, ANDROID source code
ColouredTile.java 是一个派生自 Shape3D 类的 Tile 对象,负责实现一个正方体平面,用来为 CheckerFloor 类实现棋盘格。在这个文件中,我们可以看到 ColouredTile 对象的创建和初始化过程,包括 Tile 对象的设置和...
在这个“sf_java3d_articlelbl_”的压缩包中,我们有三个程序,它们分别展示了Java3D的一些基本功能,包括图形的放大缩小和正方体的鼠标控制旋转。 首先,让我们详细了解Java3D的基础知识。Java3D通过使用向量和...
文字按指定路运动,welcome文字感强,动感足,正方体可以贴个性化图片。
在本项目中,我们探讨的是一个基于Java编程的有趣小程序,标题为“能旋转的立方体”。这个小程序展示了如何在2D平面上通过图形...通过实践,你可以掌握如何在Java中创建动态的3D图形,并理解背后的数学原理和编程概念。
3D球体、正方体+鼠标渐入渐出效果、贴图正方体、球体相册、行星环绕相册。使用于刚开始学习前端的人群,在不使用js的前提下就实现3D效果。代码简洁易懂,初级开发者利器。源码是开源的,任何人都可以借鉴。
利用矩阵计算出转动后的正方体顶点坐标, 把各个顶点的空间坐标按”近大远小”转换成平面坐标(函数p2d()), 用正方体各个面的法向量的z坐标判断该面是否可见, 用高为1px的div层模拟画出四边形(函数gra2htm())....
为了编程实现,我们需要熟悉一种编程语言,如C++、Python或Java,并了解相应的图形库,如OpenGL、DirectX或现代Web的WebGL。这些库提供了绘制3D图形和处理图形变换的函数,帮助我们实现分形的渲染。例如,OpenGL提供...
在Android中,你可以通过JNI接口调用Java层的`EGLContext`和`EGLDisplay`对象。 为了绘制正方体,你需要创建一个顶点数组,表示立方体的各个顶点。这通常包括6个面,每个面由4个顶点组成。然后,创建一个索引数组,...
使用 Java OpenGL 对称为 tesseract 的 4D 对象进行 3D 渲染。 导航 | | | | | [JAR 和 Natives 配置](#JAR 和 Natives 配置) | [文件夹结构](#文件夹结构) | [运行程序](#运行程序) | | 目的 该项目旨在创建一个 4D...
OpenGL ES 是一种基于 OpenGL 的图形库,专为嵌入式设备如智能手机、平板电脑和游戏机设计,用于渲染2D和3D图形。在Android平台上,OpenGL ES 是开发者常用的技术来实现高性能的图形处理。本篇文章将深入探讨如何...
要在程序中处理这些文件,你可以使用各种编程语言的库,比如Python的`trimesh`或`numpy`,C++的`Assimp`库,或者Java的`JOML`等。它们提供了读取和操作3D网格数据的功能。 通过这些OFF文件,我们可以深入了解不同...