The RotPosPathApp.java example program uses an RotPosPathInterpolator 
  object to animate a ColorCube object through a number of position and rotation 
  values. The RotPosPathInterpolator stores sets of rotations (as an array of 
  Quat4f), positions (as an array of Point3f), and knot values (as an array of
  float).
The complete source for RotPosPathApp.java is available in the examples/Animation subdirectory.
public BranchGroup createSceneGraph() {
	BranchGroup objRoot = new BranchGroup();
 
	//	1.
	TransformGroup target = new TransformGroup();
	//	2.
	Alpha alpha = new Alpha(-1, 10000); 
	Transform3D axisOfRotPos = new Transform3D();
 	//	3.
	float[] knots = {0.0f, 0.3f, 0.6f ,1.0f};
 	Quat4f[] quats = new Quat4f[4];
	Point3f[] positions = new Point3f[4];
	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, 1.0f, 1.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); 
	positions[0]= new Point3f( 0.0f, 0.0f, -1.0f);
 	positions[1]= new Point3f( 1.0f, -1.0f, -2.0f);
	positions[2]= new Point3f( -1.0f, 1.0f, -3.0f);
	
	//	4.
	RotPosPathInterpolator rotPosPath = new RotPosPathInterpolator(
		alpha, target, axisOfRotPos, knots, quats, positions);
	//	5.
	rotPosPath.setSchedulingBounds(new BoundingSphere());
	objRoot.addChild(target);
   	//	6.
	objRoot.addChild(rotPosPath);
	target.addChild(new ColorCube(0.4));
	
	return objRoot;
} // end of createSceneGraph method of RotPosPathApp