Crate spiropath

Source
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.