📄 move_in_certain_path.java
字号:
/*
* Created on 2005-7-17
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package Move;
import javax.media.j3d.*;
import javax.vecmath.AxisAngle4f;
import javax.vecmath.Point3d;
import javax.vecmath.Point3f;
import javax.vecmath.Quat4f;
import com.sun.j3d.utils.geometry.ColorCube;
public class Move_in_Certain_path extends Shape3D {
public BranchGroup createAnimOfMove(
Point3f[] positions,//物体运动的诡计,从Axis_info()中获取
TransformGroup target1//
){
BranchGroup objRoot = new BranchGroup();
Alpha alpha = new Alpha(-1, 10000);
TransformGroup target = new TransformGroup();
Transform3D axisOfRotPos = new Transform3D();
//target.setTransform(axisOfRotPos);
//knots give a array to determine..
float[] knots = {0.0f, 0.1f,0.5f, 0.8f, 0.9f, 1.0f};
Quat4f[] quats = new Quat4f[6];
//Point3f[] positions = new Point3f[6];
target.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
AxisAngle4f axis = new AxisAngle4f(1.0f,0.0f,0.0f,0.0f);
axisOfRotPos.set(axis);
quats[0] = new Quat4f(0.0f, 10.0f, 10.0f, 0.0f);
quats[1] = new Quat4f(1.0f, 0.0f, 0.0f, 0.0f);
quats[2] = new Quat4f(0.0f, 1.0f, 0.0f, 0.0f);
quats[3] = new Quat4f(0.0f, 1.0f, 1.0f, 0.0f);
quats[4] = new Quat4f(0.0f, 0.0f, 1.0f, 0.0f);
quats[5] = quats[0];
// RotPosPathInterpolator rotPosPath = new RotPosPathInterpolator(
PositionPathInterpolator rotPosPath = new PositionPathInterpolator(
alpha, target, axisOfRotPos, knots,
//quats,
positions);
rotPosPath.setSchedulingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 400.0));
objRoot.addChild(target);
objRoot.addChild(rotPosPath);
target.addChild(target1);
Background background = new Background();
background.setColor(0.0f, 0.0f, 0.0f);
background.setApplicationBounds(new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 400.0));
objRoot.addChild(background);
/*
PointArray point_geom = new PointArray(9, GeometryArray.COORDINATES);
point_geom.setCoordinates(0, positions);
Appearance points_appear = new Appearance();
ColoringAttributes points_coloring = new ColoringAttributes();
points_coloring.setColor(1.0f, 0.0f, 0.0f);
points_appear.setColoringAttributes(points_coloring);
PointAttributes points_points = new PointAttributes(4.0f, true);
points_appear.setPointAttributes(points_points);
Shape3D points = new Shape3D(point_geom, points_appear);
objRoot.addChild(points);
*/
objRoot.compile();
return objRoot;
}
public Move_in_Certain_path(){
System.out.println("Move.Move_in_Certain_path Class give a movement in a Certain path");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -