# Crate spiropath[−][src]

## Expand description

Generate Spirograph-like paths.

## Modules

program | Functions for implementing the executable spiropath program. |

## Structs

ContactPoint | A point along a polyline where it is in contact with another. |

Options | Options for controlling a spiropath. |

PathState | The state we maintain for one of the paths. |

## Enums

Location | Location of the rotating shape relative to the stationary shape. |

Orientation | How to interpret 180 degree bends. |

Scale | How to scale an axis of the output. |

## Functions

direction | Return the direction (length 1) vector between two points (as a point). |

directions_bends | Return the bending angle at each point along a polyline. |

find_top_most_point_index | Find the index of the top-most point of a polyline (after rotating by an angle). |

is_clockwise | Test whether a pre-processed polyline has a clockwise orientation. |

load_polyline_from_svg_file | Load a polyline from a file and convert it to a polyline. |

maximal_coordinates | Return the maximal coordinates in some polylines. |

minimal_coordinates | Return the minimal coordinates in some polylines. |

orient_angle | Orient a 180 degree turn. |

points_distance | Return the distance between two points. |

polyline_directions | Return the direction of the polyline at each of its points. |

polyline_lengths | Measure the lengths of each of the segments of the polyline. |

print_svg_polylines | Print a vector of polylines as an SVG file. |

prune_repeated_points | |

round_lengths | Round lengths to integers. |

scale_lengths | Scale a polyline by a factor. |

scale_point | Scale a point by a factor. |

scale_polyline | Scale a polyline by a factor. |

spiropath | Generate spiropath(s) by rotating one shape around another. |

spiropath_polyline | Compute the polyline of the traced point as we rotate one polyline around another. |

transform | Scale and move the points to fit in a (0,0) -> (w,h) bounding box. |