geometry-ai999x: offline, verified geometry solver with step-by-step answers

Desktop app & command line · Compute in your browser · Install (Python) · Guides · Evaluation · AI999X on Hugging Face · Website · Support: Buy Me a Coffee

License: Apache-2.0 · Author: Ibnul Jaif Farabi (creator and engineer) · Organization: AI999X · Version 1.5.0

Field: Mathematics & Statistics · Tasks: Question Answering

geometry-ai999x is an offline, deterministic geometry solver written in Rust: a desktop app, a command-line program, a browser module and a Python package. It answers geometry questions with verified results from 76 certified capabilities, gives 375 documented answers identically on Windows and Linux, and refuses rather than guesses when an answer cannot be verified.

geometry-ai999x reads a question in plain English (or a typed call), picks a certified geometry capability, computes the answer exactly, checks it, and returns the result with its steps, units, LaTeX and assumptions, or a refusal that says what is missing. It runs fully offline on any CPU, needs no GPU, no API key and no internet, and is built to give zero wrong answers: when it is not sure, it refuses instead of guessing.

Buy me a coffee License Python Offline Rust

Run it your way. geometry-ai999x comes as the AI999X desktop app and as the command-line program geometry for Windows and Linux, runs in your browser as WebAssembly, and installs as a Python package. The desktop app, the command line and the browser run the same compiled Rust program on your own device: offline, no Python needed.

Get it

Way to run it For Get it
AI999X Geometry desktop app 1.5.0 Windows, Linux. This model in its own app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
AI999X desktop app 1.5.0 Windows, Linux. Every AI999X model in one app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
Command line (geometry) Windows, Linux. One program per model, offline, no Python Windows (x86-64) · Linux (x86-64)
In your browser any device. Nothing to install Compute on the model page
Python Python 3.10+ pip install geometry-ai999x

Checksums: SHA256SUMS · every version: https://downloads.ai999x.com/desktop/latest/ · install guide: desktop & command line

Quick start

Desktop app

Download AI999X Geometry for your system (above), unpack it and start it; type a question in words or pick a capability, fill in the form and press Compute. Figures and an explanation of the answer appear beside it. The AI999X desktop app has the same, with Geometry among all AI999X models.

Linux, from a terminal:

curl -LO https://downloads.ai999x.com/desktop/1.5.0/ai999x-geometry-1.5.0-linux-x86_64.tar.gz
curl -LO https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
tar xzf ai999x-geometry-1.5.0-linux-x86_64.tar.gz
./ai999x-geometry-1.5.0-linux-x86_64/ai999x-geometry

Command line

Linux:

curl -LO https://downloads.ai999x.com/desktop/1.5.0/ai999x-cli-1.5.0-linux-x86_64.tar.gz
curl -LO https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
mkdir -p ~/.local/share && tar xzf ai999x-cli-1.5.0-linux-x86_64.tar.gz -C ~/.local/share
echo 'export PATH="$HOME/.local/share/ai999x-cli-1.5.0-linux-x86_64:$PATH"' >> ~/.bashrc && source ~/.bashrc
geometry --version

Windows (PowerShell):

$F = "ai999x-cli-1.5.0-windows-x86_64.zip"
Invoke-WebRequest "https://downloads.ai999x.com/desktop/1.5.0/$F" -OutFile $F
Invoke-WebRequest "https://downloads.ai999x.com/desktop/1.5.0/SHA256SUMS" -OutFile SHA256SUMS
(Get-FileHash $F -Algorithm SHA256).Hash.ToLower() -eq ((Select-String -SimpleMatch $F SHA256SUMS).Line -split ' ')[0]
Expand-Archive $F -DestinationPath "$env:LOCALAPPDATA\AI999X" -Force
$D = "$env:LOCALAPPDATA\AI999X\ai999x-cli-1.5.0-windows-x86_64"; $env:Path += ";$D"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$D", "User")
geometry --version

Every command below was run as shown; the text under it is what the program printed.

Ask in words: Write the question as you would say it: the program reads the quantities and their units, picks the capability and answers.

$ geometry ask "Find the circumcenter and circumradius of the triangle with vertices (0, 0), (4, 0) and (0, 3)."
Read as: Circumcircle: the circle through three points
cx = 2
cy = 1.5
radius = 2.5
  by: Circumcircle: the circle through three points  (intersection of the perpendicular bisectors, solved in coordinates relative to the first point)
  assumes: exactly 3 points; not collinear

What a capability needs: The equation or method, every input and output with its SI unit. Read this before solve: it tells you the input names.

$ geometry info circle_line_intersection
Intersection of a circle and a line
  foot of the perpendicular from the centre, then the half-chord sqrt(r^2 - d^2) along the line
  in   cx       x of the centre [1]
  in   cy       y of the centre [1]
  in   r        radius [1]
  in   a        coefficient of x of the line [1]
  in   b        coefficient of y of the line [1]
  in   c        constant of the line [1]
  out  count    number of intersection points (0, 1 or 2) [1]
  out  x1       x of the first point (ordered by x, then y) [1]
  out  y1       y of the first point [1]
  out  x2       x of the second point [1]
  out  y2       y of the second point [1]

Solve: Inputs as name=value, each with any unit of the right kind. The answer lists every output, the method used, each input converted to SI, and the conditions the answer assumes.

$ geometry solve circle_line_intersection cx=0.0 cy=0.0 r=5.0 a=-1.0 b=1.0 c=-1.0
count = 2
x1 = -4
y1 = -3
x2 = 3
y2 = 4
  by: Intersection of a circle and a line  (foot of the perpendicular from the centre, then the half-chord sqrt(r^2 - d^2) along the line)
  cx = 0
  cy = 0
  r = 5
  a = -1
  b = 1
  c = -1
  assumes: r > 0; a and b not both 0; tangency is decided exactly on the written values; points ordered by x, then y; absent points are empty

Many questions at once: One JSON request per line in, one JSON answer per line out, in order: for scripts, notebooks and agents (the program starts once). In PowerShell: Get-Content cases.jsonl | geometry batch

cases.jsonl:

{"key": "circle_line_intersection", "inputs": {"cx": 0.0, "cy": 0.0, "r": 5.0, "a": -1.0, "b": 1.0, "c": -1.0}}
{"key": "triangle_circumcircle", "inputs": {"points": "[0, 0, 4, 0, 0, 3]"}}
$ geometry batch < cases.jsonl
{"outcome":"SOLVED","message":"","value":2.0,"unit":"","solved_for":"count","si":[["cx",0.0],["cy",0.0],["r",5.0],["a",-1.0],["b",1.0],["c",-1.0]],"values":[["count",2,""],["x1",-4.0,""],["y1",-3.0,""],["x2",3.0,""],["y2",4.0,""]],"target":"count","phrase":"number of intersection points (0, 1 or 2)","assumptions":["r > 0","a and b not both 0","tangency is decided exactly on the written values","points ordered by x, then y; absent points are empty"],"name":"Intersection of a circle and a line","equation":"foot of the perpendicular from the centre, then the half-chord sqrt(r^2 - d^2) along the line"}
{"outcome":"SOLVED","message":"","value":2.5,"unit":"","solved_for":"radius","values":[["cx",2.0,""],["cy",1.5,""],["radius",2.5,""]],"target":"radius","phrase":"x of the circumcentre","assumptions":["exactly 3 points","not collinear"],"name":"Circumcircle: the circle through three points","equation":"intersection of the perpendicular bisectors, solved in coordinates relative to the first point"}

In your browser

Open Geometry on ai999x.com, choose a capability and press Compute: the model runs on your own device as WebAssembly; nothing is sent anywhere. Change any input (any unit of the right kind) and the answer, its explanation and the figures follow.

In your own page: geometry_ai999x.wasm and the loader ax-wasm.js (https://www.ai999x.com/compute/rust/ax-wasm.js).

Python

pip install geometry-ai999x

Worked examples in every form

The same worked example from the command line, from Python and in the browser. Each command-line output is what the program printed.

Area of the intersection of two convex polygons

The area common to two convex polygons given by their vertices.

Command line:

$ geometry solve convex_polygon_intersection "p=[0, 0, 2, 0, 2, 2, 0, 2]" "q=[1, 1, 3, 1, 3, 3, 1, 3]"
area = 1
  by: Area of the intersection of two convex polygons  (Sutherland-Hodgman clipping of one polygon by the other's edges, then the shoelace area)
  assumes: both polygons simple and convex

Python:

import geometry_ai999x as m

a = m.solve("convex_polygon_intersection", p=[0, 0, 2, 0, 2, 2, 0, 2], q=[1, 1, 3, 1, 3, 3, 1, 3])
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines the common region shared by two convex polygons, defined by their ordered vertices. Clipping one polygon against the edges of the other and applying the shoelace formula to the resulting shape gives the precise overlap area. The result, 1, represents the total size of this intersection in square units, indicating how much space the two shapes occupy simultaneously.

Closest pair of points

The smallest distance between any two of a set of points in the plane.

Command line:

$ geometry solve closest_pair "points=[0, 0, 5, 5, 1, 1, 9, 2, 6, 6.5]"
distance = 1.414213562
  by: Closest pair of points  (sort by x and sweep, stopping each scan once the x-gap exceeds the best distance)
  assumes: at least 2 points, at most 2000; a repeated point gives distance 0

Python:

import geometry_ai999x as m

a = m.solve("closest_pair", points=[0, 0, 5, 5, 1, 1, 9, 2, 6, 6.5])
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines the smallest Euclidean distance between any two points in the provided set. By sorting the points and sweeping through them, the algorithm identifies the minimum separation, which is reported as 1.41421. This value represents the tightest proximity found among all possible pairs.

Convex hull of points in the plane

The convex hull of a set of points: its vertices (counterclockwise), their number, its area and perimeter.

Command line:

$ geometry solve convex_hull "points=[0, 0, 2, 1, 4, 0, 3, 3, 1, 2, 2, 4]"
hull = [[0.0,0.0],[4.0,0.0],[3.0,3.0],[2.0,4.0]]
n_vertices = 4
area = 9
perimeter = 13.04862718
  by: Convex hull of points in the plane  (Andrew's monotone chain with exact (rational) orientation tests; shoelace area)
  assumes: at least 3 points, not all collinear, at most 5000; points on a hull edge between two vertices are not vertices; repeated points count once

Python:

import geometry_ai999x as m

a = m.solve("convex_hull", points=[0, 0, 2, 1, 4, 0, 3, 3, 1, 2, 2, 4])
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: This calculation determines the smallest convex polygon that contains all provided points. The result identifies 4 specific vertices arranged in counterclockwise order, starting from the point with the smallest x-coordinate. The enclosed region has an area of 9 and a boundary length of 13.0486. This process assumes the input set contains at least three non-collinear points to form a valid two-dimensional shape.

Delaunay triangulation and Voronoi diagram: counts

Numbers of Delaunay triangles and edges, hull vertices, Voronoi vertices and unbounded Voronoi cells of points in general position.

Command line:

$ geometry solve delaunay_voronoi_counts "points=[0, 0, 4, 0, 0, 3, 5, 4, 2, 1]"
triangles = 4
edges = 8
hull_vertices = 4
voronoi_vertices = 4
unbounded_cells = 4
  by: Delaunay triangulation and Voronoi diagram: counts  (exact general-position checks, the convex hull, then Euler's formula for a triangulation; Voronoi is the dual)
  assumes: 3 to 25 distinct points; general position: no three collinear, no four concyclic (checked exactly)

Python:

import geometry_ai999x as m

a = m.solve("delaunay_voronoi_counts", points=[0, 0, 4, 0, 0, 3, 5, 4, 2, 1])
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

What this means: Given a set of distinct points in general position, this calculation determines the structural counts for both the Delaunay triangulation and its dual, the Voronoi diagram. The number of triangles is derived from the total point count minus the convex hull vertices, resulting in 4 triangles. Correspondingly, there are 8 edges connecting these points. The Voronoi diagram mirrors this structure with 4 vertices, matching the triangle count, and 4 unbounded regions, which correspond to the 4 vertices on the outer boundary of the point cloud.

Documentation

Highlights

  • Verified, not generated. Every answer is computed by a certified geometry capability and checked (substituted back, dimension-checked or compared with an independent computation) before it is returned.
  • Zero wrong answers by design. Seven explicit outcomes (SOLVED, NEEDS_INPUT, AMBIGUOUS, INVALID_INPUT, OUT_OF_SCOPE, UNRECOGNIZED_FORMAT, INTERNAL_ERROR), never a silent guess. Every one of its 375 documented answers is reproduced exactly on every tested platform.
  • Plain-English questions and a guaranteed typed interface. ask() reads documented question forms; solve(capability_id, **inputs) always solves a supported task with valid inputs.
  • Explains itself. Steps, formulas in LaTeX, units, assumptions and the model used, ready for notebooks, tutoring apps and homework checkers.
  • Native and in the browser. Every capability also computes natively in Rust: the desktop app and the geometry command line for Windows and Linux, and WebAssembly on the model page, no Python, no network.
  • Small and portable. Pure Python (sympy, mpmath); identical answers on Windows and Linux (Python 3.10, 3.11, 3.12, 3.13, 3.14).
  • Coverage: plane and solid figures, coordinate geometry, conic sections, polygons and polyhedra, computational geometry, transformations, spherical geometry and curves and surfaces.

Model overview

Property Value
Package geometry-ai999x 1.5.0 (import geometry_ai999x)
Type Deterministic neuro-symbolic geometry engine (rule-based reading + certified symbolic capabilities)
Capabilities 76 certified procedures
Knowledge pack version 1.0.0
Golden answers 375 documented answers, identical on every tested platform
Platforms tested Windows (Python 3.13), Linux x86-64 (Python 3.10, 3.11, 3.12, 3.13, 3.14)
Runtime CPU only, offline; no GPU, no network, no API key
License Apache-2.0
Creator / engineer Ibnul Jaif Farabi
Organization AI999X

Python quick start

pip install geometry-ai999x
# or straight from this repository:
pip install https://huggingface.co/AI999X/geometry-ai999x/resolve/main/dist/geometry_ai999x-1.5.0-py3-none-any.whl
import geometry_ai999x as geometry

geometry.ask("Find the circumcenter and circumradius of the triangle with vertices (0, 0), (4, 0) and (0, 3).").show()
# -> SOLVED — cx = 2, cy = 1.5, radius = 2.5  (triangle_circumcircle)
geometry.ask("Find the convex hull of the points (0, 0), (2, 1), (4, 0), (3, 3), (1, 2), (2, 4).").show()
# -> SOLVED — hull = [[0.0, 0.0], [4.0, 0.0], [3.0, 3.0], [2.0, 4.0]], n_vertices = 4, area = 9, perimeter = 13.0486  (convex_hull)
geometry.ask("Where does the line y = x + 1 intersect the circle x^2 + y^2 = 25?").show()
# -> SOLVED — count = 2, x1 = -4, y1 = -3, x2 = 3  (circle_line_intersection)
geometry.ask("Find the volume and surface area of a regular icosahedron with edge 2.").show()
# -> SOLVED — vertices = 12, edges = 30, faces = 20, euler_characteristic = 2  (platonic_solid)
geometry.solve("great_circle_distance", lat1=51.5074, lon1=-0.1278, lat2=40.7128, lon2=-74.006).show()
# -> SOLVED — central_angle = 50.0942, distance = 5570.22  (great_circle_distance)
geometry.ask("Who created you?").message
# -> geometry-ai999x was created and engineered by Ibnul Jaif Farabi at AI999X.

The Python package also installs a Python command, geometry-ai999x "<question>"; for the native program use geometry (above). The outputs above were produced by running this exact code on geometry-ai999x 1.5.0.

How every answer is verified

  1. Reading: the question is turned into typed quantities (value, unit, kind, role) and one asked quantity; every stated number must be used or the question is refused.
  2. Planning: only certified capabilities may answer; a capability applies only under the conditions the wording states (for example a pendulum, a liquid at rest, boiling).
  3. Computing: exact symbolic or high-precision numeric evaluation.
  4. Checking: dimensions, substitution back into the defining equation, and agreement between independent readings; any disagreement becomes a refusal, never a number.

Capabilities are certified before they ship: each must reproduce hand-worked reference cases, reject a deliberately wrong variant (a control), and leave every benchmark answer unchanged.

Python worked examples, with their steps

Each question was put to geometry-ai999x; the answer is the one it returned, with the steps it took.

Circumcircle: the circle through three points · Coordinate geometry

Find the circumcenter and circumradius of the triangle with vertices (0, 0), (4, 0) and (0, 3).

→ cx = 2, cy = 1.5, radius = 2.5

Steps
  • Circumcircle: the circle through three points: points = [0, 0, 4, 0, 0, 3] → cx = 2, cy = 1.5, radius = 2.5

Convex hull of points in the plane · Computational geometry

Find the convex hull of the points (0, 0), (2, 1), (4, 0), (3, 3), (1, 2), (2, 4).

→ hull = [[0, 0], [4, 0], [3, 3], [2, 4]], n_vertices = 4, area = 9, perimeter = 13.04862718

Steps
  • Convex hull of points in the plane: points = [0, 0, 2, 1, 4, 0, 3, 3, 1, 2, 2, 4] → hull = [[0, 0], [4, 0], [3, 3], [2, 4]], n_vertices = 4, area = 9, perimeter = 13.04862718

Intersection of a circle and a line · Coordinate geometry

Where does the line y = x + 1 intersect the circle x^2 + y^2 = 25?

→ count = 2, x1 = -4, y1 = -3, x2 = 3, y2 = 4

Steps
  • Intersection of a circle and a line: cx = 0, cy = 0, r = 5, a = -1, b = 1, c = -1 → count = 2, x1 = -4, y1 = -3, x2 = 3, y2 = 4

Platonic solids: counts, Euler characteristic, volume, surface, radii · Polyhedra

Find the volume and surface area of a regular icosahedron with edge 2.

→ vertices = 12, edges = 30, faces = 20, euler_characteristic = 2, volume = 17.45355993, surface_area = 34.64101615, circumradius = 1.902113033, inradius = 1.511522628

Steps
  • Platonic solids: counts, Euler characteristic, volume, surface, radii: solid = icosahedron, edge = 2 → vertices = 12, edges = 30, faces = 20, euler_characteristic = 2, volume = 17.45355993, surface_area = 34.64101615, circumradius = 1.902113033, inradius = 1.511522628

Great-circle distance between two points on a sphere · Spherical geometry

m.solve("great_circle_distance", lat1=51.5074, lon1=-0.1278, lat2=40.7128, lon2=-74.006)

→ central_angle = 50.09421156, distance = 5570.22218

Steps
  • Great-circle distance between two points on a sphere: lat1 = 51.5074, lon1 = -0.1278, lat2 = 40.7128, lon2 = -74.006 → central_angle = 50.09421156, distance = 5570.22218

Classify a conic section from its general equation · Conic sections

Classify the conic x^2 + 4y^2 - 4 = 0.

→ type = ellipse

Steps
  • Classify a conic section from its general equation: A = 1, B = 0, C = 4, D = 0, E = 0, F = -4 → type = ellipse

Figures

Every point was computed by geometry-ai999x.

Convex hull and smallest enclosing circle of ten points

Convex hull and smallest enclosing circle of ten points, computed by geometry-ai999x

Ten points (0 0, 5 5, 1 1, 9 2, 6 6.5, 3 7, 7 3, 2 4, 8 6, 4 1.5), their convex hull as returned by the package (5 vertices, area 38.25, perimeter 26.0614), and the smallest circle enclosing them; marked: its centre x = 4.07895, y = 2.89474, radius 5.00173.

A triangle's circles and centres

A triangle's circles and centres, computed by geometry-ai999x

The triangle with vertices 0 0, 4 0, 1 3: circumcircle (centre O = (2, 1), radius 2.23607), incircle (centre I = (1.45982, 1.05218), radius 1.05218), orthocentre H = (1, 1) and centroid G = (1.66667, 1), each computed by the package; O, G and H lie on the Euler line.

A polygon's angles, area and centroid

A polygon's angles, area and centroid, computed by geometry-ai999x

The L-shaped polygon 0 0, 6 0, 6 2, 2 2, 2 5, 0 5, with the interior angle at each vertex (sum 720°, 1 reflex), area 18 and perimeter 22; marked: the centroid x = 2.33333, y = 1.83333, all computed by the package. The centroid of a non-convex shape need not be its middle.

Tangent lines from an outside point to a circle

Tangent lines from an outside point to a circle, computed by geometry-ai999x

Tangents from P = (5, 0) to the circle of centre C = (0, 0) and radius 3: the package gives the touching points (1.8, -2.4) and (1.8, 2.4) and the tangent length 4. The circle on the diameter CP meets the circle at the same two points (its intersection, also computed by the package: (1.8, -2.4) and (1.8, 2.4)).

Rotation, reflection and dilation of a triangle

Rotation, reflection and dilation of a triangle, computed by geometry-ai999x

The triangle (1, 1), (4, 1), (2, 3) and three images, each vertex mapped by the package: rotated 90° about the origin ((-1, 1), (-1, 4), (-3, 2)), reflected in the line x + y = 0 ((-1, -1), (-1, -4), (-3, -2)) and dilated about the origin by −0.5 ((-0.5, -0.5), (-2, -0.5), (-1, -1.5)).

Angles of regular polygons, 3 to 20 sides

Angles of regular polygons, 3 to 20 sides, computed by geometry-ai999x

Interior and exterior angles of the regular polygons with 3 to 20 sides, each computed by the package: the interior angle climbs towards 180° (triangle 60°, 20-gon 162°) while the exterior angle 360°/n falls; marked: n = 6, interior angle = 120°.

Capabilities

76 certified procedures. A few of them:

  • Procedures: Angle between two lines; Angle between two planes; Arc length of a parabola; Area and spherical excess of a spherical triangle; Area of a triangle from base and height; Area of an annulus (ring); Area of the intersection of two convex polygons; Barycentric coordinates of a point in a triangle; Centroid of a polygon; Circle: area, circumference and diameter; Circular sector: arc length, area and chord; Circular segment: area, chord, height, arc; Circumcircle: the circle through three points; Classify a conic section from its general equation; Classify a triangle by its sides and angles; Closest pair of points; Cone: volume, slant height and surface area; Convex hull of points in the plane; Cuboid (rectangular box): volume, surface area, space diagonal; Curvature of a polynomial graph at a point; Curvature of a torus at a point; Curvature of an ellipse at a point; Cylinder: volume and surface area; Delaunay triangulation and Voronoi diagram: counts …

geometry_ai999x.templates() lists every question form ask() reads; the capability guide (PDF, every example executed) is included in this repository.

All 76 formulas

Show every formula, by topic

Computational geometry / convex hulls

Convex hull of points in the plane

conv⁡(S)={∑λipi:λi≥0,∑λi=1} \operatorname{conv}(S) = \{\textstyle\sum \lambda_i p_i : \lambda_i \ge 0, \sum\lambda_i = 1\}

Computational geometry / enclosing shapes

Minimum-area enclosing rectangle

A∗=min⁡e∈hull edgeswe he A^* = \min_{e \in \text{hull edges}} w_e\, h_e

Smallest enclosing circle of points

min⁡c,rr   s.t. vertpi−cvert≤r ∀i \min_{c, r} r \;\text{ s.t. } \\vert p_i - c\\vert \le r\ \forall i

Computational geometry / intersections

Intersection of two line segments

A+t(B−A)=C+u(D−C),0≤t,u≤1 A + t(B-A) = C + u(D-C),\quad 0 \le t, u \le 1

Computational geometry / point location

Point in polygon test

inside  ⟺  #{edges crossed by the ray y=py,x>px} is odd \text{inside} \iff \#\{\text{edges crossed by the ray } y = p_y, x > p_x\} \text{ is odd}

Computational geometry / polygon clipping

Area of the intersection of two convex polygons

A(P∩Q) A(P \cap Q)

Computational geometry / proximity

Closest pair of points

δ=min⁡i<jvertpi−pjvert \delta = \min_{i<j} \\vert p_i - p_j\\vert

Distance from a point to a segment

t∗=clamp⁡ ⁣((P−A)⋅(B−A)vertB−Avert2,0,1),d=vertP−(A+t∗(B−A))vert t^* = \operatorname{clamp}\!\left(\frac{(P-A)\cdot(B-A)}{\\vert B-A\\vert ^2}, 0, 1\right),\quad d = \\vert P - (A + t^*(B-A))\\vert

Farthest pair of points (diameter of a point set)

D=max⁡i<jvertpi−pjvert D = \max_{i<j} \\vert p_i - p_j\\vert

Nearest neighbour of a query point

k∗=arg⁡min⁡kvertpk−qvert k^* = \arg\min_k \\vert p_k - q\\vert

Computational geometry / shape comparison

Hausdorff distance between two point sets

dH(A,B)=max⁡{sup⁡ainf⁡bverta−bvert, sup⁡binf⁡averta−bvert} d_H(A,B) = \max\{\sup_{a}\inf_{b}\\vert a-b\\vert ,\ \sup_{b}\inf_{a}\\vert a-b\\vert \}

Computational geometry / triangulations

Delaunay triangulation and Voronoi diagram: counts

T=2n−2−h,E=3n−3−h T = 2n - 2 - h,\quad E = 3n - 3 - h

Conic sections / ellipses

Perimeter of an ellipse (exact, by the complete elliptic integral)

P=4a E(e),E(m)=π2 AGM(1,1−m)(1−∑n≥02n−1cn2) P = 4a\,E(e),\quad E(m) = \frac{\pi}{2\,\mathrm{AGM}(1,\sqrt{1-m})}\Big(1 - \sum_{n\ge0} 2^{n-1} c_n^2\Big)

Conic sections / general second-degree equation

Classify a conic section from its general equation

Δ=det⁡(AB/2D/2B/2CE/2D/2E/2F),B2−4AC≶0 \Delta = \det\begin{pmatrix}A & B/2 & D/2\\ B/2 & C & E/2\\ D/2 & E/2 & F\end{pmatrix},\quad B^2 - 4AC \lessgtr 0

Coordinate geometry / circles

Intersection of a circle and a line

d=∣acx+bcy+c∣a2+b2,P=F±r2−d2 (−b,a)a2+b2 d = \frac{\vert a c_x + b c_y + c\vert }{\sqrt{a^2+b^2}},\quad P = F \pm \sqrt{r^2-d^2}\,\frac{(-b, a)}{\sqrt{a^2+b^2}}

Intersection of two circles

a=d2+r12−r222d,h=r12−a2 a = \frac{d^2 + r_1^2 - r_2^2}{2d},\quad h = \sqrt{r_1^2 - a^2}

Tangents from a point to a circle

L=∣P−C∣2−r2,T=C+r2d2(P−C)±rLd2(P−C)⊥ L = \sqrt{\vert P-C\vert ^2 - r^2},\quad T = C + \frac{r^2}{d^2}(P-C) \pm \frac{rL}{d^2}(P-C)^{\perp}

Coordinate geometry / lines

Angle between two lines

tan⁡θ=∣a1b2−a2b1a1a2+b1b2∣ \tan\theta = \left\vert \frac{a_1b_2 - a_2b_1}{a_1a_2 + b_1b_2}\right\vert

Intersection point of two lines

x=b1c2−b2c1a1b2−a2b1,y=c1a2−c2a1a1b2−a2b1 x = \frac{b_1c_2 - b_2c_1}{a_1b_2 - a_2b_1},\quad y = \frac{c_1a_2 - c_2a_1}{a_1b_2 - a_2b_1}

Coordinate geometry / paths

Length of a polyline (path through points)

L=∑i=1n−1vertpi+1−pivert L = \sum_{i=1}^{n-1} \\vert p_{i+1} - p_i\\vert

Coordinate geometry / triangle centres

Circumcircle: the circle through three points

∣O−A∣=∣O−B∣=∣O−C∣=R \vert O - A\vert = \vert O - B\vert = \vert O - C\vert = R

Incircle of a triangle: incentre and inradius

I=aA+bB+cCa+b+c,r=2Ka+b+c I = \frac{aA + bB + cC}{a+b+c},\quad r = \frac{2K}{a+b+c}

Orthocentre of a triangle

(H−A)⋅(C−B)=0,(H−B)⋅(C−A)=0 (H-A)\cdot(C-B) = 0,\quad (H-B)\cdot(C-A) = 0

Coordinate geometry / triangles

Barycentric coordinates of a point in a triangle

λ1=[PBC][ABC], λ2=[APC][ABC], λ3=[ABP][ABC] \lambda_1 = \frac{[PBC]}{[ABC]},\ \lambda_2 = \frac{[APC]}{[ABC]},\ \lambda_3 = \frac{[ABP]}{[ABC]}

Triangle from vertex coordinates: area, perimeter, centroid, angles

K=12∣(xB−xA)(yC−yA)−(xC−xA)(yB−yA)∣,G=13(A+B+C) K = \tfrac12 \vert (x_B-x_A)(y_C-y_A) - (x_C-x_A)(y_B-y_A)\vert ,\quad G = \tfrac13(A+B+C)

Curves / arc length

Arc length of a parabola

L=12a[12(u1+u2+arsinh⁡u)]u0u1,u=2ax+b L = \frac{1}{2a}\Big[\tfrac12\big(u\sqrt{1+u^2} + \operatorname{arsinh} u\big)\Big]_{u_0}^{u_1},\quad u = 2ax + b

Curves / curvature

Curvature of a polynomial graph at a point

κ=∣y′′∣(1+y′2)3/2,R=1κ \kappa = \frac{\vert y''\vert }{(1+y'^2)^{3/2}},\quad R = \frac1\kappa

Curvature of an ellipse at a point

κ(t)=ab(a2sin⁡2t+b2cos⁡2t)3/2 \kappa(t) = \frac{ab}{(a^2\sin^2 t + b^2\cos^2 t)^{3/2}}

Curves / space curves

Helix: curvature, torsion and length per turn

κ=rr2+c2,τ=cr2+c2,c=p2π \kappa = \frac{r}{r^2+c^2},\quad \tau = \frac{c}{r^2+c^2},\quad c = \frac{p}{2\pi}

Plane figures / circles

Area of an annulus (ring)

A=π(R2−r2) A = \pi (R^2 - r^2)

Circle: area, circumference and diameter

A=πr2,C=2πr A = \pi r^2,\quad C = 2\pi r

Circular sector: arc length, area and chord

s=rθ,A=12r2θ,c=2rsin⁡θ2 s = r\theta,\quad A = \tfrac{1}{2} r^2\theta,\quad c = 2r\sin\tfrac{\theta}{2}

Circular segment: area, chord, height, arc

A=12r2(θ−sin⁡θ),c=2rsin⁡θ2,h=r(1−cos⁡θ2) A = \tfrac12 r^2(\theta - \sin\theta),\quad c = 2r\sin\tfrac{\theta}{2},\quad h = r\left(1-\cos\tfrac{\theta}{2}\right)

Plane figures / quadrilaterals

Rectangle: area, perimeter and diagonal

A=lw,P=2(l+w),d=l2+w2 A = lw,\quad P = 2(l+w),\quad d = \sqrt{l^2+w^2}

Rhombus from its diagonals: area, side, perimeter

A=12d1d2,s=12d12+d22 A = \tfrac{1}{2} d_1 d_2,\quad s = \tfrac{1}{2}\sqrt{d_1^2+d_2^2}

Trapezoid: area and midsegment

A=(a+b) h2 A = \frac{(a+b)\,h}{2}

Plane figures / triangles

Area of a triangle from base and height

A=12bh A = \tfrac{1}{2} b h

Classify a triangle by its sides and angles

x2+y2⋛z2  ⇔  acute / right / obtuse x^2 + y^2 \gtreqless z^2 \;\Leftrightarrow\; \text{acute / right / obtuse}

Medians, altitudes and angle bisectors of a triangle

ma=122b2+2c2−a2,ha=2Ka,ta=bc [(b+c)2−a2]b+c m_a = \tfrac12\sqrt{2b^2+2c^2-a^2},\quad h_a = \frac{2K}{a},\quad t_a = \frac{\sqrt{bc\,[(b+c)^2-a^2]}}{b+c}

Polygons / convexity

Is a polygon convex?

sign⁡((pi+1−pi)×(pi+2−pi+1)) constant \operatorname{sign}\big((p_{i+1}-p_i)\times(p_{i+2}-p_{i+1})\big) \text{ constant}

Polygons / coordinates

Centroid of a polygon

Cx=16A∑i(xi+xi+1)(xiyi+1−xi+1yi) C_x = \frac{1}{6A}\sum_i (x_i + x_{i+1})(x_i y_{i+1} - x_{i+1} y_i)

Interior angles of a polygon from its vertices

θi=180∘−atan2⁡(u×v,u⋅v),∑θi=(n−2)180∘ \theta_i = 180^\circ - \operatorname{atan2}(\mathbf u\times\mathbf v, \mathbf u\cdot\mathbf v),\quad \sum\theta_i = (n-2)180^\circ

Polygon from vertices: area, perimeter, orientation

A=12∣∑i(xiyi+1−xi+1yi)∣ A = \tfrac12\left\vert \sum_{i} (x_i y_{i+1} - x_{i+1} y_i)\right\vert

Polygons / lattice polygons

Pick's theorem: lattice points of a polygon

A=I+B2−1 A = I + \frac{B}{2} - 1

Polygons / regular polygons

Polygon angles and diagonals

θint=(n−2) 180∘n,θext=360∘n,D=n(n−3)2 \theta_{int} = \frac{(n-2)\,180^\circ}{n},\quad \theta_{ext} = \frac{360^\circ}{n},\quad D = \frac{n(n-3)}{2}

Regular polygon: area, perimeter, apothem, circumradius

a=s2tan⁡(π/n),R=s2sin⁡(π/n),A=12nsa a = \frac{s}{2\tan(\pi/n)},\quad R = \frac{s}{2\sin(\pi/n)},\quad A = \tfrac12 n s a

Polyhedra / regular polyhedra

Platonic solids: counts, Euler characteristic, volume, surface, radii

V−E+F=2,Vico=512(3+5) a3 V - E + F = 2,\quad V_{\text{ico}} = \tfrac{5}{12}(3+\sqrt5)\,a^3

Solid coordinate geometry / lines

Distance between two lines in space (skew or parallel)

d=∣(P2−P1)⋅(d1×d2)∣vertd1×d2vert d = \frac{\vert (P_2-P_1)\cdot(\mathbf d_1\times\mathbf d_2)\vert }{\\vert \mathbf d_1\times\mathbf d_2\\vert }

Solid coordinate geometry / lines and planes

Intersection of a line and a plane

t=−n⋅P0+dn⋅v,X=P0+t v t = -\frac{\mathbf n\cdot P_0 + d}{\mathbf n\cdot\mathbf v},\quad X = P_0 + t\,\mathbf v

Solid coordinate geometry / planes

Angle between two planes

cos⁡θ=∣n1⋅n2∣vertn1vertvertn2vert \cos\theta = \frac{\vert \mathbf n_1\cdot\mathbf n_2\vert }{\\vert \mathbf n_1\\vert \\vert \mathbf n_2\\vert }

Distance from a point to a plane

d=∣apx+bpy+cpz+d∣a2+b2+c2 d = \frac{\vert a p_x + b p_y + c p_z + d\vert }{\sqrt{a^2+b^2+c^2}}

Plane through three points

n=(B−A)×(C−A),n⋅x−n⋅A=0 \mathbf n = (B-A)\times(C-A),\quad \mathbf n\cdot\mathbf x - \mathbf n\cdot A = 0

Solid coordinate geometry / polyhedra

Tetrahedron from four vertices: volume and surface area

V=16∣(B−A)⋅((C−A)×(D−A))∣ V = \tfrac16\left\vert (B-A)\cdot\big((C-A)\times(D-A)\big)\right\vert

Solid coordinate geometry / spheres

Sphere through four points (circumsphere of a tetrahedron)

∣X−Pi∣2=R2  (i=1..4)⇒2(Pi−P1)⋅X=∣Pi∣2−∣P1∣2 \vert X - P_i\vert ^2 = R^2 \;(i = 1..4) \Rightarrow 2(P_i - P_1)\cdot X = \vert P_i\vert ^2 - \vert P_1\vert ^2

Solid coordinate geometry / triangles

Triangle in space: area and perimeter from vertices

K=14(a+b+c)(−a+b+c)(a−b+c)(a+b−c) K = \tfrac14\sqrt{(a+b+c)(-a+b+c)(a-b+c)(a+b-c)}

Solid geometry / solid angles

Solid angle of a cone

Ω=2π(1−cos⁡α)=4πsin⁡2α2 \Omega = 2\pi(1-\cos\alpha) = 4\pi\sin^2\tfrac{\alpha}{2}

Solid angle subtended by a triangle

tan⁡Ω2=∣a⋅(b×c)∣abc+(a⋅b)c+(a⋅c)b+(b⋅c)a \tan\frac{\Omega}{2} = \frac{\vert \mathbf a\cdot(\mathbf b\times\mathbf c)\vert }{abc + (\mathbf a\cdot\mathbf b)c + (\mathbf a\cdot\mathbf c)b + (\mathbf b\cdot\mathbf c)a}

Solids / cones

Cone: volume, slant height and surface area

V=13πr2h,l=r2+h2,AL=πrl V = \tfrac13 \pi r^2 h,\quad l = \sqrt{r^2+h^2},\quad A_L = \pi r l

Frustum of a cone: volume and surface area

V=13πh(R2+Rr+r2),AL=π(R+r)h2+(R−r)2 V = \tfrac13\pi h (R^2 + Rr + r^2),\quad A_L = \pi (R+r)\sqrt{h^2+(R-r)^2}

Solids / cylinders

Cylinder: volume and surface area

V=πr2h,A=2πrh+2πr2 V = \pi r^2 h,\quad A = 2\pi r h + 2\pi r^2

Solids / ellipsoids

Spheroid (ellipsoid of revolution): surface area and volume

Sobl=2πa2(1+1−e2eartanh⁡e),Spro=2πa2(1+caearcsin⁡e) S_{\text{obl}} = 2\pi a^2\left(1 + \frac{1-e^2}{e}\operatorname{artanh} e\right),\quad S_{\text{pro}} = 2\pi a^2\left(1 + \frac{c}{ae}\arcsin e\right)

Solids / prisms

Cuboid (rectangular box): volume, surface area, space diagonal

V=lwh,S=2(lw+lh+wh),d=l2+w2+h2 V = lwh,\quad S = 2(lw+lh+wh),\quad d = \sqrt{l^2+w^2+h^2}

Right prism on a regular polygon base: volume and surface area

B=ns24tan⁡(π/n),V=Bh,A=nsh+2B B = \frac{n s^2}{4\tan(\pi/n)},\quad V = Bh,\quad A = nsh + 2B

Solids / pyramids

Right rectangular (or square) pyramid: volume and surface area

V=13lwh,AL=lh2+(w/2)2+wh2+(l/2)2 V = \tfrac13 lwh,\quad A_L = l\sqrt{h^2+(w/2)^2} + w\sqrt{h^2+(l/2)^2}

Solids / solids of revolution

Torus: volume and surface area

V=2π2Rr2,A=4π2Rr V = 2\pi^2 R r^2,\quad A = 4\pi^2 R r

Solids / spheres

Sphere: volume and surface area

V=43πr3,S=4πr2 V = \tfrac43\pi r^3,\quad S = 4\pi r^2

Spherical cap: volume, curved area, base radius

V=13πh2(3R−h),A=2πRh,a=h(2R−h) V = \tfrac13 \pi h^2(3R - h),\quad A = 2\pi R h,\quad a = \sqrt{h(2R-h)}

Spherical geometry / distances

Great-circle distance between two points on a sphere

h=sin⁡2Δφ2+cos⁡φ1cos⁡φ2sin⁡2Δλ2,d=2R atan2⁡(h,1−h) h = \sin^2\tfrac{\Delta\varphi}{2} + \cos\varphi_1\cos\varphi_2\sin^2\tfrac{\Delta\lambda}{2},\quad d = 2R\,\operatorname{atan2}(\sqrt h, \sqrt{1-h})

Spherical geometry / navigation

Initial bearing (forward azimuth) along a great circle

θ=atan2⁡(sin⁡Δλcos⁡φ2, cos⁡φ1sin⁡φ2−sin⁡φ1cos⁡φ2cos⁡Δλ) \theta = \operatorname{atan2}\big(\sin\Delta\lambda\cos\varphi_2,\ \cos\varphi_1\sin\varphi_2 - \sin\varphi_1\cos\varphi_2\cos\Delta\lambda\big)

Spherical geometry / spherical triangles

Area and spherical excess of a spherical triangle

tan⁡E4=tan⁡s2tan⁡s−a2tan⁡s−b2tan⁡s−c2,A=ER2 \tan\frac E4 = \sqrt{\tan\frac s2\tan\frac{s-a}2\tan\frac{s-b}2\tan\frac{s-c}2},\quad A = E R^2

Surfaces / curvature

Curvature of a torus at a point

K=cos⁡vr(R+rcos⁡v),H=R+2rcos⁡v2r(R+rcos⁡v) K = \frac{\cos v}{r(R + r\cos v)},\quad H = \frac{R + 2r\cos v}{2r(R + r\cos v)}

Gaussian and mean curvature of a quadratic surface z = f(x, y)

K=fxxfyy−fxy2(1+fx2+fy2)2,H=(1+fy2)fxx−2fxfyfxy+(1+fx2)fyy2(1+fx2+fy2)3/2 K = \frac{f_{xx}f_{yy}-f_{xy}^2}{(1+f_x^2+f_y^2)^2},\quad H = \frac{(1+f_y^2)f_{xx} - 2f_xf_yf_{xy} + (1+f_x^2)f_{yy}}{2(1+f_x^2+f_y^2)^{3/2}}

Transformations / dilations

Dilation (enlargement) of a point

P′=C+k (P−C) P' = C + k\,(P - C)

Transformations / reflections

Reflection of a point in a line

P′=P−2 apx+bpy+ca2+b2 (a,b) P' = P - 2\,\frac{a p_x + b p_y + c}{a^2+b^2}\,(a, b)

Transformations / rotations

Rotation of a point

(x′y′)=(cos⁡θ−sin⁡θsin⁡θcos⁡θ)(x−cxy−cy)+(cxcy) \begin{pmatrix}x'\\y'\end{pmatrix} = \begin{pmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{pmatrix}\begin{pmatrix}x-c_x\\y-c_y\end{pmatrix} + \begin{pmatrix}c_x\\c_y\end{pmatrix}

Transformations / rotations in space

Rotation of a point in space about an axis

v′=vcos⁡θ+(k×v)sin⁡θ+k(k⋅v)(1−cos⁡θ) \mathbf v' = \mathbf v\cos\theta + (\mathbf k\times\mathbf v)\sin\theta + \mathbf k(\mathbf k\cdot\mathbf v)(1-\cos\theta)

Out of scope

  • Open-ended explanation, essay writing or tutoring dialogue: it is a solver, not a chatbot.
  • Questions outside its certified geometry capabilities, and any question whose stated numbers it cannot all use: it refuses with the reason instead.
  • High-stakes engineering, medical or legal decisions without independent review.

Limitations

  • It answers what its certified capabilities cover (plane and solid figures, coordinate geometry, conic sections, polygons and polyhedra, computational geometry, transformations, spherical geometry and curves and surfaces); anything else is refused with a reason.
  • ask() reads documented question forms and common phrasings; unusual wording may be refused; use solve() for guaranteed results.
  • Results are as correct as the certified relations and their stated conditions; a certified relation is a checked model, not a claim about every physical situation.

Citation

@software{geometry_ai999x_1_5_0,
  title  = {geometry-ai999x: an offline, verified geometry solver},
  author = {Farabi, Ibnul Jaif}, organization = {AI999X},
  year   = {2026}, version = {1.5.0},
  url    = {https://huggingface.co/AI999X/geometry-ai999x}
}

Contact

Questions, bug reports and requests: open a discussion on https://huggingface.co/AI999X/geometry-ai999x/discussions or visit https://ai999x.com.

Support the project

geometry-ai999x is free and open source. If it helps you, you can support further development on Buy Me a Coffee.

Created and engineered by Ibnul Jaif Farabi · AI999X · ai999x.com

Downloads last month
187
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collections including AI999X/geometry-ai999x

Evaluation results

  • identical on every platform on Golden answers (375 documented questions, Windows + Linux Python 3.10-3.14)
    self-reported
    1.000