Class SymmetryAnalyzer
java.lang.Object
org.episteme.social.arts.SymmetryAnalyzer
Analytical engine for detecting and measuring symmetry and repetitive patterns
in visual compositions. It supports several types of symmetry including
bilateral, rotational, translational, and point symmetry.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordResult of a symmetry detection analysis.static enumGeometric symmetry types. -
Method Summary
Modifier and TypeMethodDescriptiondetectBilateralSymmetry(List<double[]> points) Detects bilateral (mirror) symmetry in a point cloud using centroid-based axis testing.detectRotationalSymmetry(List<double[]> points) Detects rotational symmetry by searching for the best N-fold rotation score around the shape's centroid.detectTranslationalSymmetry(List<double[]> points, double minPeriod, double maxPeriod) Detects translational (repeating) symmetry by scanning for a period vector that maps points onto each other.static RealsymmetryQuotient(List<double[]> points) Calculates a combined symmetry quotient (0-1) representing the overall geometric regularity of the composition.
-
Method Details
-
detectBilateralSymmetry
Detects bilateral (mirror) symmetry in a point cloud using centroid-based axis testing.- Parameters:
points- list of [x, y] coordinates representing visual features- Returns:
- a SymmetryResult containing the best matching axis and confidence
-
detectRotationalSymmetry
Detects rotational symmetry by searching for the best N-fold rotation score around the shape's centroid.- Parameters:
points- list of [x, y] coordinates- Returns:
- a SymmetryResult specifying the best fold order
-
detectTranslationalSymmetry
public static SymmetryAnalyzer.SymmetryResult detectTranslationalSymmetry(List<double[]> points, double minPeriod, double maxPeriod) Detects translational (repeating) symmetry by scanning for a period vector that maps points onto each other.- Parameters:
points- list of [x, y] coordinatesminPeriod- minimum expected repeat distancemaxPeriod- maximum expected repeat distance- Returns:
- a SymmetryResult containing the translation vector
-
symmetryQuotient
-