📄 pos2.java
字号:
package com.java3d.test;
import com.sun.j3d.utils.geometry.ColorCube;
import java.applet.Applet;
import java.awt.BorderLayout;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
public class Pos2 extends Applet {
float knot[] = {0.0f,0.25f,0.5f,0.75f,1.0f};
Point3f pos[] = {
new Point3f(-.8f,-.6f,0.0f),
new Point3f(-.8f,.6f, 0.0f),
new Point3f(.8f, .6f, 0.0f),
new Point3f(.8f, -.6f,0.0f),
new Point3f(-.8f,-.6f,0.0f), };
private BranchGroup createSceneGraph() {
BranchGroup objRoot = new BranchGroup();
TransformGroup objTran=new TransformGroup();
objTran.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Transform3D t3d=new Transform3D();
t3d.setScale(.3);
objTran.setTransform(t3d);
objRoot.addChild(objTran);
BoundingSphere bound=new BoundingSphere(
new Point3d(0.0,0.0,0.0),50.);
Transform3D tr=new Transform3D();
TransformGroup translation=new TransformGroup(tr);
translation.addChild(new ColorCube(.2));
objTran.addChild(translation);
translation.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Alpha xtranAlpha = new Alpha(-1,
Alpha.INCREASING_ENABLE,
0, 0,10000, 0, 0, 0, 0, 0);
PositionPathInterpolator tran =
new PositionPathInterpolator(xtranAlpha, translation, tr,
knot,pos);
tran.setSchedulingBounds(bound);
translation.addChild(tran);
return objRoot;
}
public Pos2() {
setLayout(new BorderLayout());
Canvas3D c = new Canvas3D(SimpleUniverse
.getPreferredConfiguration());
add("Center", c);
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String[] args) {
new MainFrame(new Pos(), 640,480);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -