public void stepPosition(double timeStep) {
		// Add linear velocity to position
		Vector3d deltaPosition = new Vector3d(linearVelocity);
		deltaPosition.scale(timeStep);
		position.add(deltaPosition);

		// Calculate delta rotation from scratch
		double angle = angularVelocity.length();
		double sine = Math.sin(angle * timeStep / 2);
		rotation.mul(
				new Quat4d(sine * angularVelocity.x, sine * angularVelocity.y,
						sine * angularVelocity.z, Math
								.cos(angle * timeStep / 2)), rotation);

		// Step rigid body age
		if (lifeTime > 0) {
			age += timeStep;
		}
	}