Repository navigation
lines
Home > Lines, rays & segments
< Previous: Typing coordinates | Next: Circles & arcs >
Finite segments, infinite lines, and half-line rays, plus the constructions built on them - parallels, perpendiculars, bisectors, and tangents.
Locus keeps three straight-edge objects strictly distinct, because they behave differently the moment you intersect anything with them.
A segment is finite - the edge between two points, and nothing beyond. A line is fully infinite, running forever in both directions. A ray is a half-line: it starts at a point and shoots infinitely through a second one.
The distinction is not cosmetic. It decides where crossings count:
- A segment crosses another object only between its two endpoints: where it's actually drawn.
- A line crosses along its whole infinite extent.
- A ray crosses only on the forward half, ahead of its start point, never behind it.
So if you want two short edges to register a crossing out past their ends, build a line through those points instead of a segment. All three carry editable defining points, so you can retarget their ends later and everything built on them updates live.
Give the parallel tool a base line (or segment) and a point, and it draws the infinite line through that point running parallel to the base. The perpendicular tool does the same at a right angle to the base. Both stay live - move the base or the point and the result re-orients.
The perpendicular bisector is the line at a right angle to a segment through its midpoint - the set of points equidistant from both ends. Build it from two points, or from a single segment.
Like the midpoint, it's a dual-form construction: it can be defined either by two loose points or by a segment, and you can redefine it between the two later by double-clicking its reference row and picking the other kind. Built from a segment, it remembers that segment and follows its endpoints as they move.
The angle bisector splits the angle between two arms. Each arm can be a point or an object (a segment, ray, or line), and you can mix them:
- Two point arms bisect the angle at a chosen vertex.
- Two object arms bisect the angle at the point where those two objects cross: the vertex is found for you.
- One of each bisects between the point's direction and the object's direction at the vertex.
By default the result is an infinite line. Turn on Only Ray and you get a half-line instead, starting at the vertex and heading out along the bisector direction - useful when you only want the bisector going one way.
The tangent tool draws a line from an outside point that just touches a circle (or arc). There are always two such tangents, one on each side. When you draw it, click the external point and then the circle, and Locus drops a draggable tangent point on the circle - drag it to flip which of the two tangents you get, following your cursor and snapping to the exact touch point when you release. A point inside the circle has no tangent, so those are skipped.
Any line object carries a small LINE / RAY toggle in its row in the Layers panel. Click it to switch that object between drawing as a full infinite line and drawing as a half-line from its anchor. This is the panel-side equivalent of the angle bisector's Only Ray option - the same per-object choice, exposed as a control you can flip whenever you like.
Tip
For where these objects register crossings with circles and ellipses, see Circles & arcs and Ellipses.
< Previous: Typing coordinates | Next: Circles & arcs >
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
- 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
- View
-
Draw
- Select
- Point
- 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
Reference

