Geometric Constructions
This page indexes the set of target constructions I’ve implemented for a web-based geometry tool (which may also be used independently). This way, I may sufficiently describe each problem/challenge without cluttering the UI. I will also use this page to briefly describe the interface.
Instructions
For each objective linked below, a target object (or multiple) will appear in dashed, gold strokes. The task is to recreate the target(s) via compass-and-straightedge construction, given an initial set of reference objects (points, lines, circles) and the following rules:
- New points may be constructed at the intersections of lines and/or circles.
- New lines may be constructed to pass through any two established points.
- New circles must be centered on a first point and pass through a second.
- The straightedge draws lines, but cannot measure distance.
- The compass resets after each circle drawn; it does not remember radii.
Success is determined by a battery of pseudorandom unit tests which treat the construction as a function of the set of initial points.
Interface
- Points that are not intersections may be freely moved. This will update the constructions that depend on the selected point’s position in real time. Intersections are displayed as small, unfilled circles, while “free” points are rendered as filled (solid color).
- The camera view may be zoomed or panned.
- Any construction may be shared via URL: Use the Link button to copy a link. Constructions shared by link can be “replayed” step-by-step using undo/redo.
Hotkeys
1 Point tool (move or construct points)
2 Line tool (construct lines)
3 Circle tool (construct circles)
4 Pan tool (move the view)
Ctrl+Z Undo
Shift+Ctrl+Z Redo
Basic Constructions
Perpendicular Bisector
Given a line-segment AB, construct a line perpendicular to it that passes halfway between A and B.
Angle Bisector
Given an angle, construct the line that cuts it in half.
Orthogonal Projection
Project a point onto a line.
Parallel Offset
A line parallel to the first, passing through a given point.
Distance Transfer
Translate a distance to another point and direction.
Tangent Line
Intersect a circle at only one point.
Triangles
Circumscribe
Given three points that are not colinear, construct a circle that passes through all three.
Inscribe
Given a triangle, construct the largest circle possible inside it.
Escribe
Find the other way to construct a circle that is tangent to three lines.
Functions
Vector Add
Add two vectors in .
Angle Add
Construct one of:
- The sum of two angles.
- The differences of two angles.
Multiply
Given concentric circles of radii , , and , construct a fourth concentric circle of radius .
Invert
Given concentric circles of radii and , construct a third concentric circle of radius .
Square Root
Given concentric circles of radii and , construct a third concentric circle of radius .
(In)Famous Problems
Try not to spend too much time on these. While it is possible to pass finite-precision unit tests for these problems, I did not even implement them.
Angle Trisector
Given an angle less than , construct either third of it.
Square the Circle
Construct a square with the same area as a given circle.
Other Resources
If you find this sort of interface and set of problems engaging, you may also enjoy a free-to-play game called Euclidea and a similar web project by Nico Disseldorp. I have no affiliation with either project.