return null; Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();
return null; Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();
return null; Point2D viewCenter = lens.getCenter(); double ratio = lens.getRatio();
return null; Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();
Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();
/** override base class to un-project the fisheye effect */ private Point2D _inverseTransform(Point2D viewPoint) { viewPoint = delegate.inverseTransform(viewPoint); Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio(); double dx = viewPoint.getX() - viewCenter.getX(); double dy = viewPoint.getY() - viewCenter.getY(); // factor out ellipse dx *= ratio; Point pointFromCenter = Point.of(dx, dy); PolarPoint polar = PolarPoint.cartesianToPolar(pointFromCenter); double radius = polar.radius; if (radius > viewRadius) { return viewPoint; } double mag = lens.getMagnification(); radius /= mag; polar = polar.newRadius(radius); Point projectedPoint = PolarPoint.polarToCartesian(polar); projectedPoint = Point.of(projectedPoint.x / ratio, projectedPoint.y); Point2D translatedBack = new Point2D.Double( projectedPoint.x + viewCenter.getX(), projectedPoint.y + viewCenter.getY()); return translatedBack; }
log.trace("lens {} does not contain graphPoint {}", lensEllipse, graphPoint); Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();
/** override base class to un-project the fisheye effect */ public Point2D inverseTransform(Point2D viewPoint) { Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio(); double dx = viewPoint.getX() - viewCenter.getX(); double dy = viewPoint.getY() - viewCenter.getY(); // factor out ellipse dx *= ratio; Point pointFromCenter = Point.of(dx, dy); PolarPoint polar = PolarPoint.cartesianToPolar(pointFromCenter); double radius = polar.radius; if (radius > viewRadius) { return delegate.inverseTransform(viewPoint); } double mag = lens.getMagnification(); radius /= mag; polar = polar.newRadius(radius); Point projectedPoint = PolarPoint.polarToCartesian(polar); projectedPoint = Point.of(projectedPoint.x / ratio, projectedPoint.y); Point2D translatedBack = new Point2D.Double( projectedPoint.x + viewCenter.getX(), projectedPoint.y + viewCenter.getY()); return delegate.inverseTransform(translatedBack); }
Point2D viewCenter = lens.getCenter(); double viewRadius = lens.getRadius(); double ratio = lens.getRatio();