java3d曲面图开发_一个Java3D简单三维场景图,测试你的Java3D开发运行环境。

这是个彩色六面体,可以用鼠标左键旋转,右键拖动,摁下滚轮前后移动缩放。

直接在命令行下转到文件目录,像普通java程序那样编译解释执行。用以测试Java3D开发运行环境是否配置正确。相关程序如下:

一些其他的Java3D资源资料可以在下面的文章中找到。

a4c26d1e5885305701be709a3d33442f.png

import java.applet.Applet;

import java.awt.BorderLayout;

import com.sun.j3d.utils.applet.MainFrame;

import com.sun.j3d.utils.geometry.*;

import com.sun.j3d.utils.universe.*;

import javax.media.j3d.*;

import javax.vecmath.*;

import com.sun.j3d.utils.behaviors.mouse.MouseRotate;

import com.sun.j3d.utils.behaviors.mouse.MouseZoom;

import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;

public class UglyCube extends Applet

{

private SimpleUniverse universe ;

public UglyCube()

{}

public void init()

{

//canvas to draw on, ask SimpleUniverse what config to use

Canvas3D canvas = new

Canvas3D(SimpleUniverse.getPreferredConfiguration());

setLayout(new BorderLayout());

add("Center", canvas);

//create top of our scene graph

BranchGroup scene = new BranchGroup();

//create universe, and attach our geometry to it.

SimpleUniverse u = new SimpleUniverse(canvas);

u.getViewingPlatform().setNominalViewingTransform();

// Create the bounding leaf node

BoundingSphere bounds = new BoundingSphere(new

Point3d(0.0,0.0,0.0), 100.0);

// Create the transform node

TransformGroup transformGroup = new TransformGroup();

transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);

transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);

// Create the drag behavior node

MouseRotate behavior = new MouseRotate();

behavior.setTransformGroup(transformGroup);

transformGroup.addChild(behavior);

behavior.setSchedulingBounds(bounds);

// Create the zoom behavior node

MouseZoom behavior2 = new MouseZoom();

behavior2.setTransformGroup(transformGroup);

transformGroup.addChild(behavior2);

behavior2.setSchedulingBounds(bounds);

// Create the zoom behavior node

MouseTranslate behavior3 = new MouseTranslate();

behavior3.setTransformGroup(transformGroup);

transformGroup.addChild(behavior3);

behavior3.setSchedulingBounds(bounds);

transformGroup.addChild(new ColorCube(0.4));

scene.addChild(transformGroup);

u.addBranchGraph(scene);

}

// The following allows UglyCube to be run as an

application

// as well as an applet

public static void main(String[] args)

{

new MainFrame(new UglyCube(), 256, 256);

}

}

http://hi.baidu.com/reason_shanshi/blog/item/85e5eb1186643011b8127b51.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值