🌐 DA

🏔️ 3D-overfladeplotter

Tegn 3D-overflader z = f(x, y) som et drejeligt, farvet mesh. Vælg et forvalg som en sadel eller bølge, eller indtast din egen funktion, og drej den derefter med rotationsskydere.

z =

Tilladt: + - * / ^ ( ) og sin, cos, tan, sqrt, abs, exp, log, pow; konstanterne pi og e; variablerne x og y.

30
6
34°
52°
GUIDE

Laes mere

01

Hvad er et overfladeplot?

Et overfladeplot visualiserer en funktion af to variable, z = f(x, y), som et højdefelt: for hvert punkt på det flade x/y-plan giver funktionen en højde z, og når disse højder forbindes, dannes et glat mesh, der svæver i 3D. Farver angiver normalt højden, så toppe og dale er lette at se med et blik. Det er den naturlige måde at skildre ting som terræn, temperatur over en plade eller formen på en matematisk sadel.
02

Sådan gengives 3D-visningen

Værktøjet beregner et gitter af punkter (op til 40×40) ved at evaluere din funktion over domænet, roterer dem derefter med to vinkler, du styrer, projicerer de roterede punkter til 2D med en simpel isometrisk projektion og sorterer fladerne bagfra og frem, så de nærmeste dækker de fjerneste — den klassiske painter's algorithm. Alt tegnes med almindelig HTML canvas: der er ingen WebGL og ingen three.js, hvilket holder værktøjet lille og uden afhængigheder.
03

Sikker input af funktioner

En brugerdefineret whitelist-parser læser din formel — der er ingen JavaScript eval — så kun de angivne funktioner (sin, cos, tan, sqrt, abs, exp, log, pow), konstanterne pi og e samt de to variabler x og y accepteres. Alt andet afvises, før det køres. Gode startpunkter er forvalgene, som sin(x)*cos(y) for et bølgende felt eller x^2 - y^2 for en klassisk sadel.

Ofte stillede sporgsmal

Hvilke variabler kan jeg bruge?
Brug <strong>x</strong> og <strong>y</strong>. Værktøjet evaluerer din funktion for at få en højde <em>z</em> ved hvert punkt i et gitter over det valgte domæne.
Hvilke funktioner er tilladt?
sin, cos, tan, sqrt, abs, exp, log og pow, plus konstanterne pi og e. Kombinér dem med almindelig aritmetik (+ − * /), og brug ^ til potenser, for eksempel z = sin(sqrt(x^2 + y^2)).
Bruger dette WebGL eller three.js?
Nej. Det bruger en selvstændig HTML canvas-projektion med painter's-algorithm-fladesortering, så det har ingen eksterne afhængigheder og virker overalt, hvor en browser gør - også på beskeden hardware.