final AxisAngle4f aa = new AxisAngle4f(); aa.set(0, 0, 1, 0); } else { final Vector3f cross = new Vector3f(); cross.cross(vpc, vplane); aa.set(cross.x, cross.y, cross.z, -vplane.angle(vpc));
private void setTransformation(final Matrix4f m, final Vector3f center, final boolean setMatrixField) { origin.set(center); try { final AxisAngle4f rot = new AxisAngle4f(); decompose(m, origin, rot, translation); angle = (float) (180 * rot.getAngle() / Math.PI); axis.x = rot.x; axis.y = rot.y; axis.z = rot.z; // update textfields axisTF.setText(toString(axis)); angleTF.setText(Float.toString(angle)); originTF.setText(toString(origin)); translationTF.setText(toString(translation)); if (setMatrixField) matrixTA.setText(toString(m)); transformationUpdated(m); } catch (final Exception e) { System.out.println(e.getMessage()); } }
private Matrix4f fromFields() { fromString(axisTF.getText(), axis); angle = (float) (Math.PI * Float.parseFloat(angleTF.getText()) / 180.0); fromString(originTF.getText(), origin); fromString(translationTF.getText(), translation); final Matrix4f m = new Matrix4f(); compose(new AxisAngle4f(axis, angle), origin, translation, m); return m; }
public static void decompose(final Matrix4f mat, final Vector3f origin, final AxisAngle4f rotation, final Vector3f translation) { final Matrix3f rot = new Matrix3f(); mat.get(rot); rotation.set(rot); final Point3f tmp = new Point3f(origin); rot.transform(tmp); tmp.sub(origin); mat.get(translation); translation.add(tmp); }
AxisAngle4f a = new AxisAngle4f( 0.0f, 1.0f, 0.0f, (float) Math.toRadians(angleDeg)); Quat4f q = new Quat4f();
cap0Normal.negate() ; AxisAngle4f aa4f = new AxisAngle4f (axis1, -(float)Math.PI/((float)divisions/2.0f)) ; Transform3D t3d = new Transform3D() ;