CelticKnot is a library for generating celtic knots from graphs. The technique used is the one described by Christian Mercat, in which graphs are used as a kind of scaffolding for building celtic knots.
Arbitrarily complex graphs as input
Input graphs may specify walls on edges
Curves library (github.com/jamis/curves)
Aside from fixing the multitude of bugs, I'd like to see the following features added eventually:
Shaped corners (e.g. pointed corners, or blunt, etc.)
Encapsulated knots (e.g., fill some arbitrary shape with knotwork)
CelticKnot is written by Jamis Buck (email@example.com). The author hereby places this library into the public domain.