PenroseKiteDart-1.5: Library to explore Penrose's Kite and Dart Tilings.
Copyright(c) Chris Reade 2021
LicenseBSD-style
Maintainerchrisreade@mac.com
Stabilityexperimental
Safe HaskellNone
LanguageGHC2021

Tgraph.Decompose

Description

This module defines decompose and decompositions for Tgraphs, but also exposes two auxiliary functions for debugging and experimenting.

Synopsis

Documentation

decompose :: Tgraph -> Tgraph Source #

Decompose a Tgraph.

decomposeFaces :: HasFaces a => a -> [TileFace] Source #

Decompose all the faces (using a phiVMap for new vertices).

decompositions :: Tgraph -> [Tgraph] Source #

infinite list of decompositions of a Tgraph

Exported auxiliary functions

phiVMap :: HasFaces a => a -> Map Dedge Vertex Source #

phiVMap fcs produces a finite map from the phi edges (the long edges including kite joins) to assigned new vertices not in fcs. Both (a,b) and (b,a) get the same new vertex number. This is used(in decompFace, decompFaces and decompose. (Sort is used to fix order of assigned numbers). (Exported for use in TrackedTgraphs in Tgraphs module).

decompFace :: Map Dedge Vertex -> TileFace -> [TileFace] Source #

Decompose a face producing new faces. This requires an edge to vertex map to get a unique new vertex assigned to each phi edge (as created by phiVMap). (Exported for use in TrackedTgraphs in Tgraphs module).