/** * Computes the new transform for this interpolator for a given * alpha value. * * @param alphaValue alpha value between 0.0 and 1.0 * @param transform object that receives the computed transform for * the specified alpha value * * @since Java 3D 1.3 */ @Override public void computeTransform(float alphaValue, Transform3D transform) { double val = (1.0-alphaValue)*minimumAngle + alphaValue*maximumAngle; // construct a Transform3D from: axis * rotation * axisInverse rotation.rotY(val); transform.mul(axis, rotation); transform.mul(transform, axisInverse); }
public class Static3DWorld extends JFrame { private Transform3D rotate1 = new Transform3D(); private Transform3D rotate2 = new Transform3D(); .... private Transform3D rotateCube() { rotate1.rotX(Math.PI / 4.0d); rotate2.rotY(Math.PI / 4.0d); rotate1.mul(rotate2); return rotate1; } .... }
t.rotY(0.2); t.setScale(0.1); TransformGroup tg = new TransformGroup();
public void applyRotation(final int axis, final double degree) { final Transform3D t = new Transform3D(); switch (axis) { case X_AXIS: t.rotX(deg2rad(degree)); break; case Y_AXIS: t.rotY(deg2rad(degree)); break; case Z_AXIS: t.rotZ(deg2rad(degree)); break; } applyTransform(t); }
public void setRotation(final int axis, final double degree) { final Transform3D t = new Transform3D(); switch (axis) { case X_AXIS: t.rotX(deg2rad(degree)); break; case Y_AXIS: t.rotY(deg2rad(degree)); break; case Z_AXIS: t.rotZ(deg2rad(degree)); break; } setTransform(t); }
transformY.rotY(y_angle);
tc.mul(tx); ty.rotY(y); tc.mul(ty);
@Override public void run(String args) { int defaultNo = 1; final Image3DUniverse univ = new Image3DUniverse(512, 512); displayCube(univ); Transform3D initialRot = new Transform3D(); Transform3D tmp = new Transform3D(); initialRot.rotY(Math.PI/4); tmp.rotX(-Math.PI/4); initialRot.mul(tmp); // univ.getGlobalRotate().setTransform(initialRot); univ.show(); displayCase(univ, defaultNo); GenericDialog gd = new GenericDialog("ImageJ 3D Viewer"); gd.addSlider("case: ", 0, 255, defaultNo); final Scrollbar slider = (Scrollbar)gd.getSliders().get(0); slider.addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent e) { displayCase(univ, slider.getValue()); } }); gd.setModal(false); gd.showDialog(); if(gd.wasCanceled()) return; }
resetView() ; longditudeTransform.rotY( longditude ); latitudeTransform.rotX( latitude ); rotateTransform.mul(rotateTransform, latitudeTransform);
rotationXform.rotY(alpha); rotate.mul(centerXform, rotationXform); rotate.mul(rotate, centerXformInv);
tempRotate.rotY(Math.PI/5.0d); rotate.mul(tempRotate);