展开全部

import java.applet.Applet;

import java.awt.BorderLayout;

import java.awt.Frame;

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;

// 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());

Canvas3D canvas3D = new Canvas3D(null);

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:");

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

代码没有问题,e68a843231313335323631343130323136353331333238653835可能是安装配置问题。

这里有教程,你研究一下吧,很多实例。

java3d 实例_java 3D画图实例相关推荐

  1. java的继承实例_java继承(实例讲解一)

    Java继承(Java inheritance) Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类.这种技术使 ...

  2. java volatile实例_Java的Volatile实例用法及讲解

    Java的Volatile实例用法及讲解 发布时间:2020-10-03 12:01:58 来源:脚本之家 阅读:88 作者:konami 在原子性.可见性.有序性中,volatile关键字主要在可见 ...

  3. java 内存分配实例_java内存管理实例讲解

    一.java虚拟机运行时内存分配图 二.栈 堆 方法区简介 1.栈 1. 每个方法被调用都会创建一个栈帧(存储局部变量.操作数.方法出口等) 2. JVM为每个线程创建一个栈,用于存放该线程执行方法的 ...

  4. java反射创建实例_Java反射创建实例

    Java反射创建实例 package com.wkcto.chapter08.demo02; import java.lang.reflect.Constructor; import java.lan ...

  5. java邮件实例_java邮件小实例

    新建一个包,名为mail 第一个类:MailSenderInfo.java ########################################### package com.util.m ...

  6. java邮件程序实例_java 发送邮件简单实例

    全部代码: EmailAuthenticator.java package com.gjw.test; import javax.mail.Authenticator; import javax.ma ...

  7. java定时器实例_Java定时器小实例

    有时候,我们需要在Java中定义一个定时器来轮询操作,比如每隔一段时间查询.删除数据库中的某些数据等,下面记录一下一种简单实现方式 1,首先新建一个类,类中编写方法来实现业务操作 public cla ...

  8. java调用dll实例_java调用DLL实例

    创建DLL工程,网上已有例子如http://wenku.baidu.com/view/df05f80103d8ce2f0066238a.html,现在是vs2010与文章中提到的2005操作基本一样. ...

  9. python如何做散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

最新文章

  1. 几个非常低调的公众号!但副业月入早已过3万...
  2. PLM的关键点—实施篇
  3. 页面嵌套除了iframe还能用什么方法_CTF|有关CSP绕过的方法
  4. 关于可观察性的三大支柱,你应该了解这些
  5. 【编程通识】PlantUML绘制时序图样例
  6. git简明教程:基本操作命令
  7. 刷新iframe页面
  8. chartxy 柱状图_关于Chart柱状图的使用,有问题
  9. 笔记本暗屏维修多少钱_电视机烧了维修多少钱?
  10. 思岚激光雷达+cartographer建图
  11. Kotlin 学习笔记(三)—— Kotlin 的动态代理你会写吗
  12. 互联网之子——亚伦·斯沃茨:新时代网络自由的先驱
  13. 关于GoldWave给Vegas视频添加音频叠加的教程分享
  14. kali系统---DNS收集分析之dnsrecon
  15. C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。
  16. mapreduce实现ItemCF——基于物品的协同过滤
  17. 交叉编译器arm-linux-gcc,aarch64-himix200-linux-gcc命令找不到 not found ,所有原因全方位解析
  18. MOS管损坏典型问题分析
  19. iPhone同步助手 V3.2.7.2 中文官方版
  20. Hive记录-Hive常用命令操作

热门文章

  1. .Net Core托管服务
  2. java工程在windows环境用bat启动详解
  3. 内存条怎么插在电脑上使用
  4. 10个科学睡眠的小细节
  5. 数字化转型导师坚鹏:银行如何建设行业领先的人才培训管理体系
  6. php dth网络节点,找到dht网络的节点了
  7. 不同音频文件如何进行数据恢复?
  8. 前端与UI设计师的区别
  9. 汉诺塔递归 C语言 代码简洁
  10. docker安装gitlab中文版(gitlab-ce:11.3.0-ce.0社区版)