Expand description
Plane symmetry groups (the 17 wallpaper groups and 7 frieze groups), lattices, 3-D point groups, symmetry detection, and Hankin-style Islamic star patterns.
Wallpaper operations are expressed in unit-cell (lattice) coordinates: an element maps the unit cell to itself modulo unit translations, so the returned sets are the coset representatives of the point group (plus the centering translation for the centered groups cm and cmm).
Structs§
- Lattice
- A 2-D lattice spanned by two basis vectors.
Enums§
- Frieze
Group - The 7 frieze groups (IUCr-style names).
- Point
Group3 - 3-D point groups (rotation parts).
- Wallpaper
Group - The 17 wallpaper groups.
Functions§
- detect_
symmetries_ 2d - Detects rotations and reflections about the centroid that map the
point set to itself within
tol. Checks rotation orders up to the point count and reflection axes through point/midpoint directions. - frieze_
generators - Frieze group operations modulo the period translation, in world
coordinates with the frieze axis along x and period
period. - frieze_
motif - Replicates a motif under the frieze group for
countperiods (translations 0..count). - hankin_
star_ pattern - Hankin’s method for Islamic star patterns (after Kaplan): from two
points straddling each edge midpoint (offset
deltaalong the edge), rays leave into the polygon atcontact_anglefrom the edge; consecutive rays around the polygon are intersected to form the strap segments. - point_
group_ orbit - Orbit of a point under the group’s rotations (deduplicated within 1e-9 of the point scale).
- point_
group_ order - The full group order (including improper operations for the mirror-bearing groups).
- point_
group_ rotations - All proper rotations of the point group as quaternions (generated by closure from the group’s standard generators).
- rosette
- Rosette symmetry: the motif under the cyclic group C_n (rotations)
or dihedral D_n (
mirroradds reflections), about the origin. - tile_
motif - Tiles a motif (given in unit-cell coordinates) by the group and lattice over the extent: every group operation applied to every motif polygon, replicated over the lattice translations whose cell origin falls in the extent.
- tile_
points - Tiles a point set (unit-cell coordinates) by the group and lattice over the extent.
- wallpaper_
fundamental_ domain - A fundamental domain in unit-cell coordinates with area 1/order of the cell. For the rectangular-cell groups it is a genuine fundamental domain; for the centered and hexagonal groups it is an area-correct representative slab (one valid choice among many shapes).
- wallpaper_
generators - The coset representatives of the wallpaper group’s operations in unit-cell coordinates (closed under composition modulo unit translations; the centered groups include their centering translation).
- wallpaper_
group_ order - The order of the returned operation set.
- wallpaper_
lattice - A natural lattice for the group at the given scale: square for the tetragonal groups, hexagonal (120°) for the tri/hexagonal groups, rectangular otherwise.