Java Geometry Algorithm gridAlign(final Point2D point, final double gridX, final double gridY)

Here you can find the source of gridAlign(final Point2D point, final double gridX, final double gridY)

Description

Align the given point on the given grid.

License

Apache License

Parameter

Parameter Description
point The point that needs to be aligned.
gridX The length of the grid cells.
gridY The height of the grid cells.

Return

A new point as close to the given as possible, nicely aligned on the given grid.

Declaration

public static Point2D gridAlign(final Point2D point, final double gridX, final double gridY) 

Method Source Code

//package com.java2s;
/*/* w ww  .j  a  v  a 2 s.  com*/
 *   Copyright 2009, Maarten Billemont
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

import java.awt.geom.Point2D;

public class Main {
    /**
     * Align the given point on the given grid.
     *
     * @param point The point that needs to be aligned.
     * @param gridX The length of the grid cells.
     * @param gridY The height of the grid cells.
     *
     * @return A new point as close to the given as possible, nicely aligned on the given grid.
     */
    public static Point2D gridAlign(final Point2D point, final double gridX, final double gridY) {

        return new Point2D.Double(Math.round(point.getX() / gridX) * gridX,
                Math.round(point.getY() / gridY) * gridY);
    }
}

Related

  1. generateLine(Point2D.Double point, double length, double angle)
  2. generateLookAtTag(ArrayList geoCoords, ArrayList modsAM)
  3. generatePoint(Shape region)
  4. generateRobotPositions(Point start, Point end, int stepSize)
  5. generateSpline(final Point[] controls)
  6. hitsLine(final Point2D p, final Point2D fromPoint, final Point2D toPoint, final double thickness)
  7. insidePoly(Polygon pg, Point p)
  8. interceptLineAndBox(Point2D startPosition, Point2D endPosition, RectangularShape boundingBox)
  9. interpol(Point p1, Point p2, float factor)