Package micycle.pgs.commons


package micycle.pgs.commons
The commons package contains all non-core PGS classes (of varying authorship and either not worth putting in separate package or too long to include within the calling PGS method itself).
  • Class
    Description
    The AreaMerge class provides a method to recursive merge smaller faces of a mesh into their adjacent faces.
    2D random shape generator using Bezier curves.
    Chaikin’s corner-cutting algorithm, which is used to perform polygon smoothing.
    An implementation of a divide-and-conquer algorithm for computing the closest pair of elements of a set of points.
    Corner rounding for PShape polygons.
    This class simplifies curves while maintaining perceptual appearance.
    The callback interface for determining the termination condition of the Discrete Curve Evolution (DCE) process.
    Doyle spirals are patterns of non-crossing circles in the plane, each tangent to six others.
    Implements Elliptic Fourier Descriptors (EFD).
    The FarthestPair data type computes the farthest pair of points in a set of n points in the plane and provides accessor methods for getting the farthest pair of points and the distance between them.
    Fast, high-quality polynomial-based atan2 approximation.
    An optimised implementation of Andrew's monotone chain algorithm for constructing convex hulls.
    This class solves the problem of finding polygons formed by a collection of edges.
    Circle packing of rectangle boundaries using the front-chain packing algorithm from 'Visualization of Large Hierarchical Data by Circle Packing'.
    Line gaussian smoothing.
    Finds a solution to a graph coloring using a genetic algorithm.
    Computes 2D/3D weighted geometric median.
    Port of https://openprocessing.org/sketch/1523350/
    Produces a (barycentric) dual graph from a TinFour Delaunay Triangulation.
    Adapts LargestEmptyCircle, allowing for repeated calls to find the N largest empty circles in an optimised manner.
    Computes the largest inscribed axis-aligned rectangle within a convex hull.
    Finds an approximate largest area rectangle of arbitrary orientation in a polygon via particle swarm optimisation.
    Minimum Volume Enclosing Ellipsoid
    Computes the Minimum Bounding Triangle (MBT) for the points in a Geometry.
    Multiplicatively Weighted Voronoi Diagrams
    An element annotated with Nullable claims null value is perfectly valid to return (for methods), pass to (parameters) and hold (local variables and fields).
    An undirected edge / line segment joining 2 PVectors.
    Generates a Penrose tiling of the plane.
    Models a GROUP PShape comprising faces of a 2D mesh as a topological entity, ready for mesh optimisation via Laplacian smoothing, a form of diffusion smoothing.
    Deprecated.
    Generates sets of random points via Poisson Disk Sampling.
    Implementation of the Bayazit convex decomposition algorithm for simple polygons.
    The ProcrustesAlignment class provides methods for performing ProcrustesAlignment analysis, which is a technique for aligning and comparing geometric shapes.
    Random Convex Polygons
    Generates random space-filling curves.
    Random rectangle subdivision.
    Repulsion Packing attempts to arrange a set of circles of specified radii within a rectangle such that there is no-overlap between circles.
    The Recursive Largest First (RLF) algorithm for graph coloring.
    An extension to the RandomPointsInGridBuilder class that accepts a random seed for repeatable outputs.
    Best-guess interpolation between any two linear rings.
    Quadrangulations of Planar Point Sets via the Spiraling Rotating Calipers Algorithm.
    A non-periodic (quasiperiodic?)
    Methods to create star shapes
    Implements a circle packing algorithm described by Collins and Stephenson (2003) to find an arrangement of circles which corresponds to a graph of desired circle tangencies.
    Implements the Thomas Point Process, a stochastic process used for simulating clusters of points around parent locations in spatial analysis.
    Balanced triangle subdivision.
    This class computes an isovist, which is the volume of space visible from a specific point in space, based on a given set of original segments.