public Transform3D getTransform() {
		Transform3D transform = new Transform3D();
		Point3d target = new Point3d();

		target.add(direction, position);

		Point3d zoomedPosition = new Point3d();
		zoomedPosition.scaleAdd(-zoom / direction.length(), direction, target);

		transform.lookAt(zoomedPosition, target, up);
		transform.invert();
		return transform;
	}