The software basically consists in a geometric graph editor, which
automatically recomputes the knotwork according to user changes.
Different 'knotwork design' are available.
Knotwork offers the base function to create and edit a geometric graph
(graph whose vertices are planar points).
- Place new vertices
- Join vertices to create edge
- Move vertices and edges
- Delete selected elements
- Save and load graphs, in a specific '.kwk' file
By default, the knotwork is automatically created with the graph.
It is possible to modify it, either by moving vertices and edges,
or by changing the 'type' of an edge.
Each edge is associated with one of the following types:
- 'UP' edge the reference thread is passing over the other thread
- 'DOWN' edge the reference thread is passing below the other
- 'OPPOSITE' edge the two thread cross the edges without crossing
- 'LONG' edge the two thread stay parallel to the edge, without
crossing each other and without crossing the edge
- The visual style of the graph can be chosen between several knotwork styles:
celtic, arabic, round, flat. It's difficult to describe them, so please
try them !
- It is possible to use of a scalable grid (square, or triangular) to place new nodes
- The grid origin can be changed to any point, possibly one existing node
(press TAB to place on the closest node)
- A background image can be used to help design the knotwork
- Different parts of the knotwork can be displayed. The knotwork itself,
the graph, the nodes, the control points or the ghost nodes and edges,
which are structures created by the program to help building the knotwork.
Manipulating the knotwork
Some functions are devoted to global manipulation of the knotwork or of its underlying graph.
- Get the dual of the graph : the same knotwork (in theory...),
but with a different graph
- Pruning of the graph: suppress all nodes connected to only one edge.
Useful for one looking for minimal version of the graph.
- Graph information: number of edges, number of vertices, with
or without ghosts, adjacency matrix of the graph
Some of the features which are planned for development:
- Graph encapsulation, to help creating more complicated graphs
- Copy-cut-paste and some user-friendly gadgets...
- One objective is also to get some mathematical information on the graph:
loops number, invariants computation...
- Generate periodic graphs, to create braids or mosaics of knotworks
- Writes a more complete user guide...
Known bugs and limitations
There are some stability problems with certain edge configurations. Also,
some graphical options are not yet available (like threads width).