🌐 SV

🏔️ 3D-yteplottare

Plotta 3D-ytor z = f(x, y) som ett roterbart färgkodat mesh. Välj en förinställning som en sadel eller våg, eller skriv din egen funktion, och vrid sedan vyn med rotationsreglagen.

z =

Tillåtet: + - * / ^ ( ) och sin, cos, tan, sqrt, abs, exp, log, pow; konstanterna pi och e; variablerna x och y.

30
6
34°
52°
GUIDE

Las mer

01

Vad är en ytgraf?

En ytgraf visualiserar en funktion av två variabler, z = f(x, y), som ett höjdfält: för varje punkt på det plana x/y-planet ger funktionen en höjd z, och när dessa höjder kopplas ihop bildas ett mjukt nät som svävar i 3D. Färg brukar koda höjd, så toppar och dalar syns direkt. Det är det naturliga sättet att avbilda saker som terräng, temperatur över en platta eller formen på en matematisk sadel.
02

Så renderas 3D-vyn

Verktyget beräknar ett rutnät av punkter (upp till 40×40) genom att evaluera din funktion över domänen, roterar dem med två vinklar du styr, projicerar de roterade punkterna till 2D med en enkel isometrisk projektion och sorterar ytorna bakifrån och fram så att de närmaste täcker de längre bort liggande - det klassiska painter's algorithm. Allt ritas med vanlig HTML canvas: det finns ingen WebGL och ingen three.js, vilket håller verktyget litet och utan beroenden.
03

Säker funktionsinmatning

En anpassad whitelist-parser läser din formel — det finns ingen JavaScript eval — så endast de listade funktionerna (sin, cos, tan, sqrt, abs, exp, log, pow), konstanterna pi och e samt de två variablerna x och y accepteras. Allt annat nekas innan det körs. Bra startpunkter är förinställningarna, till exempel sin(x)*cos(y) för ett böljande vågfält eller x^2 - y^2 för en klassisk sadel.

Vanliga fragor

Vilka variabler kan jag använda?
Använd <strong>x</strong> och <strong>y</strong>. Verktyget beräknar din funktion för att få en höjd <em>z</em> vid varje punkt i ett rutnät över det valda intervallet.
Vilka funktioner är tillåtna?
sin, cos, tan, sqrt, abs, exp, log och pow, plus konstanterna pi och e. Kombinera dem med vanlig aritmetik (+ − * /) och använd ^ för potenser, till exempel z = sin(sqrt(x^2 + y^2)).
Använder detta WebGL eller three.js?
Nej. Det använder en fristående HTML canvas-projektion med face-sortering enligt painter's algorithm, så det har inga externa beroenden och fungerar i alla webbläsare - även på enklare hårdvara.