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).

Back to MathBox Guide

Table of Contents


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.

Y | B(Bx,By) | /| | c / | a = |By-Ay| | / | | / α | | A(Ax,Ay)----- | b = |Bx-Ax| +--------------------→ X

Formulas

QuantityFormulaUnit
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

LabelKeyDescription
Distance A↔B (c).cDirect distance between A and B
Distance X (b).bHorizontal component |Bx − Ax|
Distance Y (a).aVertical component |By − Ay|
Angle α.alphaAngle of AB relative to the x-axis in degrees

Examples

r := p2dist(0, 0, 3, 4)=
Distance A↔B (c)    5
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 A↔B (c)    5
Distance X (b)      3
Distance Y (a)      4
Angle α           53.13 °
Note: The unit of 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.

Y | P(Px,Py) | | \ d (shortest distance) | | F(Fx,Fy) | | / | A(Ax,Ay)----------B(Bx,By) +-----------------------------→ X

Formulas

Let AB be the direction vector of the line: dx = Bx−Ax, dy = By−Ay.

QuantityFormulaUnit
d – shortest distance|(dx·(Py−Ay) − dy·(Px−Ax))| / |AB|
t – projection parameter((Px−Ax)·dx + (Py−Ay)·dy) / (dx²+dy²)
Fx – foot point xAx + t·dx
Fy – foot point yAy + t·dy
|AB| – line length√(dx² + dy²)
Note: The line is treated as infinite. If 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

LabelKeyDescription
Shortest distance (d).dPerpendicular distance from P to the line
Foot point X (Fx).fxx-coordinate of the closest point on the line
Foot point Y (Fy).fyy-coordinate of the closest point on the line
Line length |AB|.abLength 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.

Shortest distance (d)   4
Foot point X (Fx)      3
Foot point Y (Fy)      0
Line length |AB|       10
r := p2linedist(0, 0, 3, 4, 1, 3)=
Shortest distance (d)   1.4
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°.

Y | B | / | / Line 1 | / | A | D | / | / Line 2 α = acute angle between lines | / | C +-----------------------------→ X

Formula

Let d₁ = (Bx−Ax, By−Ay) and d₂ = (Dx−Cx, Dy−Cy) be the direction vectors.

QuantityFormulaUnit
alpha – intersection angle α acos(|d₁·d₂| / (|d₁|·|d₂|)) × 180/π °
Note: The absolute value of the dot product gives the acute angle. Parallel lines return 0°; perpendicular lines return 90°. The position of the lines in the plane does not matter — only their direction vectors.

Result List

LabelKeyDescription
Intersection angle α.alphaAcute angle between the two lines in degrees

Examples

l2angle(0,0,1,0, 0,0,1,1)=
Intersection angle α    45 °
r := l2angle(0,0,3,0, 0,0,0,5)=

Horizontal line vs. vertical line → 90°.

Intersection angle α    90 °
l2angle(0,0,1,1, 0,0,-1,1)=

Two lines at 45° to the x-axis, symmetric about y-axis → 90°.

Intersection angle α    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

QuantityFormulaUnit
alpha – angle αacos((A·B) / (|A|·|B|)) × 180/π°
dot – dot productAx·Bx + Ay·By
lenA – |A|√(Ax² + Ay²)
lenB – |B|√(Bx² + By²)

Result List

LabelKeyDescription
Angle α.alphaAngle between the two vectors in degrees
Dot product.dotScalar dot product A·B
|A|.lenAMagnitude of vector A
|B|.lenBMagnitude of vector B

Examples

v2angle(1, 0, 0, 1)=
Angle α       90 °
Dot product   0
|A|           1
|B|           1
v2angle(1, 0, -1, 0)=
Angle α       180 °
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

QuantityFormulaUnit
alpha – angle αacos((A·B) / (|A|·|B|)) × 180/π°
dot – dot productAx·Bx + Ay·By + Az·Bz
lenA – |A|√(Ax² + Ay² + Az²)
lenB – |B|√(Bx² + By² + Bz²)

Result List

LabelKeyDescription
Angle α.alphaAngle between the two vectors in degrees
Dot product.dotScalar dot product A·B
|A|.lenAMagnitude of vector A
|B|.lenBMagnitude of vector B

Examples

v3angle(1, 0, 0, 0, 1, 0)=
Angle α       90 °
Dot product   0
|A|           1
|B|           1
v3angle(1, 1, 0, 1, 0, 0)=
Angle α       45 °
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

QuantityFormulaUnit
alphaacos((b² + c² − a²) / (2bc)) × 180/π°
betaacos((a² + c² − b²) / (2ac)) × 180/π°
gamma180° − α − β°

Result List

LabelKeyDescription
Angle α.alphaAngle opposite side a
Angle β.betaAngle opposite side b
Angle γ.gammaAngle opposite side c

Examples

abcangles(3, 4, 5)=
Angle α       36.8699 °
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

QuantityFormulaUnit
sum – interior angle sum(n − 2) × 180°
interior – one interior anglesum / n°
exterior – one exterior angle360 / n°

Result List

LabelKeyDescription
Number of sides.nInput side count
Interior angle sum.sumTotal of all interior angles
Single interior angle.interiorInterior angle of each corner (regular polygon)
Single exterior angle.exteriorExterior turn angle per corner

Examples

polyangles(5)=
Number of sides        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

QuantityFormulaUnit
ha × √3 / 2
u3a
Aa² × √3 / 4
a from h2h / √3
a from uu / 3
a from A√(4A / √3)

Result List

LabelKeyDescription
Side length.aEqual side length
Height.hTriangle altitude
Perimeter.uTotal boundary length
Area.ATriangle area

Examples

eqtri(a=6)=
Side length     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

QuantityFormulaUnit
P – perimetera + 2b
A – areaa × h / 2
alpha – base angleatan(h / (a/2)) × 180/π°
gamma – apex angle180° − 2 × alpha°

Result List

LabelKeyDescription
Base a.aBase length
Side b.bEqual side length
Height h.hHeight to base a
Perimeter P.PTotal boundary length
Area A.ATriangle area
Angle alpha.alphaBase angle in degrees
Angle gamma.gammaApex angle in degrees

Examples

isotri(a=10, h=6)=
Base a           10
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

QuantityFormulaUnit
ha × b / c
Aa × b / 2
Pa + b + c
pa² / c
qb² / c
beta90° − alpha°

Result List

LabelKeyDescription
Cathetus a.aLeg opposite angle alpha
Cathetus b.bLeg adjacent to angle alpha
Hypotenuse c.cLongest side
Height h.hAltitude to hypotenuse
Area A.ATriangle area
Perimeter P.PTotal boundary length
Segment p.pHypotenuse segment next to cathetus a
Segment q.qHypotenuse segment next to cathetus b
Angle alpha.alphaGiven acute angle in degrees
Angle beta.betaOther acute angle in degrees

Examples

rtri(a=5, alpha=30)=
Cathetus a      5
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

QuantityFormulaUnit
c from a,b√(a² + b²)
b from a,c√(c² − a²)
a from b,c√(c² − b²)
ha × b / c
Aa × b / 2
Pa + b + c
pa² / c
qb² / c
alphaasin(a / c) × 180/π°
beta90° − alpha°

Result List

LabelKeyDescription
Cathetus a.aLeg a
Cathetus b.bLeg b
Hypotenuse c.cHypotenuse
Height h.hAltitude to hypotenuse
Area A.ATriangle area
Perimeter P.PTotal boundary length
Segment p.pHypotenuse segment near a
Segment q.qHypotenuse segment near b
Angle alpha.alphaAcute angle opposite a
Angle beta.betaOther acute angle

Examples

pythag(a=3, b=4)=
Cathetus a      3
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

QuantityFormulaUnit
b from aa / √2
h from aa / 2
A from aa² / 4
a from bb × √2
h from bb / √2
a from h2h
a from A2√A
Pa + 2b

Result List

LabelKeyDescription
Base a.aHypotenuse
Side b.bEqual cathetus length
Height h.hAltitude to base a
Perimeter P.PTotal boundary length
Area A.ATriangle area

Examples

isortri(a=10)=
Base 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

QuantityFormulaUnit
A from base/heightbase × height / 2
A from two sides and angle1/2 × a × b × sin(alpha)
A from base and two anglesbase² × 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

QuantityFormulaUnit
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

QuantityFormulaUnit
Abase² × 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

LabelKeyDescription
Seitenlänge a.aSide length
Diagonale d.dDiagonal
Umfang U.UPerimeter
Fläche A.AArea
Innenkreisradius ri.riInradius
Innenkreisfläche Ai.AiIncircle area
Umkreisradius ru.ruCircumradius
Umkreisfläche Au.AuCircumcircle 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

LabelKeyDescription
Seitenlänge a.aLong side
Seitenlänge b.bShort side
Diagonale d.dDiagonal
Umfang U.UPerimeter
Fläche A.AArea
Verhältnis φ.phiGolden 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

LabelKeyDescription
Fläche A.AArea
Umfang P.PPerimeter
Höhe ha.haHeight to side a
Höhe hb.hbHeight to side b
Diagonale e.eLong diagonal
Diagonale f.fShort 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

QuantityFormulaUnit
A – areabase × 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

LabelKeyDescription
Länge l.lRectangle length
Breite b.bRectangle width
Diagonale d.dDiagonal
Umfang U.UPerimeter
Fläche A.AArea

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

QuantityFormulaUnit
m – sloperise / run
alpha – angle αatan(rise / run) × 180/π°
grade – Gefälle / Steigungm × 100%
risevertical height (input)
runhorizontal distance (input)

Result List

LabelKeyDescription
Slope m.mDimensionless slope (rise/run)
Angle α.alphaInclination angle in degrees
Grade.gradeSlope in percent (road / roof convention)
Rise.riseVertical component (input)
Run.runHorizontal component (input)

Examples

slope(1, 10)=
Slope m       0.1
Angle α       5.711 °
Grade         10 %
Rise          1
Run           10
slope(3, 4)=
Slope m       0.75
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

QuantityFormulaUnit
m – slope(By − Ay) / (Bx − Ax)
alpha – angle αatan(m) × 180/π°
gradem × 100%
rise – ΔyBy − Ay
run – ΔxBx − Ax

Result List

LabelKeyDescription
Slope m.mDimensionless slope
Angle α.alphaInclination angle in degrees
Grade.gradeSlope in percent
Rise Δy.riseVertical distance By−Ay
Run Δx.runHorizontal distance Bx−Ax

Examples

p2slope(0, 0, 10, 1)=
Slope m       0.1
Angle α       5.711 °
Grade         10 %
Rise Δy       1
Run Δx        10
p2slope(2, 3, 6, 7)=
Slope m       1
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

QuantitySymbolFormulaUnit
Radiusrd/2, U/(2π), or √(A/π)
Diameterd2r
PerimeterU2πr
AreaAπr²

Result List

LabelKeyDescription
Radius r.rCircle radius
Diameter d.dCircle diameter
Perimeter U.UCircumference
Area A.ADisk area

Examples

circle(r=5)=
Radius 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

LabelKeyDescription
Angle αCentral angle in degrees
Area A.ASector area
Perimeter P.PBoundary length (2r + b)
Arc length b.bArc of the sector
Chord s.sStraight edge between arc endpoints
Centroid S.SDistance of centroid from circle center on angle bisector
Height h.hSagitta of the sector arc

Examples

sect(5, alpha=90)=
Angle α       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

LabelKeyDescription
Angle αCentral angle in degrees
Height h.hSegment height (sagitta)
Area A.ASegment area
Perimeter P.PBoundary length (arc + chord)
Arc length b.bSegment arc length
Chord s.sChord length
Centroid S.SDistance of centroid from circle center on angle bisector
Radius r.rCircle 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

LabelKeyDescription
Radius r.rSphere radius
Diameter d.dSphere diameter
Perimeter P.PGreat-circle perimeter
Surface area S.SSphere surface area
Cross-section area A.AGreat-circle area
Volume V.VSphere 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

QuantityFormula
Volume VV = (16/3) r³
Surface area SS = 16 r²

Result List

LabelKeyDescription
Radius r.rCylinder radius
Volume V.VVolume of the intersection solid
Surface S.STotal 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

QuantityFormula
Constant kk = 2 − √2 ≈ 0.5858
Volume VV = 8k r³
Surface area SS = 24k r²

Result List

LabelKeyDescription
Radius r.rCylinder radius
Volume V.VVolume of the intersection solid
Surface S.STotal 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

QuantityFormula
Edge length aa = (4π/3) · r
Length ll = 3r
Height hh = 2r
Surface area SS = 4πr²
Volume VV ≈ 3.0524184682 · r³

Result List

LabelKeyDescription
Radius r.rGenerating circle radius
Edge length a.aOloid edge length
Length l.lOverall oloid length
Height h.hOverall oloid height
Surface area S.STotal surface area
Volume V.VTotal 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

LabelKeyDescription
Radius r.rSphere radius
Arc length P.PEdge arc length of the spherical corner
Surface area S.SCurved surface area of the spherical corner
Volume V.VVolume 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

LabelKeyDescription
Shell Volume.VVolume of shell material
Shell Surface.STotal shell surface (inner + outer)

Formulas

QuantityFormula
Shell VolumeV = 4/3 · π · (ro³ − ri³)
Shell SurfaceS = 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

LabelKeyDescription
Cap height h.hCap height
Cap radius a.aCap base radius
Sphere radius r.rInput sphere radius
Cap volume Vs.VsSpherical-cap volume
Base area A.AArea of cap base circle
Cap surface Sc.ScCurved cap surface area
Total surface S.SCap 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

LabelKeyDescription
Segment height.shHeight of spherical segment/cap
Segment radius.srRadius of segment base circle
Sphere radius.rSphere radius
Sector volume.VVolume of spherical sector
Cone surface.AcLateral surface of cone part
Cap surface.AsCurved spherical cap surface
Sector surface.ATotal 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

LabelKeyDescription
Sphere radius.rRadius of the parent sphere
Lateral surface.AlCurved lateral area of the spherical segment
Total surface.AtLateral area plus both base-circle areas
Volume.VVolume of the spherical segment
Distance to top.dtDistance from top pole to top base plane
Distance to center.dcDistance 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

LabelKeyDescription
Volume V.VSpherical wedge volume
Outer surface O.OOuter spherical surface part
Wedge surface W.WTwo planar semicircle cut surfaces
Total surface S.STotal 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

LabelKeyDescription
Ring volume VR.VRRemaining volume of the spherical ring
Cylinder volume VC.VCReference cylinder volume with radius rc and height L
Cylinder height L.LHole height through the sphere
Ring surface S.STotal 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

LabelKeyDescription
Volume V.VSpheroid volume
Surface area S.STotal 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

LabelKeyDescription
Volume V.VTriaxial ellipsoid volume
Surface area S.STriaxial 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.

Result List

LabelKeyDescription
Radius R.RMajor radius (center to tube center)
Radius r.rMinor radius (tube radius)
Diameter D.DOuter diameter = 2 × (R + r)
Diameter d.dInner hole diameter = 2 × (R − r)
Surface area S.STorus surface area
Volume V.VTorus 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.

Result List

LabelKeyDescription
Inner height h.hDistance between the two self-intersection points on the axis = 2 √(r²−R²)
Width b.bOuter diameter = 2 × (R + r)
Volume V.VEnclosed 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.

Formulas

QuantityFormula
Height hh = s · R²
Lateral surface LL = π / (6s²) · [(1 + 4s²R²)3/2 − 1]
Surface area SS = L + π R² (lateral + circular base)
Volume VV = π R² h / 2

Result List

LabelKeyDescription
Height h.hParaboloid height = s · R²
Lateral surface L.LCurved side surface (exact closed form)
Surface area S.STotal surface = lateral + base area
Volume V.VVolume = π 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

QuantityFormula
Base perimeter PP = 2πr
Slant length LL = √(r² + h²)
Base area AA = πr²
Lateral surface SLSL = πrL
Total surface SS = A + SL
Volume VV = πr²h / 3

Result List

LabelKeyDescription
Base Perimeter P.PPerimeter of the circular base
Slant Length L.LSide edge length from base rim to apex
Base Area A.AArea of the circular base
Lateral Surface SL.SLCurved side surface
Total Surface S.SBase + lateral surface
Volume V.VCone 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

QuantityFormula
Volume VV = πr²h
Surface area SS = 2πrh + 2πr²
Lateral area LL = 2πrh
Base area AA = πr²
Perimeter PP = 2πr

Result List

LabelKeyDescription
Volume V.VCylinder volume
Surface Area S.STotal cylinder surface area
Lateral Area L.LSide surface area
Base Area A.AArea of one circular base
Perimeter P.PCircumference 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

QuantityFormula
Volume VV = πabh
Surface area SS = Ph + 2πab
Lateral area LL = Ph
Base area AA = πab
Perimeter PP ≈ π(3(a+b) - √((3a+b)(a+3b)))

Result List

LabelKeyDescription
Volume V.VElliptic cylinder volume
Surface Area S.STotal surface area
Lateral Area L.LCurved side area
Base Area A.AArea of one elliptic base
Perimeter P.PEllipse 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

QuantityFormula
Height hh = h (input)
Side length aa = h / cos(α)
Volume VV = πr²h
Perimeter PP = 2πr
Base area AA = πr²
Lateral area LL = P·a
Surface area SS = L + 2A

Result List

LabelKeyDescription
Height h.hPerpendicular cylinder height
Side Length a.aGenerator (side edge) length
Volume V.VCylinder volume
Perimeter P.PCircumference of the circular base
Base Area A.AArea of one circular base
Lateral Area L.LSide surface area
Surface Area S.STotal 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

QuantityFormula
Volume VV = πr²h / 2
Lateral area LL = πrh + 2rh
Surface area SS = L + πr²
Diagonal dd = √((2r)² + h²)

Result List

LabelKeyDescription
Volume V.VHalf-cylinder volume
Surface Area S.STotal surface area
Lateral Area L.LCurved half mantle + rectangular cut face
Diagonal d.dDiagonal 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

QuantityFormula
Mean height h̄h̄ = (hs + hl) / 2
Volume VV = πr²h̄
Lateral area LL = 2πr h̄
Base area AA = πr²
Perimeter PP = 2πr
Semi-axis aa = r√(1 + ((hl-hs)/(2r))²)
Surface area SS = L + A + Atop, with Atop = πra

Result List

LabelKeyDescription
Volume V.VSection volume
Surface Area S.STotal surface area
Lateral Area L.LCurved side area
Base Area A.AArea of base circle
Perimeter P.PCircumference of base circle
Semi-axis a.aTop 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

QuantityFormula
Wedge length ll = rα (with α in radians)
Base area ABAB = (α/2) r²
Side area ASAS = 2rh
Lateral area LL = AS + lh
Volume VV = ABh
Surface area SS = L + 2AB

Result List

LabelKeyDescription
Volume V.VSector volume
Base Area AB.ABArea of one sector base
Side Area AS.ASTwo radial rectangle faces
Lateral Area L.LSide area total (radial + curved)
Surface Area S.STotal surface area
Wedge Length l.lArc 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

QuantityFormula
Half-angle αα = arccos((r−l)/r)
Segment width s (chord)s = 2√(2rl−l²)
Arc length bb = 2rα
End area ATAT = r²α − (r−l)s/2
Volume VV = AT · h
Lateral area LL = b · h
Surface area SS = L + sh + 2AT

Result List

LabelKeyDescription
Segment Width s.sChord width of the cross-section
Arc Length b.bArc length of the curved cross-section
Volume V.VSegment volume
Surface Area S.STotal surface area
Lateral Area L.LCurved lateral area
End Area AT.ATCircular 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

ParameterDescription
aBase edge length (all sides equal)
hPerpendicular height from base to apex
nNumber of base sides (integer ≥ 3)

Formulas

QuantityFormula
Base apothem apap = a / (2 · tan(π/n))
Base circumradius rcrc = a / (2 · sin(π/n))
Slant height ss = √(ap² + h²)
Lateral edge ee = √(rc² + h²)
Base area AA = n · a² / (4 · tan(π/n))
Slant area AsAs = a · s / 2  (area of one triangular face)
Lateral surface ALAL = n · As
Surface area SS = A + AL
Perimeter PP = n · a
Volume VV = A · h / 3

Result list

LabelKeyDescription
Slant height s.sDistance from apex to midpoint of a base edge
Edge length e.eDistance from apex to a base vertex
Base area A.AArea of the regular n-gon base
Slant area As.AsArea of one triangular lateral face
Lateral surface AL.ALTotal lateral (side) surface area
Surface area S.STotal surface area (base + lateral)
Perimeter P.PPerimeter of the base polygon
Volume V.VVolume 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

ParameterDescription
aBase edge length of the regular n-gon
hHalf-height (height of one pyramid half)
nNumber of sides (integer ≥ 3)

Formulas

QuantityFormula
Slant height ss = √(ap² + h²)
Edge length ee = √(rc² + h²)
Total height ii = 2h
One side face area AsAs = a · s / 2
Surface area SS = 2 · n · As
Perimeter PP = n · a
Volume VV = 2 · A · h / 3, with A = n · a² / (4 · tan(π/n))

Result List

LabelKeyDescription
Slant height s.sFace slant height of one pyramid half
Edge length e.eLateral edge from apex to base vertex
Total height i.iDistance between both apexes
Side face area As.AsArea of one triangular side face
Surface area S.STotal outer surface area
Perimeter P.PPerimeter of the middle regular n-gon
Volume V.VTotal 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

ParameterDescription
aBase edge length
bTop edge length
hPerpendicular height
nNumber of sides (integer ≥ 3)

Constraint: b ≤ a

Formulas

QuantityFormula
Base apothem apbaseapbase = a / (2 · tan(π/n))
Top apothem aptopaptop = b / (2 · tan(π/n))
Slant height ss = √((apbase-aptop)² + h²)
Lateral edge ee = √((rcbase-rctop)² + h²)
One side face area AsAs = (a+b) · s / 2
Lateral area AmAm = n · As
Surface area SS = Abase + Atop + Am
Perimeter PP = n · a
Volume VV = h(Abase+Atop+√(Abase · Atop))/3

Result List

LabelKeyDescription
Slant height s.sFace slant height between base and top polygons
Edge length e.eLateral edge from base vertex to top vertex
Side face area As.AsArea of one trapezoid side face
Lateral area Am.AmTotal lateral area of all side faces
Surface area S.STotal area (base + top + lateral)
Perimeter P.PPerimeter of the base polygon
Volume V.VFrustum 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

QuantityFormula
Volume VV = π(ro² − ri²)h
Surface area SS = 2πh(ro + ri) + 2π(ro² − ri²)
Lateral areas LL = 2πh(ro + ri)
Outer surface LoLo = 2πroh
Inner surface LiLi = 2πrih
Base area AA = π(ro² − ri²)
Perimeter PP = 2π(ro + ri)

Result List

LabelKeyDescription
Volume V.VHollow cylinder volume
Surface Area S.STotal outer+inner+base-ring area
Lateral Areas L.LOuter + inner lateral areas
Outer Surface Lo.LoOuter curved side area
Inner Surface Li.LiInner curved side area
Base Area A.AOne annular base area
Perimeter P.PSum 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

QuantityFormula
Volume VV = πh(rl² + rl · rs + rs²) / 3
Lateral length LL = √((rl - rs)² + h²)
Top surface ATAT = πrs²
Base surface ABAB = πrl²
Lateral surface SLSL = π(rl + rs)L
Total surface SS = AT + AB + SL
Large perimeter PLPL = 2πrl
Small perimeter PSPS = 2πrs

Result List

LabelKeyDescription
Volume V.VFrustum volume
Lateral Length L.LSlant side length
Top Surface AT.ATArea of the top circle
Base Surface AB.ABArea of the base circle
Lateral Surface SL.SLCurved side area
Total Surface S.STotal area = top + base + lateral
Large Perimeter PL.PLCircumference of base circle
Small Perimeter PS.PSCircumference 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

QuantityFormula
Base area AA = πr²
Lateral areas SLSL = 2πr√(r² + h²)
Total surface SS = SL
Volume VV = 2πr²h / 3

Result List

LabelKeyDescription
Base Area A.AShared base circle area
Lateral Areas SL.SLSum of both lateral cone surfaces
Total Surface S.STotal outer area (equals SL)
Volume V.VSum 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

QuantityFormula
Base area AA = πa²
Lateral area LL = π(a+b)√((a-b)² + hp²) + πb√(b² + hc²)
Surface area SS = A + L
Volume VV = πhp(a² + ab + b²)/3 + πb²hc/3

Result List

LabelKeyDescription
Base Area A.ABottom circular base area
Lateral Area L.LFrustum lateral area + cone lateral area
Surface Area S.STotal outer area = A + L
Volume V.VFrustum 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

QuantityFormula
Transition radius xhf√(r²−x²) = x(R−x), solved numerically
Cap height ii = r − √(r²−x²)
Total height hh = hf + i
Surface area SS = πR² + π(R+x)√((R−x)²+hf²) + 2πri
Volume VV = πhf(R²+Rx+x²)/3 + πi²(3r−i)/3
Base angle αα = atan(hf / (R−x))

Result List

LabelKeyDescription
Cap Height i.iSpherical cap height
Total Height h.hOverall shape height
Surface Area S.STotal outer surface area
Volume V.VTotal volume (frustum + cap)
Base Angle α.alphaFrustum 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

QuantityFormula
Top semi-axis cc = a · ht / h
Top semi-axis dd = b · ht / h
Volume VV = π(h-ht)(ab + cd + √(ab · cd)) / 3
Base area AA = πab
Lateral surface MM = Mfull cone · (1-(ht/h)²)
Total surface SS = A + (πcd) + M

Result List

LabelKeyDescription
Top Semi-axis c.cTop ellipse semi-axis corresponding to a
Top Semi-axis d.dTop ellipse semi-axis corresponding to b
Volume V.VElliptic frustum volume
Base Area A.ABottom ellipse area (πab)
Lateral Surface M.MCurved side area
Total Surface S.SBottom 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

QuantityFormula
Base area AA = πab
Volume VV = πab h / 3
Lateral area MComputed numerically from the exact elliptic-cone surface integral
Total surface SS = A + M

Result List

LabelKeyDescription
Volume V.VElliptic cone volume
Base Area A.AArea of elliptical base
Lateral Area M.MCurved side area
Total Surface S.SBase + 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.

ParameterSymbolDescription
WΩSolid angle [sr – steradian]. Aliases: Ω, omega
AASpherical cap area intercepted on a sphere of radius R
RRSphere radius

Formulas

UnknownFormula
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

QuantitySymbolFormulaUnit
PerimeterPπ · (3(a+b) − √((3a+b)(a+3b)))
AreaAπab

Result List

LabelKeyDescription
Semi-axis a.aInput semi-axis a
Semi-axis b.bInput semi-axis b
Perimeter P.PEllipse perimeter (Ramanujan approximation)
Area A.AEllipse area

Examples

ellipse(5, 3)=
Semi-axis a    5
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

QuantitySymbolFormulaUnit
Arc lengthsr · αrad
Chordc2r · sin(α/2)
Sagitta (Pfeilhöhe)hr · (1 − cos(α/2))
Sector areaA½ r² · αrad
Segment areaAsA − ½ r² · sin(α)

Result List

LabelKeyDescription
Radius.rInput radius
Angle α.alphaCentral angle in degrees (input)
Arc length.sLength of the arc
Chord.cStraight line connecting the two arc endpoints
Sagitta.hHeight from chord midpoint to arc midpoint (Pfeilhöhe)
Sector area.AArea of the pie-slice sector
Segment area.AsArea of the circular segment (sector minus triangle)

Examples

arc(5, 90)=
Radius          5
Angle α         90 °
Arc length      7.854
Chord           7.071
Sagitta         1.464
Sector area     19.635
Segment area    7.135
arc(10, 180)=
Arc length      31.416   (half-circle)
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)=
Radius          5
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

QuantityFormulaUnit
A – areaa × h
P – perimeter4a
alpha – acute angleasin(h/a) × 180/π°
beta – obtuse angle180° − alpha°

Result List

LabelKeyDescription
Side length a.aInput side length
Height h.hInput height
Area A.ARhombus area
Perimeter P.PTotal edge length
Diagonal e.eLonger diagonal
Diagonal f.fShorter diagonal
Angle α.alphaAcute interior angle
Angle β.betaObtuse interior angle

Examples

rhom(10, 6)=
Side length a    10
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

QuantityFormulaUnit
A – areae × f / 2
a – side length½ √(e² + f²)
P – perimeter4a = 2 √(e² + f²)
alpha – acute angle2 × atan(min(e,f) / max(e,f)) × 180/π°
beta – obtuse angle180° − alpha°

Result List

LabelKeyDescription
Area A.ARhombus area
Perimeter P.PTotal edge length
Angle α.alphaAcute interior angle
Angle β.betaObtuse interior angle

Examples

rhomd(16, 12)=
Area A          96
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

QuantityFormulaUnit
A – areae × 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

QuantityFormulaUnit
a – first side pair√(c² + (f/2)²)
b – second side pair√((e-c)² + (f/2)²)
P – perimeter2(a + b)
A – areae × f / 2
alpha – tip angle at c-side2 × atan((f/2)/c) × 180/π°
beta – opposite tip angle2 × atan((f/2)/(e-c)) × 180/π°
gamma – side angles(360° − alpha − beta)/2°

Result List

LabelKeyDescription
Side a.aFirst pair of equal sides
Side b.bSecond pair of equal sides
Perimeter.PTotal boundary length
Area A.AKite area
Angle α.alphaFirst tip angle
Angle β.betaOpposite tip angle
Angle γ.gammaBoth side angles (equal)

Examples

kite(10, 6, 4)=
Side a          5
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

LabelKeyDescription
Perimeter P.PTotal boundary length
Area A.AArea
Diagonal e.eMain diagonal
Section e₁.e1Upper part of diagonal e
Section e₂.e2Lower part of diagonal e
Diagonal f.fSecondary diagonal
Angle β.betaBottom tip angle
Angle γ.gammaSide angles (equal)
Inner radius ri.riInradius 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

LabelKeyDescription
Perimeter P.PTotal boundary length
Area A.AArea
Diagonal e.eMain diagonal
Diagonal f.fSecondary diagonal
Angle α.alphaTop angle (fixed at 90°)
Angle γ.gammaEqual side angles
Incircle radius ri.riInscribed-circle radius
Outer radius rc.rcCircumradius 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

LabelKeyDescription
Side length d.dFourth side
Diagonal e.eDiagonal AC
Diagonal f.fDiagonal BD
Area A.AQuadrilateral area
Perimeter U.UTotal boundary length
Angle α.alphaInterior angle at A
Angle δ.deltaInterior 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

LabelKeyDescription
Side d.dFourth side
Diagonal e.eDiagonal AC
Diagonal f.fDiagonal BD
Area A.AQuadrilateral area
Perimeter U.UTotal boundary length
Angle α.alphaGiven concave interior angle
Angle δ.deltaFourth 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

QuantityFormula
Horizontal shift x(a - b) / 2
Height h√(b² - x²)
Diagonal d√(((a+b)/2)² + h²)
Middle width m(a + b) / 2
Area Am × h
Perimeter Pa + 3b
Angle αatan(h / x) × 180/π
Angle β180° - α
Circumradius rcb × d / (2h)

Input Constraints

a > 0, b > 0, and a < 3b.

Result List

LabelKeyDescription
Diagonal d.dEqual diagonal length
Height h.hPerpendicular height
Middle width m.mMean of both bases
Area A.ATrapezoid area
Perimeter P.PTotal boundary length
Angle α.alphaBottom interior angle
Angle β.betaTop interior angle
Circumradius rc.rcCircumcircle 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

QuantityFormula
Overhang x(a - c) / 2
Legs b=d√(h² + x²)
Diagonal e=f√((x + c)² + h²)
Midline m(a + c) / 2
Area Am × h
Perimeter Pa + c + 2b
Angles α=βatan(h / x) × 180/π
Angles γ=δ180° - α

Input Constraints

a ≥ c > 0 and h > 0.

Result List

LabelKeyDescription
Side a.aBottom parallel side
Legs b=d.bEqual leg length
Side c.cTop parallel side
Diagonal e=f.eEqual diagonals
Height h.hPerpendicular height
Midline m.mMean width
Area A.ATrapezoid area
Perimeter P.PTotal boundary length
Angles α=β.alphaBottom equal angles
Angles γ=δ.gammaTop equal angles
Overhang x.xEqual 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

QuantityFormula
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 Am × b
Perimeter Pa + 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

LabelKeyDescription
Side a.aBottom base
Side b.bPerpendicular side (height)
Side c.cTop side
Side d.dSlanted side
Diagonal e.eDiagonal AC
Diagonal f.fDiagonal BD
Midline m.mMean width
Area A.ATrapezoid area
Perimeter P.PTotal boundary length
Angle α.alphaAcute angle at B
Angle δ.deltaObtuse 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

QuantitySymbolFormulaUnit
Pitch (Ganghöhe)ph / n
Helix anglealphaatan(p / 2πr) × 180/π°
Arc lengths2πn · √(r² + b²)   where b = p/(2π)
Curvaturekappa (κ)r / (r² + b²)
Torsiontau (τ)b / (r² + b²)

Result List

LabelKeyDescription
Pitch.pHeight per full turn (Ganghöhe)
Helix angle α.alphaAngle between tangent and horizontal plane [°]
Arc length.sTotal length of the helix curve
Curvature κ.kappaReciprocal of the osculating-circle radius
Torsion τ.tauRate of rotation of the osculating plane

Examples

helix(1, 10, 5)=
Pitch            2
Helix angle α    17.657 °
Arc length       64.659
Curvature κ      0.282
Torsion τ        0.090
helix(0.05, 0.3, 10)=
Pitch            0.03
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 typeFormula
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

FunctionFormulaResult
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

FunctionInputOutput rangeDescription
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

FunctionFormulaResult
complement(x) 90 − x Complementary angle [°]
supplement(x) 180 − x Supplementary angle [°]
anglediff(a, b) shortest signed rotation from a to b [°] (−180°, 180°]
anglediff: always returns the shortest signed arc, so the result lies in (−180°, 180°]. A positive value means a counter-clockwise rotation, a negative value means clockwise.

Examples

complement(30)        = 60
supplement(120)       = 60
anglediff(350, 10)    = 20
anglediff(10, 350)    = -20
anglediff(0, 180)     = 180
anglediff(0, 181)     = -179

Back to MathBox Guide