RedcrabX – Geometry Functions
Reference for the Geometry panel | Lines and Curves & Angle groups
Related Physics helper: centforce(...=..., ...=..., ...=...) in the Physics panel computes centrifugal-force quantities via F = m·v²/r (solve any missing one of F, m, v, r).
Table of Contents
- Lines and Curves
-
Triangle
- Triangle Angles from Sides –
abcangles - Polygon Angle Sum and Single Angles –
polyangles - Equilateral Triangle Solver –
eqtri - Isosceles Triangle Solver –
isotri - Right Triangle Solver –
rtri - Pythagoras Right-Triangle Solver –
pythag - Isosceles Right-Triangle Solver –
isortri - Triangle Area from Base and Height –
triarea - Triangle Area from Base and Two Angles –
triarea2ang - Triangle Area from Three Sides (Heron) –
triheron
- Triangle Angles from Sides –
-
Angular
- Square Solver –
square - Golden Rectangle Solver –
goldrect - Parallelogram Solver –
para - Parallelogram Area from Base and Height –
paraaera - Rectangle Solver –
rect - Rhombus Solver –
rhom - Rhombus from Diagonals –
rhomd - Kite Area –
kitearea - Kite (Deltoid) Solver –
kite - Half-Square Kite Solver –
kitehs - Right Kite Solver –
kitert - Arbitrary Quadrilateral Solver –
quad - Concave Quadrilateral Solver –
quadconc - Three-Equal-Sides Trapezoid Solver –
treptri
- Square Solver –
- Circular
-
Spherical
- Sphere Solver –
sphere - Spherical Corner Solver –
sphcor - Spherical Shell Solver –
sphsl - Spherical Cap Solver –
sphecap - Spherical Sector Solver –
sphesec - Spherical Segment Solver –
sphseg - Spherical Wedge Solver –
sphwed - Spherical Ring Solver –
sphring - Spheroid Solver –
spheroid - Triaxial Ellipsoid Solver –
triellip
- Sphere Solver –
-
Cylinder
- Cylinder Solver –
cylinder - Tricylinder Solver –
tricylinder - Oloid Solver –
oloid - Torus Solver –
torus - Spindle Torus Solver –
spitor - Paraboloid Solver –
paraboloid - Hollow Cylinder Solver –
hollowcyl - Elliptic Cylinder Solver –
ellcyl - Oblique Cylinder Solver –
oblcyl - Half Cylinder Solver –
halfcyl - Oblique Cylinder Section Solver –
oblcylsec - Cylindrical Sector Solver –
cylsector - Cylindrical Segment Solver –
cylseg
- Cylinder Solver –
- Pyramid
- Cone
- Angle Group
- Quick Reference
Overview
The Geometry panel provides analytic-geometry helpers for 2D coordinate calculations.
All functions return a named result list when used with the = display operator
(e.g. a := p2dist(0,0,3,4)=), so each computed quantity appears
on its own labelled row with its unit. Individual results can be accessed via dot notation:
a.c, a.b, a.alpha, etc.
Functions are located in the Geometry panel under the Lines and Curves group (coordinate & curve helpers) and the Angle group (conversion, normalization, and angle relations).
Point-to-Point Distance – p2dist
Syntax
p2dist(Ax, Ay, Bx, By)
Description
Computes the geometric distance between two points A(Ax, Ay) and B(Bx, By) in the 2D coordinate plane using the Pythagorean theorem. The function also returns the horizontal and vertical components and the angle of the line relative to the x-axis.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
b – horizontal distance | |Bx − Ax| | – |
a – vertical distance | |By − Ay| | – |
c – total distance A↔B | √(a² + b²) | – |
alpha – angle α | atan(a / b) × 180/π | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Distance A↔B (c) | .c | Direct distance between A and B |
| Distance X (b) | .b | Horizontal component |Bx − Ax| |
| Distance Y (a) | .a | Vertical component |By − Ay| |
| Angle α | .alpha | Angle of AB relative to the x-axis in degrees |
Examples
r := p2dist(0, 0, 3, 4)=
Distance X (b) 3
Distance Y (a) 4
Angle α 53.13 °
Access individual values:
r.c → 5 (total distance) r.b → 3 (horizontal) r.a → 4 (vertical) r.alpha → 53.13° (angle)
p2dist(1, 2, 4, 6)=
Distance X (b) 3
Distance Y (a) 4
Angle α 53.13 °
c, b, and a is the same
as the unit of the coordinates you supply (pixels, metres, mm, etc.). RedcrabX treats the numbers
as dimensionless; apply your own scale factor if needed.
Point-to-Line Distance – p2linedist
Syntax
p2linedist(Ax, Ay, Bx, By, Px, Py)
Description
Computes the shortest (perpendicular) Euclidean distance from point P(Px, Py) to the infinite line passing through A(Ax, Ay) and B(Bx, By). The function also returns the foot point F (the closest point on the line to P) and the length of segment AB.
Formulas
Let AB be the direction vector of the line: dx = Bx−Ax,
dy = By−Ay.
| Quantity | Formula | Unit |
|---|---|---|
d – shortest distance | |(dx·(Py−Ay) − dy·(Px−Ax))| / |AB| | – |
t – projection parameter | ((Px−Ax)·dx + (Py−Ay)·dy) / (dx²+dy²) | – |
Fx – foot point x | Ax + t·dx | – |
Fy – foot point y | Ay + t·dy | – |
|AB| – line length | √(dx² + dy²) | – |
t < 0 the foot point
lies before A; if t > 1 it lies beyond B. To get the distance to the
segment AB instead, clamp t to [0, 1] and recompute.
Result List
| Label | Key | Description |
|---|---|---|
| Shortest distance (d) | .d | Perpendicular distance from P to the line |
| Foot point X (Fx) | .fx | x-coordinate of the closest point on the line |
| Foot point Y (Fy) | .fy | y-coordinate of the closest point on the line |
| Line length |AB| | .ab | Length of the reference segment A→B |
Examples
r := p2linedist(0, 0, 10, 0, 3, 4)=
Line along x-axis from (0,0) to (10,0); point P at (3,4). The perpendicular foot is directly below P on the x-axis.
Foot point X (Fx) 3
Foot point Y (Fy) 0
Line length |AB| 10
r := p2linedist(0, 0, 3, 4, 1, 3)=
Foot point X (Fx) 1.68
Foot point Y (Fy) 2.24
Line length |AB| 5
Access individual values:
r.d → shortest distance r.fx → foot point x r.fy → foot point y r.ab → segment length |AB|
Line-to-Line Angle – l2angle
Syntax
l2angle(Ax, Ay, Bx, By, Cx, Cy, Dx, Dy)
Description
Computes the acute intersection angle α between two infinite lines in the 2D plane. Line 1 is defined by points A(Ax, Ay) and B(Bx, By); Line 2 is defined by points C(Cx, Cy) and D(Dx, Dy). The result is always in the range 0° … 90°.
Formula
Let d₁ = (Bx−Ax, By−Ay) and d₂ = (Dx−Cx, Dy−Cy) be the direction vectors.
| Quantity | Formula | Unit |
|---|---|---|
alpha – intersection angle α |
acos(|d₁·d₂| / (|d₁|·|d₂|)) × 180/π | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Intersection angle α | .alpha | Acute angle between the two lines in degrees |
Examples
l2angle(0,0,1,0, 0,0,1,1)=
r := l2angle(0,0,3,0, 0,0,0,5)=
Horizontal line vs. vertical line → 90°.
l2angle(0,0,1,1, 0,0,-1,1)=
Two lines at 45° to the x-axis, symmetric about y-axis → 90°.
Access the value via dot notation:
r := l2angle(0,0,1,0, 0,0,1,1) r.alpha → 45°
2D Vector Angle – v2angle
Syntax
v2angle(Ax, Ay, Bx, By)
Description
Computes the angle between two 2D vectors A(Ax, Ay) and
B(Bx, By) using the dot-product formula.
The result is in the range 0° … 180°.
Unlike l2angle, this function considers direction —
antiparallel vectors give 180°.
Formula
| Quantity | Formula | Unit |
|---|---|---|
alpha – angle α | acos((A·B) / (|A|·|B|)) × 180/π | ° |
dot – dot product | Ax·Bx + Ay·By | – |
lenA – |A| | √(Ax² + Ay²) | – |
lenB – |B| | √(Bx² + By²) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Angle α | .alpha | Angle between the two vectors in degrees |
| Dot product | .dot | Scalar dot product A·B |
| |A| | .lenA | Magnitude of vector A |
| |B| | .lenB | Magnitude of vector B |
Examples
v2angle(1, 0, 0, 1)=
Dot product 0
|A| 1
|B| 1
v2angle(1, 0, -1, 0)=
Dot product −1
|A| 1
|B| 1
r := v2angle(3, 0, 3, 3) r.alpha → 45° r.dot → 9
3D Vector Angle – v3angle
Syntax
v3angle(Ax, Ay, Az, Bx, By, Bz)
Description
Computes the angle between two 3D vectors A(Ax, Ay, Az) and B(Bx, By, Bz) using the dot-product formula. The result is in the range 0° … 180°.
Formula
| Quantity | Formula | Unit |
|---|---|---|
alpha – angle α | acos((A·B) / (|A|·|B|)) × 180/π | ° |
dot – dot product | Ax·Bx + Ay·By + Az·Bz | – |
lenA – |A| | √(Ax² + Ay² + Az²) | – |
lenB – |B| | √(Bx² + By² + Bz²) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Angle α | .alpha | Angle between the two vectors in degrees |
| Dot product | .dot | Scalar dot product A·B |
| |A| | .lenA | Magnitude of vector A |
| |B| | .lenB | Magnitude of vector B |
Examples
v3angle(1, 0, 0, 0, 1, 0)=
Dot product 0
|A| 1
|B| 1
v3angle(1, 1, 0, 1, 0, 0)=
Dot product 1
|A| 1.414…
|B| 1
r := v3angle(0, 0, 1, 1, 0, 0) r.alpha → 90° r.dot → 0
Triangle Angles from Sides – abcangles
Syntax
abcangles(a, b, c)
Description
Computes triangle interior angles from side lengths a, b, and c using the law of cosines. Angles are returned in degrees: α opposite side a, β opposite side b, and γ opposite side c.
Inputs must satisfy a > 0, b > 0, c > 0 and the triangle inequality.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
alpha | acos((b² + c² − a²) / (2bc)) × 180/π | ° |
beta | acos((a² + c² − b²) / (2ac)) × 180/π | ° |
gamma | 180° − α − β | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Angle α | .alpha | Angle opposite side a |
| Angle β | .beta | Angle opposite side b |
| Angle γ | .gamma | Angle opposite side c |
Examples
abcangles(3, 4, 5)=
Angle β 53.1301 °
Angle γ 90 °
r := abcangles(7, 8, 9) r.alpha → 48.19° r.beta → 58.41° r.gamma → 73.40°
Polygon Angle Sum and Single Angles – polyangles
Syntax
polyangles(n)
Description
Computes angle values for a regular polygon with n sides: the sum of interior angles, one interior angle, and one exterior angle.
Input requirement: n must be an integer with n ≥ 3.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
sum – interior angle sum | (n − 2) × 180 | ° |
interior – one interior angle | sum / n | ° |
exterior – one exterior angle | 360 / n | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Number of sides | .n | Input side count |
| Interior angle sum | .sum | Total of all interior angles |
| Single interior angle | .interior | Interior angle of each corner (regular polygon) |
| Single exterior angle | .exterior | Exterior turn angle per corner |
Examples
polyangles(5)=
Interior angle sum 540 °
Single interior 108 °
Single exterior 72 °
p := polyangles(8) p.sum → 1080° p.interior → 135° p.exterior → 45°
Equilateral Triangle Solver – eqtri
Syntax
eqtri(a=...) eqtri(h=...) eqtri(u=...) eqtri(A=...)
Description
Solves a perfectly symmetric triangle (equilateral triangle) from one known quantity.
You can provide side length a, height h, perimeter u, or area A.
The function returns all four values.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
h | a × √3 / 2 | – |
u | 3a | – |
A | a² × √3 / 4 | – |
a from h | 2h / √3 | – |
a from u | u / 3 | – |
a from A | √(4A / √3) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Side length | .a | Equal side length |
| Height | .h | Triangle altitude |
| Perimeter | .u | Total boundary length |
| Area | .A | Triangle area |
Examples
eqtri(a=6)=
Height 5.19615
Perimeter 18
Area 15.58846
t := eqtri(A=20) t.a → 6.798 t.h → 5.887 t.u → 20.394 t.A → 20
Isosceles Triangle Solver – isotri
Syntax
isotri(...=..., ...=...)
Description
Solves an isosceles triangle from two named inputs with this pair rule:
one input from (a | h) and one input from (b | h | A | alpha).
The function returns the full set:
base a, side b, height h, perimeter P,
area A, base angle alpha, and apex angle gamma.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
P – perimeter | a + 2b | – |
A – area | a × h / 2 | – |
alpha – base angle | atan(h / (a/2)) × 180/π | ° |
gamma – apex angle | 180° − 2 × alpha | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Base a | .a | Base length |
| Side b | .b | Equal side length |
| Height h | .h | Height to base a |
| Perimeter P | .P | Total boundary length |
| Area A | .A | Triangle area |
| Angle alpha | .alpha | Base angle in degrees |
| Angle gamma | .gamma | Apex angle in degrees |
Examples
isotri(a=10, h=6)=
Side b 7.81025
Height h 6
Perimeter P 25.6205
Area A 30
Angle alpha 50.1944 °
Angle gamma 79.6111 °
t := isotri(h=6, alpha=40) t.a → 14.301 t.b → 9.334 t.P → 32.969 t.A → 42.902 t.gamma → 100
Right Triangle Solver – rtri
Syntax
rtri(...=..., ...=...)
Description
Solves a right triangle from one side (a, b, or c)
and one acute angle alpha. The function returns:
catheti a, b, hypotenuse c,
altitude to hypotenuse h, area A, perimeter P,
hypotenuse segments p, q, and angles alpha, beta.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
h | a × b / c | – |
A | a × b / 2 | – |
P | a + b + c | – |
p | a² / c | – |
q | b² / c | – |
beta | 90° − alpha | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Cathetus a | .a | Leg opposite angle alpha |
| Cathetus b | .b | Leg adjacent to angle alpha |
| Hypotenuse c | .c | Longest side |
| Height h | .h | Altitude to hypotenuse |
| Area A | .A | Triangle area |
| Perimeter P | .P | Total boundary length |
| Segment p | .p | Hypotenuse segment next to cathetus a |
| Segment q | .q | Hypotenuse segment next to cathetus b |
| Angle alpha | .alpha | Given acute angle in degrees |
| Angle beta | .beta | Other acute angle in degrees |
Examples
rtri(a=5, alpha=30)=
Cathetus b 8.66025
Hypotenuse c 10
Height h 4.33013
Area A 21.6506
Perimeter P 23.6603
Segment p 2.5
Segment q 7.5
Angle alpha 30 °
Angle beta 60 °
rt := rtri(c=12, alpha=40) rt.a → 7.713 rt.b → 9.193 rt.h → 5.907 rt.A → 35.443 rt.P → 28.906 rt.beta → 50
Pythagoras Right-Triangle Solver – pythag
Syntax
pythag(...=..., ...=...)
Description
Fully solves a right triangle from two known sides using Pythagoras.
Supported input pairs are (a,b), (a,c), or (b,c).
The function returns:
catheti a, b, hypotenuse c,
height to hypotenuse h, area A, perimeter P,
hypotenuse segments p, q, and angles alpha, beta.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
c from a,b | √(a² + b²) | – |
b from a,c | √(c² − a²) | – |
a from b,c | √(c² − b²) | – |
h | a × b / c | – |
A | a × b / 2 | – |
P | a + b + c | – |
p | a² / c | – |
q | b² / c | – |
alpha | asin(a / c) × 180/π | ° |
beta | 90° − alpha | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Cathetus a | .a | Leg a |
| Cathetus b | .b | Leg b |
| Hypotenuse c | .c | Hypotenuse |
| Height h | .h | Altitude to hypotenuse |
| Area A | .A | Triangle area |
| Perimeter P | .P | Total boundary length |
| Segment p | .p | Hypotenuse segment near a |
| Segment q | .q | Hypotenuse segment near b |
| Angle alpha | .alpha | Acute angle opposite a |
| Angle beta | .beta | Other acute angle |
Examples
pythag(a=3, b=4)=
Cathetus b 4
Hypotenuse c 5
Height h 2.4
Area A 6
Perimeter P 12
Segment p 1.8
Segment q 3.2
Angle alpha 36.8699 °
Angle beta 53.1301 °
rt2 := pythag(a=5, c=13) rt2.b → 12 rt2.h → 4.615 rt2.A → 30 rt2.P → 30 rt2.alpha → 22.62 rt2.beta → 67.38
Isosceles Right-Triangle Solver – isortri
Syntax
isortri(a=...) isortri(b=...) isortri(h=...) isortri(A=...)
Description
Solves an isosceles right triangle from one named input.
Inputs: base a (hypotenuse), side b (cathetus),
height h to base, or area A.
Returned values: base a, side b, height h, perimeter P, and area A.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
b from a | a / √2 | – |
h from a | a / 2 | – |
A from a | a² / 4 | – |
a from b | b × √2 | – |
h from b | b / √2 | – |
a from h | 2h | – |
a from A | 2√A | – |
P | a + 2b | – |
Result List
| Label | Key | Description |
|---|---|---|
| Base a | .a | Hypotenuse |
| Side b | .b | Equal cathetus length |
| Height h | .h | Altitude to base a |
| Perimeter P | .P | Total boundary length |
| Area A | .A | Triangle area |
Examples
isortri(a=10)=
Side b 7.07107
Height h 5
Perimeter P 24.1421
Area A 25
s := isortri(A=36) s.a → 12 s.b → 8.485 s.h → 6 s.P → 28.971 s.A → 36
Triangle Area from Base and Height – triarea
Syntax
triarea(base, height) triangarea(a, b, alpha) triarea2ang(base, alpha, beta) triheron(a, b, c)
Description
Computes the area of a triangle from base and height,
from two sides with included angle alpha,
from base with two base angles alpha and beta,
or from all three sides using Heron's formula.
For triangarea(a,b,alpha), alpha follows the toolbar angle mode (DEG/RAD).
For triarea2ang(base,alpha,beta), both angles follow toolbar angle mode (DEG/RAD).
Formula
| Quantity | Formula | Unit |
|---|---|---|
A from base/height | base × height / 2 | – |
A from two sides and angle | 1/2 × a × b × sin(alpha) | – |
A from base and two angles | base² × sin(alpha) × sin(beta) / (2 × sin(alpha+beta)) | – |
A from three sides (Heron) | √(s(s-a)(s-b)(s-c)), s=(a+b+c)/2 | – |
Examples
triarea(10, 6) → 30 triarea(4.2, 3.5) → 7.35 DEG: triangarea(7, 9, 30) → 15.75 RAD: triangarea(7, 9, π/6) → 15.75 DEG: triarea2ang(10, 40, 60) → 30.687 triheron(3, 4, 5) → 6
Triangle Area from Three Sides (Heron) – triheron
Syntax
triheron(a, b, c)
Description
Computes triangle area from three side lengths using Heron's formula.
Requires a,b,c > 0 and the triangle inequality.
Formula
| Quantity | Formula | Unit |
|---|---|---|
s – semiperimeter | (a+b+c)/2 | – |
A – area | √(s(s-a)(s-b)(s-c)) | – |
Examples
triheron(3, 4, 5) → 6 triheron(5, 5, 6) → 12
Triangle Area from Base and Two Angles – triarea2ang
Syntax
triarea2ang(base, alpha, beta) triangarea2ang(base, alpha, beta) // alias
Description
Computes the triangle area from base length and two base angles.
Angles alpha and beta follow the toolbar angle mode (DEG/RAD).
Formula
| Quantity | Formula | Unit |
|---|---|---|
A | base² × sin(alpha) × sin(beta) / (2 × sin(alpha+beta)) | – |
Examples
triarea2ang(10, 40, 60) → 30.687 triangarea2ang(10, 40, 60) → 30.687
Square Solver – square
Syntax
square(name=value) quadrat(name=value) // alias
Description
Solves a square from one known value.
Supported input names: seite, diagonal, umfang, flaeche
(or short forms a, d, U, A).
Result List
| Label | Key | Description |
|---|---|---|
| Seitenlänge a | .a | Side length |
| Diagonale d | .d | Diagonal |
| Umfang U | .U | Perimeter |
| Fläche A | .A | Area |
| Innenkreisradius ri | .ri | Inradius |
| Innenkreisfläche Ai | .Ai | Incircle area |
| Umkreisradius ru | .ru | Circumradius |
| Umkreisfläche Au | .Au | Circumcircle area |
Examples
sq := square(seite=5)= sq.a → 5 sq.d → 7.071 sq.U → 20 sq.A → 25 square(flaeche=25)= quadrat(diagonal=10)=
Golden Rectangle Solver – goldrect
Syntax
goldrect(name=value) goldenrect(name=value) // alias goldenrectangle(name=value) // alias
Description
Solves a golden rectangle from one known value.
Supported input names: a, b, d, U, A
and aliases laenge, breite, diagonal, umfang, flaeche.
The side ratio is fixed to φ = (1+√5)/2 ≈ 1.618.
Result List
| Label | Key | Description |
|---|---|---|
| Seitenlänge a | .a | Long side |
| Seitenlänge b | .b | Short side |
| Diagonale d | .d | Diagonal |
| Umfang U | .U | Perimeter |
| Fläche A | .A | Area |
| Verhältnis φ | .phi | Golden ratio (~1.618) |
Examples
gr := goldrect(a=10)= gr.a → 10 gr.b → 6.18034 gr.d → 11.7557 gr.U → 32.3607 gr.A → 61.8034 gr.phi → 1.61803 goldrect(A=40)= goldenrectangle(d=12)=
Parallelogram Solver – para
Syntax
para(a, b, alpha) parallelogram(a, b, alpha) // alias parallelogramm(a, b, alpha) // alias
Description
Computes a classical parallelogram from side lengths a, b
and included angle alpha in degrees.
Result List
| Label | Key | Description |
|---|---|---|
| Fläche A | .A | Area |
| Umfang P | .P | Perimeter |
| Höhe ha | .ha | Height to side a |
| Höhe hb | .hb | Height to side b |
| Diagonale e | .e | Long diagonal |
| Diagonale f | .f | Short diagonal |
| Winkel β | .β | Second interior angle (β = 180° - α) |
Examples
p := para(8, 5, 60)= p.A → 34.641 p.P → 26 p.ha → 4.330 p.hb → 6.928 p.e → 11.357 p.f → 7 p.β → 120°
Parallelogram Area from Base and Height – paraaera
Syntax
paraaera(base, height) parallelarea(base, height) // alias
Description
Computes the area of a parallelogram directly from base length and corresponding height.
Formula
| Quantity | Formula | Unit |
|---|---|---|
A – area | base × height | – |
Examples
paraaera(8, 5) → 40 parallelarea(12.5, 3.2) → 40
Rectangle Solver – rect
Syntax
rect(name=value, name=value) rectangle(name=value, name=value) // alias rechteck(name=value, name=value) // alias
Description
Solves a classic rectangle from two named inputs.
Allowed pair rule: one of (l|b) and one of (b|d|A|U).
Supports aliases like length/laenge, breite,
diag/diagonal, flaeche/area, umfang/perimeter.
Result List
| Label | Key | Description |
|---|---|---|
| Länge l | .l | Rectangle length |
| Breite b | .b | Rectangle width |
| Diagonale d | .d | Diagonal |
| Umfang U | .U | Perimeter |
| Fläche A | .A | Area |
Examples
r := rect(l=8, b=5)= r.l → 8 r.b → 5 r.d → 9.434 r.U → 26 r.A → 40 rect(l=8, d=10)= rechteck(b=6, U=20)=
Slope / Gradient – slope
Syntax
slope(rise, run)
Description
Computes the slope (Steigung) of an incline from the vertical rise (Anstieg) and the horizontal run (horizontale Strecke). All three common representations are returned: the dimensionless slope m, the angle α in degrees, and the road-engineering grade in percent.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
m – slope | rise / run | – |
alpha – angle α | atan(rise / run) × 180/π | ° |
grade – Gefälle / Steigung | m × 100 | % |
rise | vertical height (input) | – |
run | horizontal distance (input) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Slope m | .m | Dimensionless slope (rise/run) |
| Angle α | .alpha | Inclination angle in degrees |
| Grade | .grade | Slope in percent (road / roof convention) |
| Rise | .rise | Vertical component (input) |
| Run | .run | Horizontal component (input) |
Examples
slope(1, 10)=
Angle α 5.711 °
Grade 10 %
Rise 1
Run 10
slope(3, 4)=
Angle α 36.87 °
Grade 75 %
Rise 3
Run 4
r := slope(1, 10) r.m → 0.1 r.alpha → 5.711 r.grade → 10
Point-to-Point Slope – p2slope
Syntax
p2slope(Ax, Ay, Bx, By)
Description
Computes the slope (Steigung) of the line through two coordinate points A(Ax, Ay) and B(Bx, By). All three common representations are returned: the dimensionless slope m, the inclination angle α in degrees, and the grade in percent. Δy and Δx are also returned as rise and run. The function throws an error when A and B share the same x-coordinate (vertical line).
Formulas
| Quantity | Formula | Unit |
|---|---|---|
m – slope | (By − Ay) / (Bx − Ax) | – |
alpha – angle α | atan(m) × 180/π | ° |
grade | m × 100 | % |
rise – Δy | By − Ay | – |
run – Δx | Bx − Ax | – |
Result List
| Label | Key | Description |
|---|---|---|
| Slope m | .m | Dimensionless slope |
| Angle α | .alpha | Inclination angle in degrees |
| Grade | .grade | Slope in percent |
| Rise Δy | .rise | Vertical distance By−Ay |
| Run Δx | .run | Horizontal distance Bx−Ax |
Examples
p2slope(0, 0, 10, 1)=
Angle α 5.711 °
Grade 10 %
Rise Δy 1
Run Δx 10
p2slope(2, 3, 6, 7)=
Angle α 45 °
Grade 100 %
Rise Δy 4
Run Δx 4
r := p2slope(0, 0, 10, 1) r.m → 0.1 r.alpha → 5.711 r.grade → 10
Circle Solver – circle
Syntax
circle(...=...) circ(...=...) // alias kreis(...=...) // alias
Description
Computes all main circle dimensions from exactly one named input.
Supported input names are r (radius), d (diameter),
U (perimeter/circumference), and A (area).
Formulas
| Quantity | Symbol | Formula | Unit |
|---|---|---|---|
| Radius | r | d/2, U/(2π), or √(A/π) | – |
| Diameter | d | 2r | – |
| Perimeter | U | 2πr | – |
| Area | A | πr² | – |
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Circle radius |
| Diameter d | .d | Circle diameter |
| Perimeter U | .U | Circumference |
| Area A | .A | Disk area |
Examples
circle(r=5)=
Diameter d 10
Perimeter U 31.416
Area A 78.54
circle(d=10)=
circle(U=31.416)=
circle(A=78.54)=
Circular Sector Solver – sect
Syntax
sect(r, ...=...) sector(r, ...=...) // alias
Description
Computes circular-sector dimensions from radius r and one named parameter.
Supported named inputs are: alpha (angle in degrees), A (area),
P (perimeter), b (arc length), or s (chord).
Result List
| Label | Key | Description |
|---|---|---|
| Angle α | .α | Central angle in degrees |
| Area A | .A | Sector area |
| Perimeter P | .P | Boundary length (2r + b) |
| Arc length b | .b | Arc of the sector |
| Chord s | .s | Straight edge between arc endpoints |
| Centroid S | .S | Distance of centroid from circle center on angle bisector |
| Height h | .h | Sagitta of the sector arc |
Examples
sect(5, alpha=90)=
Area A 19.635
Perimeter P 17.854
Arc length b 7.854
Chord s 7.071
Centroid S 3.001
Height h 1.464
sect(5, A=19.635)=
sect(5, P=17.854)=
sect(5, b=7.854)=
sect(5, s=7.071)=
Circular Segment Solver – segm
Syntax
segm(...=..., ...=...) segment(...=..., ...=...) // alias
Description
Computes circular-segment (circular-cap) dimensions from two named inputs.
Allowed input pairs are: (r,alpha), (r,s),
(h,alpha), or (h,s).
Here r is radius, h is cap height, and
s is chord length. The angle alpha is in degrees.
Result List
| Label | Key | Description |
|---|---|---|
| Angle α | .α | Central angle in degrees |
| Height h | .h | Segment height (sagitta) |
| Area A | .A | Segment area |
| Perimeter P | .P | Boundary length (arc + chord) |
| Arc length b | .b | Segment arc length |
| Chord s | .s | Chord length |
| Centroid S | .S | Distance of centroid from circle center on angle bisector |
| Radius r | .r | Circle radius |
Examples
segm(r=5, alpha=60)=
segm(r=5, s=4)=
segm(h=2, s=6)=
Sphere Solver – sphere
Syntax
sphere(...=...)
Description
Computes sphere properties from exactly one named input.
Supported input names are r (radius), d (diameter),
P (great-circle perimeter), S (surface area),
A (great-circle cross-section area), and V (volume).
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Sphere radius |
| Diameter d | .d | Sphere diameter |
| Perimeter P | .P | Great-circle perimeter |
| Surface area S | .S | Sphere surface area |
| Cross-section area A | .A | Great-circle area |
| Volume V | .V | Sphere volume |
Examples
sphere(r=5)=
sphere(d=10)=
sphere(P=31.416)=
sphere(S=314.159)=
sphere(A=78.54)=
sphere(V=523.599)=
Bicylinder Solver – bicylinder
Syntax
bicylinder(...=...)
Description
Computes properties of a bicylinder (Steinmetz solid) – the
intersection of two identical right circular cylinders of equal radius r
whose axes are perpendicular and intersect at their centres.
Accepts exactly one named input: r, V, or S.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = (16/3) r³ |
| Surface area S | S = 16 r² |
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Cylinder radius |
| Volume V | .V | Volume of the intersection solid |
| Surface S | .S | Total surface area |
Examples
bicylinder(r=5)= bicylinder(V=666.667)= bicylinder(S=400)=
Tricylinder Solver – tricylinder
Syntax
tricylinder(...=...)
Description
Computes properties of a tricylinder (Steinmetz solid, three cylinders) – the
intersection of three identical right circular cylinders of equal radius r
whose axes are mutually perpendicular and intersect at a common centre.
Accepts exactly one named input: r, V, or S.
Formulas
| Quantity | Formula |
|---|---|
| Constant k | k = 2 − √2 ≈ 0.5858 |
| Volume V | V = 8k r³ |
| Surface area S | S = 24k r² |
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Cylinder radius |
| Volume V | .V | Volume of the intersection solid |
| Surface S | .S | Total surface area |
Examples
tricylinder(r=5)= tricylinder(V=234.315)= tricylinder(S=351.472)=
Oloid Solver – oloid
Syntax
oloid(...=...)
Description
Computes oloid properties from exactly one named input.
Supported input names are r (radius), a (edge length),
l (overall length), h (height),
S (surface area), and V (volume).
Formulas
| Quantity | Formula |
|---|---|
| Edge length a | a = (4π/3) · r |
| Length l | l = 3r |
| Height h | h = 2r |
| Surface area S | S = 4πr² |
| Volume V | V ≈ 3.0524184682 · r³ |
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Generating circle radius |
| Edge length a | .a | Oloid edge length |
| Length l | .l | Overall oloid length |
| Height h | .h | Overall oloid height |
| Surface area S | .S | Total surface area |
| Volume V | .V | Total volume |
Examples
oloid(r=10)= → a≈41.89, l=30, h=20 oloid(a=41.8879)= oloid(S=1256.637)= oloid(V=3052.418)=
Spherical Corner Solver – sphcor
Syntax
sphcor(...=...)
Description
Computes spherical-corner (sphere octant) parameters from exactly one named input.
Supported input names are r (radius), P (edge arc length),
S (octant curved surface area), and V (octant volume).
Result List
| Label | Key | Description |
|---|---|---|
| Radius r | .r | Sphere radius |
| Arc length P | .P | Edge arc length of the spherical corner |
| Surface area S | .S | Curved surface area of the spherical corner |
| Volume V | .V | Volume of the spherical corner |
Examples
sphcor(r=5)=
sphcor(P=7.854)=
sphcor(S=39.27)=
sphcor(V=65.45)=
Spherical Shell Solver – sphsl
Syntax
sphsl(ri, ro)
Description
Computes properties of a hollow sphere (spherical shell) with constant wall thickness
from inner radius ri and outer radius ro.
The constraint is ro > ri > 0.
Result List
| Label | Key | Description |
|---|---|---|
| Shell Volume | .V | Volume of shell material |
| Shell Surface | .S | Total shell surface (inner + outer) |
Formulas
| Quantity | Formula |
|---|---|
| Shell Volume | V = 4/3 · π · (ro³ − ri³) |
| Shell Surface | S = 4 · π · (ro² + ri²) |
Examples
sphsl(4, 5)=
Spherical Cap Solver – sphecap
Syntax
sphecap(r, ...=...)
Description
Computes spherical-cap dimensions from sphere radius r and one named cap input.
Supported named inputs are h (cap height) or a (cap base radius).
Result List
| Label | Key | Description |
|---|---|---|
| Cap height h | .h | Cap height |
| Cap radius a | .a | Cap base radius |
| Sphere radius r | .r | Input sphere radius |
| Cap volume Vs | .Vs | Spherical-cap volume |
| Base area A | .A | Area of cap base circle |
| Cap surface Sc | .Sc | Curved cap surface area |
| Total surface S | .S | Cap total surface (Sc + A) |
Examples
sphecap(5,h=2)=
sphecap(5,a=3)=
Spherical Sector Solver – sphesec
Syntax
sphesec(r, ...=...)
Description
Computes spherical-sector dimensions from sphere radius r
and one named segment parameter: sh (segment height)
or sr (segment radius).
Result List
| Label | Key | Description |
|---|---|---|
| Segment height | .sh | Height of spherical segment/cap |
| Segment radius | .sr | Radius of segment base circle |
| Sphere radius | .r | Sphere radius |
| Sector volume | .V | Volume of spherical sector |
| Cone surface | .Ac | Lateral surface of cone part |
| Cap surface | .As | Curved spherical cap surface |
| Sector surface | .A | Total sector surface (cone + cap) |
Examples
sphesec(5,sh=2)=
sphesec(5,sr=3)=
Spherical Segment Solver – sphseg
Syntax
sphseg(r1, r2, h)
Description
Computes parameters of a spherical segment (spherical zone) from two base radii
r1, r2 and segment height h.
Result List
| Label | Key | Description |
|---|---|---|
| Sphere radius | .r | Radius of the parent sphere |
| Lateral surface | .Al | Curved lateral area of the spherical segment |
| Total surface | .At | Lateral area plus both base-circle areas |
| Volume | .V | Volume of the spherical segment |
| Distance to top | .dt | Distance from top pole to top base plane |
| Distance to center | .dc | Distance from sphere center to top base plane |
Example
sphseg(3, 4, 5)=
Spherical Wedge Solver – sphwed
Syntax
sphwed(r, deg)
Description
Computes spherical-wedge parameters from sphere radius r
and wedge angle deg.
The angle follows the MathBox toolbar DEG/RAD mode.
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Spherical wedge volume |
| Outer surface O | .O | Outer spherical surface part |
| Wedge surface W | .W | Two planar semicircle cut surfaces |
| Total surface S | .S | Total wedge surface (O + W) |
Example
sphwed(5, 60)=
Spherical Ring Solver – sphring
Syntax
sphring(rs, rc)
Description
Computes spherical-ring (napkin-ring) parameters for a sphere with radius rs
drilled by a centered cylinder with radius rc.
The constraint is rs > rc > 0.
Result List
| Label | Key | Description |
|---|---|---|
| Ring volume VR | .VR | Remaining volume of the spherical ring |
| Cylinder volume VC | .VC | Reference cylinder volume with radius rc and height L |
| Cylinder height L | .L | Hole height through the sphere |
| Ring surface S | .S | Total ring surface (outer spherical zone + inner cylindrical surface) |
Example
sphring(5, 3)=
Spheroid Solver – spheroid
Syntax
spheroid(a, b)
Description
Computes volume and surface area of a spheroid (ellipsoid of revolution)
from equatorial semi-axis a and polar semi-axis b.
Works for oblate (a > b), prolate (b > a), and sphere (a = b) cases.
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Spheroid volume |
| Surface area S | .S | Total spheroid surface area |
Examples
spheroid(5, 3)= spheroid(3, 5)=
Triaxial Ellipsoid Solver – triellip
Syntax
triellip(a, b, c)
Description
Computes volume and surface area of a triaxial ellipsoid from the
semi-axes a, b, and c.
The surface area uses the Knud Thomsen approximation.
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Triaxial ellipsoid volume |
| Surface area S | .S | Triaxial ellipsoid surface area (approx.) |
Example
triellip(5, 4, 3)=
Torus Solver – torus
Syntax
torus(R=..., r=...) torus(D=..., d=...)
Description
Computes torus parameters from two named inputs: one major axis
(R or D) and one minor axis (r or d).
Named arguments are case-sensitive.
R– major radius (center of tube to center of torus)D– outer diameter of the torus = 2 × (R + r)r– minor radius (tube radius)d– inner hole diameter = 2 × (R − r)
Result List
| Label | Key | Description |
|---|---|---|
| Radius R | .R | Major radius (center to tube center) |
| Radius r | .r | Minor radius (tube radius) |
| Diameter D | .D | Outer diameter = 2 × (R + r) |
| Diameter d | .d | Inner hole diameter = 2 × (R − r) |
| Surface area S | .S | Torus surface area |
| Volume V | .V | Torus volume |
Examples
torus(R=5, r=2)= → R=5, r=2, D=14, d=6 torus(D=14, d=6)= → same result: R=5, r=2
Spindle Torus Solver – spitor
Syntax
spitor(R, r) spitorus(R, r)
Description
Computes parameters of a spindle torus (also called an apple torus).
A spindle torus is formed when the tube radius r exceeds the major radius R,
causing the surface to self-intersect along the axis and enclose an inner void.
Condition: r > R.
R– major radius: distance from the center of the torus to the center of the tuber– tube radius (must be greater than R)
Result List
| Label | Key | Description |
|---|---|---|
| Inner height h | .h | Distance between the two self-intersection points on the axis = 2 √(r²−R²) |
| Width b | .b | Outer diameter = 2 × (R + r) |
| Volume V | .V | Enclosed volume (exact closed form) |
Examples
spitor(2, 5)= spitorus(2, 5)=
Paraboloid Solver – paraboloid
Syntax
paraboloid(s, R)
Description
Computes geometric properties of a paraboloid of revolution
defined by the surface equation z = s · ρ²,
where s is the shape parameter (steepness) and R is the base radius.
s– shape parameter: larger values give a steeper, taller paraboloidR– radius of the circular base
Formulas
| Quantity | Formula |
|---|---|
| Height h | h = s · R² |
| Lateral surface L | L = π / (6s²) · [(1 + 4s²R²)3/2 − 1] |
| Surface area S | S = L + π R² (lateral + circular base) |
| Volume V | V = π R² h / 2 |
Result List
| Label | Key | Description |
|---|---|---|
| Height h | .h | Paraboloid height = s · R² |
| Lateral surface L | .L | Curved side surface (exact closed form) |
| Surface area S | .S | Total surface = lateral + base area |
| Volume V | .V | Volume = π R² h / 2 |
Examples
paraboloid(0.5, 4)= paraboloid(1, 3)=
Cone Solver – cone
Syntax
cone(r, h)
Description
Computes geometric properties of a right circular cone
from base radius r and height h.
Formulas
| Quantity | Formula |
|---|---|
| Base perimeter P | P = 2πr |
| Slant length L | L = √(r² + h²) |
| Base area A | A = πr² |
| Lateral surface SL | SL = πrL |
| Total surface S | S = A + SL |
| Volume V | V = πr²h / 3 |
Result List
| Label | Key | Description |
|---|---|---|
| Base Perimeter P | .P | Perimeter of the circular base |
| Slant Length L | .L | Side edge length from base rim to apex |
| Base Area A | .A | Area of the circular base |
| Lateral Surface SL | .SL | Curved side surface |
| Total Surface S | .S | Base + lateral surface |
| Volume V | .V | Cone volume |
Examples
cone(3, 4)= cone(5, 12)=
Cylinder Solver – cylinder
Syntax
cylinder(r, h)
Description
Computes geometric properties of a right circular cylinder
from radius r and height h.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = πr²h |
| Surface area S | S = 2πrh + 2πr² |
| Lateral area L | L = 2πrh |
| Base area A | A = πr² |
| Perimeter P | P = 2πr |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Cylinder volume |
| Surface Area S | .S | Total cylinder surface area |
| Lateral Area L | .L | Side surface area |
| Base Area A | .A | Area of one circular base |
| Perimeter P | .P | Circumference of base circle |
Examples
cylinder(3, 10)= cyl(3, 10)=
Elliptic Cylinder Solver – ellcyl
Syntax
ellcyl(a, b, h) ellcylinder(a, b, h)
Description
Computes geometric properties of a right elliptic cylinder
from ellipse semi-axes a, b, and height h.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = πabh |
| Surface area S | S = Ph + 2πab |
| Lateral area L | L = Ph |
| Base area A | A = πab |
| Perimeter P | P ≈ π(3(a+b) - √((3a+b)(a+3b))) |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Elliptic cylinder volume |
| Surface Area S | .S | Total surface area |
| Lateral Area L | .L | Curved side area |
| Base Area A | .A | Area of one elliptic base |
| Perimeter P | .P | Ellipse base perimeter (Ramanujan approximation) |
Examples
ellcyl(5, 3, 10)= ellcylinder(5, 3, 10)=
Oblique Cylinder Solver – oblcyl
Syntax
oblcyl(r, alpha, h) obliquecyl(r, alpha, h)
Description
Computes geometric properties of an oblique circular cylinder
from radius r, inclination angle alpha (to the cylinder axis),
and perpendicular height h.
The angle follows the toolbar DEG/RAD mode.
Formulas
| Quantity | Formula |
|---|---|
| Height h | h = h (input) |
| Side length a | a = h / cos(α) |
| Volume V | V = πr²h |
| Perimeter P | P = 2πr |
| Base area A | A = πr² |
| Lateral area L | L = P·a |
| Surface area S | S = L + 2A |
Result List
| Label | Key | Description |
|---|---|---|
| Height h | .h | Perpendicular cylinder height |
| Side Length a | .a | Generator (side edge) length |
| Volume V | .V | Cylinder volume |
| Perimeter P | .P | Circumference of the circular base |
| Base Area A | .A | Area of one circular base |
| Lateral Area L | .L | Side surface area |
| Surface Area S | .S | Total surface area |
Examples
oblcyl(3, 20, 10)= obliquecyl(3, 20, 10)=
Half Cylinder Solver – halfcyl
Syntax
halfcyl(r, h) semicyl(r, h)
Description
Computes geometric properties of a half cylinder (semi-cylinder)
from radius r and height/length h.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = πr²h / 2 |
| Lateral area L | L = πrh + 2rh |
| Surface area S | S = L + πr² |
| Diagonal d | d = √((2r)² + h²) |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Half-cylinder volume |
| Surface Area S | .S | Total surface area |
| Lateral Area L | .L | Curved half mantle + rectangular cut face |
| Diagonal d | .d | Diagonal across rectangle 2r × h |
Examples
halfcyl(3, 10)= semicyl(3, 10)=
Oblique Cylinder Section Solver – oblcylsec
Syntax
oblcylsec(r, hs, hl) cylsec(r, hs, hl)
Description
Computes geometric properties of an oblique cylinder section
from radius r, short height hs, and long height hl.
Use hl ≥ hs.
Formulas
| Quantity | Formula |
|---|---|
| Mean height h̄ | h̄ = (hs + hl) / 2 |
| Volume V | V = πr²h̄ |
| Lateral area L | L = 2πr h̄ |
| Base area A | A = πr² |
| Perimeter P | P = 2πr |
| Semi-axis a | a = r√(1 + ((hl-hs)/(2r))²) |
| Surface area S | S = L + A + Atop, with Atop = πra |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Section volume |
| Surface Area S | .S | Total surface area |
| Lateral Area L | .L | Curved side area |
| Base Area A | .A | Area of base circle |
| Perimeter P | .P | Circumference of base circle |
| Semi-axis a | .a | Top ellipse semi-major axis |
Examples
oblcylsec(3, 8, 12)= cylsec(3, 8, 12)=
Cylindrical Sector Solver – cylsector
Syntax
cylsector(r, h, alpha) cylwedge(r, h, alpha)
Description
Computes geometric properties of a cylindrical sector (sector prism / wedge)
from radius r, height h, and central angle alpha.
The angle follows the toolbar DEG/RAD mode.
Formulas
| Quantity | Formula |
|---|---|
| Wedge length l | l = rα (with α in radians) |
| Base area AB | AB = (α/2) r² |
| Side area AS | AS = 2rh |
| Lateral area L | L = AS + lh |
| Volume V | V = ABh |
| Surface area S | S = L + 2AB |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Sector volume |
| Base Area AB | .AB | Area of one sector base |
| Side Area AS | .AS | Two radial rectangle faces |
| Lateral Area L | .L | Side area total (radial + curved) |
| Surface Area S | .S | Total surface area |
| Wedge Length l | .l | Arc length of wedge base |
Examples
cylsector(3, 10, 60)= cylwedge(3, 10, 60)=
Cylindrical Segment Solver – cylseg
Syntax
cylseg(r, h, l)
Description
Computes geometric properties of a cylindrical segment – the solid
cut from a cylinder by a plane parallel to its axis – from radius r,
height / length h, and segment depth (sagitta) l
where 0 < l < 2r.
Formulas
| Quantity | Formula |
|---|---|
| Half-angle α | α = arccos((r−l)/r) |
| Segment width s (chord) | s = 2√(2rl−l²) |
| Arc length b | b = 2rα |
| End area AT | AT = r²α − (r−l)s/2 |
| Volume V | V = AT · h |
| Lateral area L | L = b · h |
| Surface area S | S = L + sh + 2AT |
Result List
| Label | Key | Description |
|---|---|---|
| Segment Width s | .s | Chord width of the cross-section |
| Arc Length b | .b | Arc length of the curved cross-section |
| Volume V | .V | Segment volume |
| Surface Area S | .S | Total surface area |
| Lateral Area L | .L | Curved lateral area |
| End Area AT | .AT | Circular segment area of one end face |
Examples
cylseg(5, 10, 2)=
Regular N-gonal Pyramid Solver – ngonpyramid
Syntax
ngonpyramid(a, h, n)
Description
Computes geometric properties of a regular n-gonal pyramid – a pyramid
whose base is a regular polygon with n equal sides of length a,
and whose apex is directly above the center of the base at height h.
Supports any number of sides n ≥ 3: triangular (n=3), square (n=4),
pentagonal (n=5), hexagonal (n=6), etc.
Inputs
| Parameter | Description |
|---|---|
a | Base edge length (all sides equal) |
h | Perpendicular height from base to apex |
n | Number of base sides (integer ≥ 3) |
Formulas
| Quantity | Formula |
|---|---|
| Base apothem ap | ap = a / (2 · tan(π/n)) |
| Base circumradius rc | rc = a / (2 · sin(π/n)) |
| Slant height s | s = √(ap² + h²) |
| Lateral edge e | e = √(rc² + h²) |
| Base area A | A = n · a² / (4 · tan(π/n)) |
| Slant area As | As = a · s / 2 (area of one triangular face) |
| Lateral surface AL | AL = n · As |
| Surface area S | S = A + AL |
| Perimeter P | P = n · a |
| Volume V | V = A · h / 3 |
Result list
| Label | Key | Description |
|---|---|---|
| Slant height s | .s | Distance from apex to midpoint of a base edge |
| Edge length e | .e | Distance from apex to a base vertex |
| Base area A | .A | Area of the regular n-gon base |
| Slant area As | .As | Area of one triangular lateral face |
| Lateral surface AL | .AL | Total lateral (side) surface area |
| Surface area S | .S | Total surface area (base + lateral) |
| Perimeter P | .P | Perimeter of the base polygon |
| Volume V | .V | Volume of the pyramid |
Examples
ngonpyramid(6, 10, 4)= Square pyramid, a=6, h=10 ngonpyramid(5, 8, 6)= Hexagonal pyramid, a=5, h=8 ngonpyramid(4, 7, 3)= Triangular pyramid, a=4, h=7
Regular N-gonal Double Pyramid Solver – ngonbipyramid
Syntax
ngonbipyramid(a, h, n) ngondoublepyramid(a, h, n) // alias bipyramid(a, h, n) // alias doublepyramid(a, h, n) // alias
Description
Computes geometric properties of a regular n-gonal double pyramid (bipyramid),
formed by two identical regular pyramids joined base-to-base.
The shared base is a regular n-gon with edge length a, and each half has height h.
Inputs
| Parameter | Description |
|---|---|
a | Base edge length of the regular n-gon |
h | Half-height (height of one pyramid half) |
n | Number of sides (integer ≥ 3) |
Formulas
| Quantity | Formula |
|---|---|
Slant height s | s = √(ap² + h²) |
Edge length e | e = √(rc² + h²) |
Total height i | i = 2h |
One side face area As | As = a · s / 2 |
Surface area S | S = 2 · n · As |
Perimeter P | P = n · a |
Volume V | V = 2 · A · h / 3, with A = n · a² / (4 · tan(π/n)) |
Result List
| Label | Key | Description |
|---|---|---|
| Slant height s | .s | Face slant height of one pyramid half |
| Edge length e | .e | Lateral edge from apex to base vertex |
| Total height i | .i | Distance between both apexes |
| Side face area As | .As | Area of one triangular side face |
| Surface area S | .S | Total outer surface area |
| Perimeter P | .P | Perimeter of the middle regular n-gon |
| Volume V | .V | Total volume of both pyramid halves |
Examples
ngonbipyramid(6,8,4)= ngonbipyramid(5,7,6)=
Regular N-gonal Pyramid Frustum Solver – ngonfrustum
Syntax
ngonfrustum(a, b, h, n) pyramidfrustum(a, b, h, n) // alias pyrfrustum(a, b, h, n) // alias
Description
Computes geometric properties of a regular n-gonal pyramid frustum
(truncated regular pyramid) with base edge length a, top edge length b,
vertical height h, and side count n. The two polygons are similar and parallel.
Inputs
| Parameter | Description |
|---|---|
a | Base edge length |
b | Top edge length |
h | Perpendicular height |
n | Number of sides (integer ≥ 3) |
Constraint: b ≤ a
Formulas
| Quantity | Formula |
|---|---|
Base apothem apbase | apbase = a / (2 · tan(π/n)) |
Top apothem aptop | aptop = b / (2 · tan(π/n)) |
Slant height s | s = √((apbase-aptop)² + h²) |
Lateral edge e | e = √((rcbase-rctop)² + h²) |
One side face area As | As = (a+b) · s / 2 |
Lateral area Am | Am = n · As |
Surface area S | S = Abase + Atop + Am |
Perimeter P | P = n · a |
Volume V | V = h(Abase+Atop+√(Abase · Atop))/3 |
Result List
| Label | Key | Description |
|---|---|---|
| Slant height s | .s | Face slant height between base and top polygons |
| Edge length e | .e | Lateral edge from base vertex to top vertex |
| Side face area As | .As | Area of one trapezoid side face |
| Lateral area Am | .Am | Total lateral area of all side faces |
| Surface area S | .S | Total area (base + top + lateral) |
| Perimeter P | .P | Perimeter of the base polygon |
| Volume V | .V | Frustum volume |
Examples
ngonfrustum(8,4,6,4)= ngonfrustum(6,3,9,5)=
Hollow Cylinder Solver – hollowcyl
Syntax
hollowcyl(ro, ri, h)
Description
Computes geometric properties of a hollow cylinder (tube)
from outer radius ro, inner radius ri, and height h.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = π(ro² − ri²)h |
| Surface area S | S = 2πh(ro + ri) + 2π(ro² − ri²) |
| Lateral areas L | L = 2πh(ro + ri) |
| Outer surface Lo | Lo = 2πroh |
| Inner surface Li | Li = 2πrih |
| Base area A | A = π(ro² − ri²) |
| Perimeter P | P = 2π(ro + ri) |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Hollow cylinder volume |
| Surface Area S | .S | Total outer+inner+base-ring area |
| Lateral Areas L | .L | Outer + inner lateral areas |
| Outer Surface Lo | .Lo | Outer curved side area |
| Inner Surface Li | .Li | Inner curved side area |
| Base Area A | .A | One annular base area |
| Perimeter P | .P | Sum of outer and inner base circumferences |
Examples
hollowcyl(6, 4, 10)= tube(6, 4, 10)=
Frustum Solver – frustum
Syntax
frustum(rs, rl, h)
Description
Computes geometric properties of a right circular truncated cone (frustum)
from small/top radius rs, large/base radius rl, and height h.
Formulas
| Quantity | Formula |
|---|---|
| Volume V | V = πh(rl² + rl · rs + rs²) / 3 |
| Lateral length L | L = √((rl - rs)² + h²) |
| Top surface AT | AT = πrs² |
| Base surface AB | AB = πrl² |
| Lateral surface SL | SL = π(rl + rs)L |
| Total surface S | S = AT + AB + SL |
| Large perimeter PL | PL = 2πrl |
| Small perimeter PS | PS = 2πrs |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Frustum volume |
| Lateral Length L | .L | Slant side length |
| Top Surface AT | .AT | Area of the top circle |
| Base Surface AB | .AB | Area of the base circle |
| Lateral Surface SL | .SL | Curved side area |
| Total Surface S | .S | Total area = top + base + lateral |
| Large Perimeter PL | .PL | Circumference of base circle |
| Small Perimeter PS | .PS | Circumference of top circle |
Examples
frustum(2, 5, 6)= frustum(3, 8, 10)=
Double Cone Solver – bicone
Syntax
bicone(r, h)
Description
Computes geometric properties of a double cone (bicone)
made of two identical right circular cones joined at the base,
with base radius r and cone height h (per cone).
Formulas
| Quantity | Formula |
|---|---|
| Base area A | A = πr² |
| Lateral areas SL | SL = 2πr√(r² + h²) |
| Total surface S | S = SL |
| Volume V | V = 2πr²h / 3 |
Result List
| Label | Key | Description |
|---|---|---|
| Base Area A | .A | Shared base circle area |
| Lateral Areas SL | .SL | Sum of both lateral cone surfaces |
| Total Surface S | .S | Total outer area (equals SL) |
| Volume V | .V | Sum of both cone volumes |
Examples
bicone(3, 4)= doublecone(3, 4)=
Pointed Pillar Solver – pillar
Syntax
pillar(a, b, hp, hc)
Description
Computes geometric properties of a pointed pillar
composed of a truncated cone and a top cone.
Inputs are base radius a, transition radius b,
pillar base height hp, and cone height hc.
Formulas
| Quantity | Formula |
|---|---|
| Base area A | A = πa² |
| Lateral area L | L = π(a+b)√((a-b)² + hp²) + πb√(b² + hc²) |
| Surface area S | S = A + L |
| Volume V | V = πhp(a² + ab + b²)/3 + πb²hc/3 |
Result List
| Label | Key | Description |
|---|---|---|
| Base Area A | .A | Bottom circular base area |
| Lateral Area L | .L | Frustum lateral area + cone lateral area |
| Surface Area S | .S | Total outer area = A + L |
| Volume V | .V | Frustum volume + cone volume |
Examples
pillar(8, 5, 10, 6)= spitzpfeiler(8, 5, 10, 6)=
Rounded Cone Solver – spherocone
Syntax
spherocone(R, r, hf)
Description
Computes geometric properties of a rounded cone made of a frustum
and a spherical cap, with tangent-continuous transition.
Inputs are base radius R, cap sphere radius r,
and frustum height hf.
Formulas
| Quantity | Formula |
|---|---|
| Transition radius x | hf√(r²−x²) = x(R−x), solved numerically |
| Cap height i | i = r − √(r²−x²) |
| Total height h | h = hf + i |
| Surface area S | S = πR² + π(R+x)√((R−x)²+hf²) + 2πri |
| Volume V | V = πhf(R²+Rx+x²)/3 + πi²(3r−i)/3 |
| Base angle α | α = atan(hf / (R−x)) |
Result List
| Label | Key | Description |
|---|---|---|
| Cap Height i | .i | Spherical cap height |
| Total Height h | .h | Overall shape height |
| Surface Area S | .S | Total outer surface area |
| Volume V | .V | Total volume (frustum + cap) |
| Base Angle α | .alpha | Frustum base angle in degrees |
Examples
spherocone(8, 5, 10)= roundcone(8, 5, 10)=
Elliptic Frustum Solver – ellfrustum
Syntax
ellfrustum(a, b, h, ht)
Description
Computes geometric properties of a right truncated elliptic cone
from bottom semi-axes a, b, full cone height h,
and truncated top-cone height ht measured from the apex.
Formulas
| Quantity | Formula |
|---|---|
| Top semi-axis c | c = a · ht / h |
| Top semi-axis d | d = b · ht / h |
| Volume V | V = π(h-ht)(ab + cd + √(ab · cd)) / 3 |
| Base area A | A = πab |
| Lateral surface M | M = Mfull cone · (1-(ht/h)²) |
| Total surface S | S = A + (πcd) + M |
Result List
| Label | Key | Description |
|---|---|---|
| Top Semi-axis c | .c | Top ellipse semi-axis corresponding to a |
| Top Semi-axis d | .d | Top ellipse semi-axis corresponding to b |
| Volume V | .V | Elliptic frustum volume |
| Base Area A | .A | Bottom ellipse area (πab) |
| Lateral Surface M | .M | Curved side area |
| Total Surface S | .S | Bottom base + top base + lateral surface |
Examples
ellfrustum(8, 5, 12, 4)= ellfrustum(10, 6, 15, 3)=
Elliptic Cone Solver – ellcone
Syntax
ellcone(a, b, h)
Description
Computes geometric properties of a right elliptic cone
from major and minor base semi-axes a, b, and height h.
Formulas
| Quantity | Formula |
|---|---|
| Base area A | A = πab |
| Volume V | V = πab h / 3 |
| Lateral area M | Computed numerically from the exact elliptic-cone surface integral |
| Total surface S | S = A + M |
Result List
| Label | Key | Description |
|---|---|---|
| Volume V | .V | Elliptic cone volume |
| Base Area A | .A | Area of elliptical base |
| Lateral Area M | .M | Curved side area |
| Total Surface S | .S | Base + lateral area |
Examples
ellcone(4, 2, 6)= ellcone(10, 6, 12)=
Solid Angle Solver – solang
Syntax
solang(W=..., R=...)
solang(W=..., A=...)
solang(A=..., R=...)
Description
Solves the solid angle relation Ω = A / R². Provide any two of the three quantities; the third is computed. Parameters are case-sensitive.
| Parameter | Symbol | Description |
|---|---|---|
W | Ω | Solid angle [sr – steradian]. Aliases: Ω, omega |
A | A | Spherical cap area intercepted on a sphere of radius R |
R | R | Sphere radius |
Formulas
| Unknown | Formula |
|---|---|
| W (solid angle) | Ω = A / R² |
| A (cap area) | A = Ω · R² |
| R (sphere radius) | R = √(A / Ω) |
Note: a full sphere subtends 4π ≈ 12.566 sr.
Examples
solang(A=12.566, R=2) → W ≈ 3.1416 sr
solang(W=3.1416, R=2) → A ≈ 12.566
solang(W=3.1416, A=12.566) → R = 2
Ellipse Solver – ellipse
Syntax
ellipse(a, b)
Description
Computes the perimeter and area of an ellipse from the two semi-axes
a and b.
Formulas
| Quantity | Symbol | Formula | Unit |
|---|---|---|---|
| Perimeter | P | π · (3(a+b) − √((3a+b)(a+3b))) | – |
| Area | A | πab | – |
Result List
| Label | Key | Description |
|---|---|---|
| Semi-axis a | .a | Input semi-axis a |
| Semi-axis b | .b | Input semi-axis b |
| Perimeter P | .P | Ellipse perimeter (Ramanujan approximation) |
| Area A | .A | Ellipse area |
Examples
ellipse(5, 3)=
Semi-axis b 3
Perimeter P 25.527
Area A 47.124
Circular Arc (angle input) – arc
Syntax
arc(r, alpha)
Description
Computes all characteristic dimensions of a circular arc (Kreisbogen / Rundbogen) given the radius r and the central angle α in degrees.
Formulas
| Quantity | Symbol | Formula | Unit |
|---|---|---|---|
| Arc length | s | r · αrad | – |
| Chord | c | 2r · sin(α/2) | – |
| Sagitta (Pfeilhöhe) | h | r · (1 − cos(α/2)) | – |
| Sector area | A | ½ r² · αrad | – |
| Segment area | As | A − ½ r² · sin(α) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Radius | .r | Input radius |
| Angle α | .alpha | Central angle in degrees (input) |
| Arc length | .s | Length of the arc |
| Chord | .c | Straight line connecting the two arc endpoints |
| Sagitta | .h | Height from chord midpoint to arc midpoint (Pfeilhöhe) |
| Sector area | .A | Area of the pie-slice sector |
| Segment area | .As | Area of the circular segment (sector minus triangle) |
Examples
arc(5, 90)=
Angle α 90 °
Arc length 7.854
Chord 7.071
Sagitta 1.464
Sector area 19.635
Segment area 7.135
arc(10, 180)=
Chord 20
Sagitta 10
Sector area 157.08
Segment area 157.08 (= half disk)
r := arc(5, 90) r.s → 7.854 r.c → 7.071 r.h → 1.464 r.A → 19.635
Circular Arc (arc-length input) – arcl
Syntax
arcl(r, s)
Description
Computes all characteristic dimensions of a circular arc given the
radius r and the arc length s.
The central angle is derived as α = s / r [rad].
All other outputs are identical to arc.
Examples
arcl(5, 7.854)=
Angle α 90 °
Arc length 7.854
Chord 7.071
Sagitta 1.464
Sector area 19.635
Segment area 7.135
r := arcl(5, 7.854) r.alpha → 90° r.c → 7.071
Rhombus Solver – rhom
Syntax
rhom(a, h) rhombus(a, h) // alias
Description
Computes a rhombus from side length a and height h.
The function returns the geometric base set:
area, perimeter, both diagonals, and both interior angles.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
A – area | a × h | – |
P – perimeter | 4a | – |
alpha – acute angle | asin(h/a) × 180/π | ° |
beta – obtuse angle | 180° − alpha | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Side length a | .a | Input side length |
| Height h | .h | Input height |
| Area A | .A | Rhombus area |
| Perimeter P | .P | Total edge length |
| Diagonal e | .e | Longer diagonal |
| Diagonal f | .f | Shorter diagonal |
| Angle α | .alpha | Acute interior angle |
| Angle β | .beta | Obtuse interior angle |
Examples
rhom(10, 6)=
Height h 6
Area A 60
Perimeter P 40
Diagonal e 15.211
Diagonal f 7.889
Angle α 36.87 °
Angle β 143.13 °
r := rhom(12, 8) r.A → 96 r.P → 48 r.alpha → 41.81
Rhombus from Diagonals – rhomd
Syntax
rhomd(e, f) rhombusdf(e, f) // alias
Description
Computes a rhombus from its two diagonals e and f.
The function returns area, perimeter, and both interior angles.
Formulas
| Quantity | Formula | Unit |
|---|---|---|
A – area | e × f / 2 | – |
a – side length | ½ √(e² + f²) | – |
P – perimeter | 4a = 2 √(e² + f²) | – |
alpha – acute angle | 2 × atan(min(e,f) / max(e,f)) × 180/π | ° |
beta – obtuse angle | 180° − alpha | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Area A | .A | Rhombus area |
| Perimeter P | .P | Total edge length |
| Angle α | .alpha | Acute interior angle |
| Angle β | .beta | Obtuse interior angle |
Examples
rhomd(16, 12)=
Perimeter P 40
Angle α 73.74 °
Angle β 106.26 °
r := rhomd(20, 12) r.A → 120 r.P → 46.648 r.alpha → 61.93
Kite Area – kitearea
Syntax
kitearea(e, f) deltoidarea(e, f) // alias
Description
Computes the area of a kite (deltoid) directly from its two diagonals.
Formula
| Quantity | Formula | Unit |
|---|---|---|
A – area | e × f / 2 | – |
Examples
kitearea(10, 6) → 30 deltoidarea(12, 8) → 48
Kite (Deltoid) Solver – kite
Syntax
kite(e, f, c) deltoid(e, f, c) // alias
Description
Computes a kite (deltoid) from its diagonals and split position on the main diagonal.
Inputs are: e (full main diagonal), f (secondary diagonal),
and c (distance from one endpoint of diagonal e to the
intersection point of both diagonals).
Formulas
| Quantity | Formula | Unit |
|---|---|---|
a – first side pair | √(c² + (f/2)²) | – |
b – second side pair | √((e-c)² + (f/2)²) | – |
P – perimeter | 2(a + b) | – |
A – area | e × f / 2 | – |
alpha – tip angle at c-side | 2 × atan((f/2)/c) × 180/π | ° |
beta – opposite tip angle | 2 × atan((f/2)/(e-c)) × 180/π | ° |
gamma – side angles | (360° − alpha − beta)/2 | ° |
Result List
| Label | Key | Description |
|---|---|---|
| Side a | .a | First pair of equal sides |
| Side b | .b | Second pair of equal sides |
| Perimeter | .P | Total boundary length |
| Area A | .A | Kite area |
| Angle α | .alpha | First tip angle |
| Angle β | .beta | Opposite tip angle |
| Angle γ | .gamma | Both side angles (equal) |
Examples
kite(10, 6, 4)=
Side b 6.708
Perimeter 23.416
Area A 30
Angle α 73.74 °
Angle β 53.13 °
Angle γ 116.565 °
k := deltoid(12, 8, 5) k.a → 6.403 k.b → 8.062 k.A → 48 k.P → 28.93
Half-Square Kite Solver – kitehs
Syntax
kitehs(a, b)
Description
Computes a half-square kite from two side lengths. The upper tip angle is fixed to 90° (isosceles right top part).
Constraint
b > a/√2
Results
| Label | Key | Description |
|---|---|---|
| Perimeter P | .P | Total boundary length |
| Area A | .A | Area |
| Diagonal e | .e | Main diagonal |
| Section e₁ | .e1 | Upper part of diagonal e |
| Section e₂ | .e2 | Lower part of diagonal e |
| Diagonal f | .f | Secondary diagonal |
| Angle β | .beta | Bottom tip angle |
| Angle γ | .gamma | Side angles (equal) |
| Inner radius ri | .ri | Inradius of tangential kite |
Example
kitehs(5, 7)=
Right Kite Solver – kitert
Syntax
kitert(a, b)
Description
Computes a right-angled kite (right deltoid) from two side lengths.
The top angle is fixed to α = 90°.
Constraint
b > a/√2
Results
| Label | Key | Description |
|---|---|---|
| Perimeter P | .P | Total boundary length |
| Area A | .A | Area |
| Diagonal e | .e | Main diagonal |
| Diagonal f | .f | Secondary diagonal |
| Angle α | .alpha | Top angle (fixed at 90°) |
| Angle γ | .gamma | Equal side angles |
| Incircle radius ri | .ri | Inscribed-circle radius |
| Outer radius rc | .rc | Circumradius of the top right triangle |
Example
kitert(3, 5)=
Arbitrary Quadrilateral Solver – quad
Syntax
quad(a, b, c, beta, gamma) quadrilateral(a, b, c, beta, gamma) // alias
Description
Computes a general convex quadrilateral from three consecutive sides
a, b, c and two interior angles
beta and gamma.
The angles follow the toolbar angle mode (DEG/RAD).
Naming Scheme (Sides, Angles, Diagonals)
B (β)
/ \
a / \ b
/ f \
A (α)---e---C (γ)
\ /
d \ / c
\ /
D (δ)
Sides: a = AB, b = BC, c = CD, d = DA
Diagonals: e = AC, f = BD
Angles: α at A, β at B, γ at C, δ at D
Input Constraints
a,b,c > 0, 0 < beta < 180°,
0 < gamma < 180°, and the resulting shape must be convex.
Result List
| Label | Key | Description |
|---|---|---|
| Side length d | .d | Fourth side |
| Diagonal e | .e | Diagonal AC |
| Diagonal f | .f | Diagonal BD |
| Area A | .A | Quadrilateral area |
| Perimeter U | .U | Total boundary length |
| Angle α | .alpha | Interior angle at A |
| Angle δ | .delta | Interior angle at D |
Example
quad(5, 4, 6, 110, 95)=
Concave Quadrilateral Solver – quadconc
Syntax
quadconc(a, b, c, alpha, gamma) concquad(a, b, c, alpha, gamma) // alias
Description
Computes a general concave quadrilateral from three consecutive sides
a, b, c and two interior angles
alpha and gamma.
The angles follow the toolbar angle mode (DEG/RAD).
Naming Scheme (Sides, Angles, Diagonals)
B (β)
/ \
a / \ b
/ f \
A (α)---e---C (γ)
\ /
\ / c
\ /
D (δ)
Concave case: α is the reflex interior angle at A (> 180°).
Sides: a = AB, b = BC, c = CD, d = DA
Diagonals: e = AC, f = BD
Angles: α at A, β at B, γ at C, δ at D
Input Constraints
a,b,c > 0, 180° < alpha < 360°,
0 < gamma < 180°.
Result List
| Label | Key | Description |
|---|---|---|
| Side d | .d | Fourth side |
| Diagonal e | .e | Diagonal AC |
| Diagonal f | .f | Diagonal BD |
| Area A | .A | Quadrilateral area |
| Perimeter U | .U | Total boundary length |
| Angle α | .alpha | Given concave interior angle |
| Angle δ | .delta | Fourth interior angle |
Example
quadconc(5, 4, 6, 220, 70)=
Three-Equal-Sides Trapezoid Solver – treptri
Syntax
treptri(a, b)
Description
Computes a trapezoid with one distinct base side a and
three equal sides of length b (top base and both legs).
The function returns geometric parameters including height, diagonal,
angles, area, and circumradius.
Naming Scheme
D (β)────────────b────────────C (β)
/ \
b b
\ /
A (α)────────────a────────────B (α)
Given: a = bottom base, b = top base and both legs
Output: d = equal diagonal length, h = height, m = middle width,
A = area, P = perimeter, rc = circumradius
Formulas
| Quantity | Formula |
|---|---|
| Horizontal shift x | (a - b) / 2 |
| Height h | √(b² - x²) |
| Diagonal d | √(((a+b)/2)² + h²) |
| Middle width m | (a + b) / 2 |
| Area A | m × h |
| Perimeter P | a + 3b |
| Angle α | atan(h / x) × 180/π |
| Angle β | 180° - α |
| Circumradius rc | b × d / (2h) |
Input Constraints
a > 0, b > 0, and a < 3b.
Result List
| Label | Key | Description |
|---|---|---|
| Diagonal d | .d | Equal diagonal length |
| Height h | .h | Perpendicular height |
| Middle width m | .m | Mean of both bases |
| Area A | .A | Trapezoid area |
| Perimeter P | .P | Total boundary length |
| Angle α | .alpha | Bottom interior angle |
| Angle β | .beta | Top interior angle |
| Circumradius rc | .rc | Circumcircle radius |
Example
treptri(10, 4)=
t := treptri(10, 4) t.d → 8.944 t.h → 2.646 t.A → 18.520 t.P → 22 t.alpha → 41.409 t.beta → 138.591 t.rc → 6.761
Symmetric Trapezoid Solver – traps
Syntax
traps(a, c, h)
Description
Computes a symmetric trapezoid from the two parallel sides a (bottom),
c (top), and the height h. In the symmetric case,
both legs are equal (b = d), both diagonals are equal (e = f),
and the side overhangs are equal.
Naming Scheme
D (δ)────────────c────────────C (γ) / \ d / \ b / \ A (α)──────────────a──────────────B (β) |← x →| |← x →| Parallel sides: a (bottom), c (top) Legs: b = d Diagonals: e = f Angles: α = β, γ = δ Overhang: x = (a - c) / 2
Formulas
| Quantity | Formula |
|---|---|
| Overhang x | (a - c) / 2 |
| Legs b=d | √(h² + x²) |
| Diagonal e=f | √((x + c)² + h²) |
| Midline m | (a + c) / 2 |
| Area A | m × h |
| Perimeter P | a + c + 2b |
| Angles α=β | atan(h / x) × 180/π |
| Angles γ=δ | 180° - α |
Input Constraints
a ≥ c > 0 and h > 0.
Result List
| Label | Key | Description |
|---|---|---|
| Side a | .a | Bottom parallel side |
| Legs b=d | .b | Equal leg length |
| Side c | .c | Top parallel side |
| Diagonal e=f | .e | Equal diagonals |
| Height h | .h | Perpendicular height |
| Midline m | .m | Mean width |
| Area A | .A | Trapezoid area |
| Perimeter P | .P | Total boundary length |
| Angles α=β | .alpha | Bottom equal angles |
| Angles γ=δ | .gamma | Top equal angles |
| Overhang x | .x | Equal side overhang |
Example
traps(10, 6, 4)=
t := traps(10, 6, 4) t.A → 32 t.P → 24.944 t.alpha → 63.435 t.x → 2
Right Trapezoid Solver – trapr
Syntax
trapr(a, c, b=...) trapr(a, c, d=...)
Description
Computes a right trapezoid from base side a, top side c,
and exactly one named third parameter:
b (perpendicular side / height) or d (slanted side).
The first two parameters are positional (a, c),
the third parameter must be named.
Naming Scheme
D (δ)────────────c────────────C (90°) | / | b (=height) / d | / A (90°)────────────a────────B (α) Sides: a = AB (bottom), b = AD (perpendicular), c = DC (top), d = BC (slanted) Diagonals: e = AC, f = BD Angles: α at B, δ at D
Formulas
| Quantity | Formula |
|---|---|
| Horizontal offset | |a - c| |
| d from b | √((a-c)² + b²) |
| b from d | √(d² - (a-c)²) |
| Diagonal e | √(c² + b²) |
| Diagonal f | √(a² + b²) |
| Midline m | (a + c) / 2 |
| Area A | m × b |
| Perimeter P | a + b + c + d |
| Angle α | atan(b / |a-c|) × 180/π |
| Angle δ | 180° - α |
Input Constraints
a,c > 0 and either b > 0 or d > |a-c|.
Result List
| Label | Key | Description |
|---|---|---|
| Side a | .a | Bottom base |
| Side b | .b | Perpendicular side (height) |
| Side c | .c | Top side |
| Side d | .d | Slanted side |
| Diagonal e | .e | Diagonal AC |
| Diagonal f | .f | Diagonal BD |
| Midline m | .m | Mean width |
| Area A | .A | Trapezoid area |
| Perimeter P | .P | Total boundary length |
| Angle α | .alpha | Acute angle at B |
| Angle δ | .delta | Obtuse angle at D |
Example
trapr(12, 8, b=5)= trapr(12, 8, d=6)=
r := trapr(12, 8, b=5) r.A → 50 r.P → 31.403 r.alpha → 51.340 r.delta → 128.660
Helix (Schraubenlinie) – helix
Syntax
helix(r, h, n)
Description
Computes the characteristic properties of a helix (Schraubenlinie / Wendelkurve) given the cylinder radius r, the total axial height h, and the number of turns n. The function uses the standard differential-geometry parametrization (r cos t, r sin t, bt) where b = pitch / (2π).
Formulas
| Quantity | Symbol | Formula | Unit |
|---|---|---|---|
| Pitch (Ganghöhe) | p | h / n | – |
| Helix angle | alpha | atan(p / 2πr) × 180/π | ° |
| Arc length | s | 2πn · √(r² + b²) where b = p/(2π) | – |
| Curvature | kappa (κ) | r / (r² + b²) | – |
| Torsion | tau (τ) | b / (r² + b²) | – |
Result List
| Label | Key | Description |
|---|---|---|
| Pitch | .p | Height per full turn (Ganghöhe) |
| Helix angle α | .alpha | Angle between tangent and horizontal plane [°] |
| Arc length | .s | Total length of the helix curve |
| Curvature κ | .kappa | Reciprocal of the osculating-circle radius |
| Torsion τ | .tau | Rate of rotation of the osculating plane |
Examples
helix(1, 10, 5)=
Helix angle α 17.657 °
Arc length 64.659
Curvature κ 0.282
Torsion τ 0.090
helix(0.05, 0.3, 10)=
Helix angle α 5.442 °
Arc length 3.144
Curvature κ 19.919
Torsion τ 1.896
r := helix(1, 10, 5) r.p → 2 r.s → 64.659 r.kappa → 0.282 r.tau → 0.090
Euclidean Vector Distance – distance
Syntax
distance(a, b)
Description
Returns the Euclidean distance ‖a − b‖ between two scalars or,
when a and b are array variables, between two n-dimensional vectors.
This is the general-purpose distance function; for 2D coordinate work with labelled
results use p2dist instead.
Formulas
| Input type | Formula |
|---|---|
| Scalars | |a − b| |
| Vectors / arrays | √∑(aᵢ − bᵢ)² |
Examples
distance(3, 7) → 4 distance(0, 5) → 5
u := [1, 2, 3] v := [4, 6, 3] distance(u, v) → 5
Quick Reference
| Function | Panel group | Parameters | Primary result |
|---|---|---|---|
p2dist(Ax,Ay,Bx,By) |
Lines and Curves | Coordinates of two points A, B | c = total distance A↔B; b, a = x/y components; alpha = angle |
p2linedist(Ax,Ay,Bx,By,Px,Py) |
Lines and Curves | Two line points A, B and query point P | d = shortest distance; Fx, Fy = foot point; |AB| = line length |
l2angle(Ax,Ay,Bx,By,Cx,Cy,Dx,Dy) |
Lines and Curves | Two points per line: A,B = line 1; C,D = line 2 | α = acute intersection angle [0°…90°] |
v2angle(Ax,Ay,Bx,By) |
Lines and Curves | Components of two 2D vectors A and B | α = angle [0°…180°]; dot, |A|, |B| |
v3angle(Ax,Ay,Az,Bx,By,Bz) |
Lines and Curves | Components of two 3D vectors A and B | α = angle [0°…180°]; dot, |A|, |B| |
abcangles(a,b,c) |
Lines and Curves | Triangle side lengths a, b, c | α, β, γ = interior angles opposite a, b, c [°] |
polyangles(n) |
Lines and Curves | Number of sides n (integer, n ≥ 3) | sum = interior angle sum; interior = one interior angle; exterior = one exterior angle [°] |
eqtri(...=...) |
Lines and Curves | One named input: a (side), h (height), u (perimeter), or A (area) | Returns full equilateral triangle set: a, h, u, A |
isotri(...=..., ...=...) |
Triangle | Two named inputs following pair rule: one of (a|h) and one of (b|h|A|alpha) | Returns a, b, h, P, A, alpha, gamma |
rtri(...=..., ...=...) |
Triangle | One side a|b|c plus alpha | Returns a, b, c, h, A, P, p, q, alpha, beta |
pythag(...=..., ...=...) |
Triangle | Two known sides from a|b|c | Returns a, b, c, h, A, P, p, q, alpha, beta |
isortri(...=...) |
Triangle | One named input: a (base), b (side), h (height), or A (area) | Returns a, b, h, P, A |
triarea(base,height) |
Triangle | Base, height | A = base × height / 2 |
triangarea(a,b,alpha) |
Triangle | Two sides a, b and included angle alpha [°] | A = 1/2 × a × b × sin(alpha) |
triarea2ang(base,alpha,beta) |
Triangle | Base and two angles alpha, beta [° or rad] | A = base² × sin(alpha) × sin(beta) / (2 × sin(alpha+beta)) |
triheron(a,b,c) |
Triangle | Three side lengths a, b, c | A = √(s(s−a)(s−b)(s−c)), s = (a+b+c)/2 |
square(...=...) |
Quadrilaterals | One named input: seite|diagonal|umfang|flaeche (or a|d|U|A) | Returns a, d, U, A, ri, Ai, ru, Au |
goldrect(...=...) |
Quadrilaterals | One named input: a|b|d|U|A (aliases: laenge|breite|diagonal|umfang|flaeche) | Returns a, b, d, U, A, phi |
para(a,b,alpha) |
Quadrilaterals | Sides a, b and included angle alpha [°] | Returns A, P, ha, hb, e, f, beta |
paraaera(base,height) |
Quadrilaterals | Base and height | A = base × height |
rect(...=..., ...=...) |
Quadrilaterals | Two named inputs: one of (l|b) and one of (b|d|A|U) | Returns l, b, d, U, A |
slope(rise, run) |
Lines and Curves | Vertical rise and horizontal run | m = slope; α [°]; grade [%]; rise; run |
p2slope(Ax,Ay,Bx,By) |
Lines and Curves | Coordinates of two points A, B | m = slope; α [°]; grade [%]; Δy (rise); Δx (run) |
circle(...=...) |
Lines and Curves | One named input: r|d|U|A | Returns radius r, diameter d, perimeter U, area A |
sphere(...=...) |
Spherical Solids | One named input: r|d|P|S|A|V | Returns r, d, P, S, A, V |
bicylinder(...=...) |
Cylinders | One named input: r|V|S | Returns r, V, S |
tricylinder(...=...) |
Cylinders | One named input: r|V|S | Returns r, V, S |
oloid(...=...) |
Spherical Solids | One named input: r|a|l|h|S|V | Returns r, a, l, h, S, V |
sphcor(...=...) |
Spherical Solids | One named input: r|P|S|V (sphere octant) | Returns r, P, S, V |
sphsl(ri, ro) |
Spherical Solids | Inner radius ri, outer radius ro | Returns shell volume V and shell surface S |
sphecap(r, x=...) |
Spherical Solids | Sphere radius r and one named input: h|a | Returns h, a, r, Vs, A, Sc, S |
sphesec(r, x=...) |
Spherical Solids | Sphere radius r and one named input: sh|sr | Returns sh, sr, r, V, Ac, As, A |
sphseg(r1, r2, h) |
Spherical Solids | Two base radii r1, r2 and height h | Returns r, Al, At, V, dt, dc |
sphwed(r, deg) |
Spherical Solids | Sphere radius r and wedge angle deg | Returns V, O, W, S |
sphring(rs, rc) |
Spherical Solids | Sphere radius rs and cylinder radius rc | Returns VR, VC, L, S |
spheroid(a, b) |
Spherical Solids | Equatorial semi-axis a and polar semi-axis b | Returns V, S |
triellip(a, b, c) |
Spherical Solids | Semi-axes a, b, c | Returns V, S |
torus(...=..., ...=...) |
Spherical Solids | One major axis (R|D) and one minor axis (r|d) | Returns R, r, D, d, S, V |
spitor(R, r) |
Spherical Solids | Major radius R and tube radius r, with r > R | Returns inner height h, width b, volume V |
paraboloid(s, R) |
Spherical Solids | Shape parameter s and base radius R | Returns height h, lateral surface L, surface area S, volume V |
cone(r, h) |
Cones | Base radius r and cone height h | Returns P, L, A, SL, S, V |
cylinder(r, h) |
Cylinders | Radius r and height h | Returns V, S, L, A, P |
hollowcyl(ro, ri, h) |
Cylinders | Outer radius ro, inner radius ri, height h | Returns V, S, L, Lo, Li, A, P |
ellcyl(a, b, h) |
Cylinders | Ellipse semi-axes a,b and height h | Returns V, S, L, A, P |
oblcyl(r, alpha, h) |
Cylinders | Radius r, inclination angle alpha, height h | Returns h, a, V, P, A, L, S |
halfcyl(r, h) |
Cylinders | Radius r and height h | Returns V, S, L, d |
oblcylsec(r, hs, hl) |
Cylinders | Radius r, short height hs, long height hl | Returns V, S, L, A, P, a |
cylsector(r, h, alpha) |
Cylinders | Radius r, height h, central angle alpha | Returns V, AB, AS, L, S, l |
cylseg(r, h, l) |
Cylinders | Radius r, height h, segment depth l | Returns s, b, V, S, L, AT |
ngonpyramid(a, h, n) |
Pyramids | Base edge a, height h, number of sides n (≥ 3) | Returns s, e, A, As, AL, S, P, V |
ngonbipyramid(a, h, n) |
Pyramids | Base edge a, half-height h, number of sides n (≥ 3) | Returns s, e, i, As, S, P, V |
ngonfrustum(a, b, h, n) |
Pyramids | Base edge a, top edge b, height h, number of sides n (≥ 3) | Returns s, e, As, Am, S, P, V |
frustum(rs, rl, h) |
Cones | Small radius rs, large radius rl, and height h | Returns V, L, AT, AB, SL, S, PL, PS |
bicone(r, h) |
Cones | Base radius r and cone height h | Returns A, SL, S, V |
pillar(a, b, hp, hc) |
Cones | Base radius a, transition radius b, base height hp, cone height hc | Returns A, L, S, V |
spherocone(R, r, hf) |
Cones | Base radius R, cap sphere radius r, frustum height hf | Returns i, h, S, V, α |
ellfrustum(a, b, h, ht) |
Cones | Bottom semi-axes a,b; full cone height h; truncated height ht | Returns c, d, V, A, M, S |
ellcone(a, b, h) |
Cones | Major/minor semi-axis a,b and height h | Returns V, A, M, S |
solang(...=..., ...=...) |
Spherical Solids | Any two of: W (solid angle [sr]), A (cap area), R (sphere radius) | Returns the missing quantity; Ω = A / R² |
sect(r, x=...) |
Lines and Curves | Radius r and one named input: alpha|A|P|b|s | Returns α, A, P, b, s, S, h |
segm(...=..., ...=...) |
Lines and Curves | Two named inputs: (r|h) and (alpha|s) | Returns α, h, A, P, b, s, S, r |
ellipse(a, b) |
Lines and Curves | Two semi-axes a and b | Returns perimeter P and area A |
arc(r, alpha) |
Lines and Curves | Radius, central angle [°] | s = arc length; c = chord; h = sagitta; A = sector area; As = segment area |
arcl(r, s) |
Lines and Curves | Radius, arc length | α [°]; c = chord; h = sagitta; A = sector area; As = segment area |
rhom(a, h) |
Lines and Curves | Side length and height | a, h, A, P, e, f, α, β |
rhomd(e, f) |
Lines and Curves | Diagonals e and f | A, P, α, β |
kitearea(e, f) |
Lines and Curves | Diagonals e and f | A |
kite(e, f, c) |
Lines and Curves | Main diagonal e, secondary diagonal f, split distance c | a, b, P, A, α, β, γ |
kitehs(a, b) |
Lines and Curves | Two side lengths a and b | P, A, e, e1, e2, f, β, γ, ri |
kitert(a, b) |
Lines and Curves | Two side lengths a and b | P, A, e, f, α, γ, ri, rc |
quad(a, b, c, beta, gamma) |
Lines and Curves | Sides a,b,c and angles β,γ (DEG/RAD mode) | d, e, f, A, U, α, δ |
quadconc(a, b, c, alpha, gamma) |
Lines and Curves | Sides a,b,c and angles α,γ (DEG/RAD mode) | d, e, f, A, U, α, δ |
treptri(a, b) |
Lines and Curves | Base a and three equal sides b | d, h, m, A, P, α, β, rc |
traps(a, c, h) |
Lines and Curves | Parallel sides a,c and height h (symmetric trapezoid) | a, b=d, c, e=f, h, m, A, P, α=β, γ=δ, x |
trapr(a, c, b=...) / trapr(a, c, d=...) |
Lines and Curves | Positional a,c and one named third parameter b or d | a, b, c, d, e, f, m, A, P, α, δ |
trap(a, c, h, x=...) / trap(a, c, h, β=...) |
Lines and Curves | First three positional (a,c,h), fourth parameter named (x|y|α|β|γ|δ) | a, b, c, d, e, f, h, m, A, P, α, β, γ, δ, x, y |
helix(r, h, n) |
Lines and Curves | Radius, total height, number of turns | p = pitch; α = helix angle [°]; s = arc length; κ = curvature; τ = torsion |
distance(a,b) |
General | Two scalars or array vectors | ‖a−b‖ as a scalar |
deg2rad(x) |
Angle → Conversion | Angle in degrees | Equivalent in radians |
rad2deg(x) |
Angle → Conversion | Angle in radians | Equivalent in degrees |
dms2deg(d, m, s) |
Angle → Conversion | Degrees, minutes, seconds | Decimal degrees |
angpct(deg=...) / angpct(pct=...) |
Angle → Conversion | Named argument: degree or percent grade | Degrees [°] ↔ slope grade [%] |
norm360(x) |
Angle → Normalization | Any angle [°] | Equivalent in [0°, 360°) |
norm180(x) |
Angle → Normalization | Any angle [°] | Equivalent in (−180°, 180°] |
norm_angle(x) |
Angle → Normalization | Any angle [rad] | Equivalent in [0, 2π) |
complement(x) |
Angle → Relations | Angle [°] | 90° − x |
supplement(x) |
Angle → Relations | Angle [°] | 180° − x |
anglediff(a, b) |
Angle → Relations | Two angles [°] | Signed shortest difference in (−180°, 180°] |
Angle Group
The Angle group collects scalar helpers for unit conversion, range normalization, and basic angle arithmetic. All functions work on plain scalar values and return a single number – they do not produce a named result list.
Conversion – deg2rad rad2deg dms2deg angpct
Syntax
deg2rad(x) rad2deg(x) dms2deg(d, m, s) angpct(deg=...) angpct(pct=...)
Description
| Function | Formula | Result |
|---|---|---|
deg2rad(x) |
x ⋅ π / 180 | Angle in radians |
rad2deg(x) |
x ⋅ 180 / π | Angle in degrees |
dms2deg(d, m, s) |
|d| + m/60 + s/3600 (sign of d) | Decimal degrees |
angpct(deg=...) |
tan(deg ⋅ π/180) ⋅ 100 | Slope grade [%] |
angpct(pct=...) |
atan(pct/100) ⋅ 180/π | Angle in degrees [°] |
Examples
deg2rad(180) = 3.14159… (= π) rad2deg(π) = 180 dms2deg(48, 30, 0) = 48.5 dms2deg(-7, 30, 0) = -7.5 angpct(deg=45) = 100 angpct(pct=12) = 6.8428…°
Normalization – norm360 norm180 norm_angle
Syntax
norm360(x) norm180(x) norm_angle(x)
Description
| Function | Input | Output range | Description |
|---|---|---|---|
norm360(x) |
Angle [°] | [0°, 360°) | Maps any degree value into the positive full circle |
norm180(x) |
Angle [°] | (−180°, 180°] | Maps any degree value to the signed half-circle range |
norm_angle(x) |
Angle [rad] | [0, 2π) | Maps any radian value into the positive full circle |
Examples
norm360(-90) = 270 norm360(400) = 40 norm180(270) = -90 norm180(-200) = 160 norm_angle(-π/2) = 3π/2 ≈ 4.7124
Relations – complement supplement anglediff
Syntax
complement(x) supplement(x) anglediff(a, b)
Description
| Function | Formula | Result |
|---|---|---|
complement(x) |
90 − x | Complementary angle [°] |
supplement(x) |
180 − x | Supplementary angle [°] |
anglediff(a, b) |
shortest signed rotation from a to b [°] | (−180°, 180°] |
Examples
complement(30) = 60 supplement(120) = 60 anglediff(350, 10) = 20 anglediff(10, 350) = -20 anglediff(0, 180) = 180 anglediff(0, 181) = -179