以下是程序代码。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import javax.swing.*;
public class JExam2View extends Applet implements ActionListener
{
JButton rotate=new JButton("rotate");
JButton translate=new JButton("translate");
JButton scale=new JButton("scale");
JButton init=new JButton("init");
TransformGroup objTrans;
Transform3D transform=new Transform3D();
BranchGroup createSceneGraph()
{
BoundingSphere bounds=new BoundingSphere();
BranchGroup objRoot=new BranchGroup();
//trans
transform.lookAt(new Point3d(0,0,12),new Point3d(0,0,0),new Vector3d(0,1,0));
objTrans=new TransformGroup(transform);
objTrans.setCapability(objTrans.ALLOW_TRANSFORM_WRITE);
objTrans.setCapability(objTrans.ALLOW_TRANSFORM_READ);
图 5.19 原点在初始位置
图 5.20 平移
图 5.21 放缩
图 5.22 绕 y 轴旋转
图 5.23 变换代替平移