Parametric Constraint Solver

Geometry that thinks with you

A precision constraint-based geometry tool. Draw shapes, define relationships, and export publication-ready Asymptote diagrams — all in the browser.

Open Angulus Learn more

Built for precision

Every tool designed around the constraint solver at its core

Constraint Solver

Newton-Raphson engine with graph decomposition. Define tangency, distance, angle, parallelism — the solver enforces them all simultaneously.

Live Dragging

Drag any point and watch the entire figure adapt in real time. Unconstrained degrees of freedom move freely; constrained ones hold firm.

Exact Math Display

Lengths and angles shown as exact expressions — fractions, square roots, multiples of π. Rendered in beautiful LaTeX.

Apollonius Solver

Algebraic solutions for circles tangent to three others or inscribed in triangles. Handles configurations Newton-Raphson alone can't reach.

Cloud Save

Save constructions locally or to the cloud with Firebase. Export and import as JSON. Your work persists across sessions and devices.

Asymptote Export

Export your constructions as publication-quality Asymptote code. Generate diagrams ready for LaTeX documents, competition problems, and textbooks.

How it works

From blank canvas to publication-ready diagram

1

Draw your geometry

Place points, lines, circles, rectangles, and regular polygons on the infinite canvas. Snap to existing geometry — points, midpoints, intersections, and circle edges are automatically detected.

Tools auto-constrain: rectangles get right angles, polygons get equal sides, snapping to a circle adds a point-on-circle constraint.
2

Add constraints

Click a line to set its length, or click two lines to make them parallel or perpendicular. Pin an angle to exactly 60°. Add tangency between a line and a circle. Each constraint removes a degree of freedom.

Constraints can reference each other: set a hypotenuse to sqrt(@a^2 + @b^2) where @a and @b are other dimensions.
3

Drag and explore

With constraints in place, drag any free point. The solver re-evaluates the entire system in real time — every relationship stays satisfied. Watch lengths update as exact fractions, roots, and multiples of π.

The status bar shows remaining degrees of freedom. When DOF = 0, the figure is fully determined.
4

Export to Asymptote

When your construction is ready, click "Asy" to generate clean Asymptote code. Points, lines, circles, arcs, and labels are all included — with exact coordinates and proper LaTeX formatting.

Paste the output into your .tex file with \usepackage{asymptote}. Compile with asy or latexmk for vector-quality diagrams.

Every constraint you need

From simple distances to circle tangency — define any geometric relationship

Distance

Fix the distance between two points

D

Angle

Set the angle between two lines

A

Coincident

Lock two points together

C

Parallel

Keep two lines parallel

P

Perpendicular

Two lines at 90°

N

Tangent

Line tangent to circle

G

Horizontal

Align points horizontally

H

Vertical

Align points vertically

H

Midpoint

Point at center of segment

M
=

Equal Length

Two segments, same length

E

Point on Circle

Constrain point to circumference

Point on Line

Constrain point to a segment

─│

H/V Align

Align points horizontally or vertically

H

Intersection

Pin a point where two lines cross

J

Inferred Length

Measure and display a distance live

I

Radius

Fix a circle's radius to an exact value

D

Numbers as they should be

Angulus recognizes exact mathematical values and renders them in LaTeX

√2
not 1.41421...
π/3
not 1.04720...
φ
not 1.61803...
1 + √5
not 3.23607...
4π√61
not 98.1264...
Every measurement is checked against thousands of known exact forms — integer multiples of π, rational fractions, square root combinations, and the golden ratio. When a match is found, the value is displayed as a beautifully typeset LaTeX expression instead of a decimal approximation.

Expression references

Constraints that reference other constraints — build parametric dependencies

Leg a
3
Leg b
4
Hypotenuse
sqrt(@a^2 + @b^2)
= 5
Change leg a to 5 → hypotenuse auto-updates to √41

Publication-ready Asymptote code

Turn any construction into an Asymptote diagram for LaTeX — perfect for textbooks, competitions, and papers

diagram.asy
import geometry; size(8cm); // Triangle vertices pair A = (0, 0); pair B = (5, 0); pair C = (2, 3.46); // Draw triangle draw(A--B--C--cycle); // Circumscribed circle draw(circumcircle(A, B, C), blue); // Labels label("$A$", A, SW); label("$B$", B, SE); label("$C$", C, N); dot(A); dot(B); dot(C);

One-click export

Click "Asy" in the toolbar to instantly generate Asymptote code from your current construction. Copy to clipboard and paste into your LaTeX document.

Full geometry support

Points, lines, circles, arcs, rectangles, and regular polygons are all exported with their exact coordinates and relationships.

𝖫 LaTeX labels

Labels with LaTeX math (like $\sqrt{2}$) are preserved in the exported code. Auto-placed with intelligent compass-based positioning.

Live preview

See a rendered preview of your Asymptote output right in the app before exporting. Verify your diagram looks exactly right.

Ideal for math olympiad solutions, geometry textbook figures, research papers, and any document typeset with LaTeX.

Keyboard-first workflow

Every tool has a single-key shortcut — no menus, no hunting

Select / MoveV
PointX
LineL
CircleO
ArcU
RectangleR
Regular PolygonY
LabelT
DistanceD
AngleA
CoincidentC
ParallelP
PerpendicularN
TangentG
H/V AlignH
MidpointM
Equal LengthE
IntersectionJ
Inferred LengthI
Undo / Redo⌘Z
Save⌘S
Back to SelectEsc

Start constructing

No install, no signup. Draw, constrain, and export Asymptote code.

Free forever
Asymptote export
Cloud save
No account required
Open Angulus