Repository navigation
splines
Home > Splines
< Previous: Rectangles & squares | Next: Constraining with Shift >
A freehand curve made of anchors and handles, drawn with the Pen and edited directly on the canvas.
Important
Under construction. Splines are new and this page describes work in progress. Nothing here is a promise about the finished feature.
A spline is a chain of anchors with handles. The anchors sit on the curve, always. The handles sit off it and shape the curve between them.
There are no off-curve control points to chase. Every point you can grab is either on the curve or a handle belonging to an anchor that is.
The curve between two anchors is a span. One connected run of anchors is a piece, and a spline can have several.
Every anchor is one kind or the other, and the shape on screen says which:
- A square is a corner. The curve may turn however it likes there.
- A circle is smooth. The two handles stay in line through the anchor, so the curve runs through without a crease.
- A triangle marks the spline's first point.
Double-click an anchor to change one into the other.
Shape carries the kind, deliberately. No color is used for it, because color on this overlay means something else: a filled anchor is selected and a hollow one is not.
A handle is either derived or explicit, and you can tell at a glance:
- Hollow is derived. The app computes it from the anchor's two neighbors, so it re-curves whenever a neighbor moves.
- Filled is explicit. It stays exactly where it was put.
Both handles of an anchor share one state. Drag either one and the pair becomes explicit together.
Gold is no part of this. Gold means selected, for an anchor and for a handle alike.
Dragging a handle is what makes it explicit. Until then the app is deciding.
The rule it decides by is worth knowing, because it is why a spline here behaves like compass work rather than like a tension slider: through any three consecutive anchors, the curve follows the circle through those three points. A circle is the same object the rest of Locus is built out of, and the only number involved is a handle length.
Toggling an anchor between corner and smooth drops both of its handles. That surprises people, so it is worth saying plainly: it is not a side effect, it is how you ask for the handles to be computed again.
One more case where the app corrects itself. Move both handles of a smooth anchor so they are no longer in line through it, and the anchor becomes a corner. The label never sits over a visible kink.
A spline has no construction points of its own. It adds nothing to Select Free Points, and nothing else in the drawing can attach to it: no crossing with a spline, no point riding along one, no tangent at a point on one.
Align and Distribute refuse a selection that contains a spline, and a spline is not a direct boolean input.
- The Pen: how a spline gets drawn.
- Convert to Spline: making an editable spline from an import, a circle, a region or an arc.
- Selecting objects: what selection means once a spline is open for editing.
- The Layers panel: how a spline and a path are told apart in the list.
< Previous: Rectangles & squares | Next: Constraining with Shift >
Found a bug or have feedback? Open an issue | Docs home | Videos | Credits
Getting Started
- Welcome
- How Locus came to be
- Videos
- Community & support
- Installing & launching
- Licensing & activation
- Beta License Agreement
- Core concepts
- Interface tour
- Your first pattern
Modeling - Drawing
- Canvas basics
- Points
- Typing coordinates
- Lines, rays & segments
- Circles & arcs
- Ellipses
- Compass & straightedge
- Rectangles & squares
- Splines
- Constraining with Shift
Modeling - Editing
- Selecting objects
- Transform tools
- Align & distribute
- Duplicate, detach & ownership
- Regions & booleans
- Cleanup
- Weld & seams
- Style palettes & Re-ink
Annotation
Layers
Modeling Menus
- File
-
Edit
- Undo and Redo
- Group
- Ungroup
- Copy
- Paste
- Paste in Place
- Duplicate
- Duplicate in Place
- Hide
- Reverse Direction
- Convert to Spline
- Cut Spline
- Close Spline
- Unhide All
- Detach
- Bake
- Clean Up: Merge Coincident Points
- Copy Style
- Reference in Nodes
- Snap to Points
- Snap to Objects
- Snap to Intersections
- Snap to Guides
- View
-
Draw
- Select
- Point
- Pen
- Segment
- Line
- Ray
- Circle: Center Point
- Circle: Center Radius
- Circle: Through 3 Points
- Arc: Center, Start, End
- Straightedge
- Compass
- Compass: Radius
- Ellipse: Center + Axes
- Elliptical Arc
- Rectangle: XY-Aligned
- Rectangle: Directed
- Square
- Regular Polygon: Edge
- Regular Polygon: Center, Vertex
- Regular Polygon: Center, Edge Midpoint
- Dimension: Linear
- Dimension: Angle
- Dimension: Radial
- Label
- Construct
- Combine
- Transform
- Select
- Nodes
The Nodes Window
- Basics of visual programming
- How the node graph works
- Sockets & wires
- Adding & connecting nodes
- Sliders & number inputs
- Keeping the node graph tidy
- View menu (Nodes)
- Lists & collections
- Constants & unit conversions
Node Library
- Overview
- Input
-
Primitives
- Point
- Point: Polar
- Segment
- Line
- Ray
- Circle: Center Point
- Circle: Center Radius
- Circle: Apollonius
- Circle Tangent to...
- Circle: 3 Points
- Arc
- Ellipse
- Elliptical Arc
- Rectangle: XY-Aligned
- Rectangle: Directed
- Square
- Regular Polygon: Edge
- Regular Polygon: Center
- Rectangular Grid
- Oblique Grid
- Triangular Grid
- Construct
- Transform
- Image & Fields
- Combine
-
Data
- Measure
- Numbers
- Lists
- Select
- Clean up
- Display
Clusters
Bridging Modeling & Nodes
Patterns & Symmetry
Image-Driven Fields
Saving, Exporting & Files
Preferences & Language
CLI
- CLI server
- locus-cli
- CLI commands
- Tangent circles
- Tick and strike
- Making regions
- Boolean commands
- Reading the node graph
Reference
