Matheseitenüberblick
2D-Plotter
zurück

Funktionsplotter 3D

Mit diesem Tool können Netz-Graphen sowie zusammenhängende und farbschattierte Flächen von Funktionen z=f(x,y) (orthogonale Koordinaten) und von implizit gegebenen Flächen gezeichnet werden. Geben Sie dazu für den ersten Typ den Funktionsterm mit den Variablen x und y ein und für den zweiten Typ eine Gleichung in x, y und z. Als hübsche Zugabe werden Schnittkurven berechnet. Selbstverständlich kann die Graphik per Maus gedreht werden.

Wenn Sie die Ar­beit an die­sen Sei­ten durch eine fi­nan­ziel­le Zu­wen­dung ho­no­rie­ren oder unter­stüt­zen möchten, kön­nen Sie per PayPal oder mich per Mail um die Über­mitt­lung einer Kon­to­ver­bin­dung bit­ten.

Neu zum Jahreswechsel 2018/19 kann der Plotter nun auch Flächen füllen: Ist nur eine einzige explizite Funktion in der Darstellung, so wird die Fläche gefüllt — Näheres dazu siehe unten. Beliebige Funktionen (auch mehrere gleichzeitig) lassen sich mit einem (leider langsamen) Raytracer gefüllt werden (kleine Schaltfläche unter den Schiebereglern.)

In diesem Browser funktioniert dieser Plotter leider nicht. (Fehlende Unterstützung von "canvas" (HTML-5))  

Funktionsterm(e) oder Gleichung(en) eingeben:



 
Farben:
 
Dicken:
 
Parameterwerte
a =
b =
c =
d =
e =
f =
Anzahl der Netzabschnitte    für z=f(x,y):   für f(x,y,z)=0: beim Drehen reduziert         autom. Fläche
Darstellungsbox: xm = ym = zm =       Für die ersten beiden Kurven in der Liste berechnen und anzeigen mit Farbe:
Box anzeigen ± ± ±
Koordinatensystem   Augabstandnah mittel fern ∞ (isometrisch)

Erläuterungen

Zuerst ja nur als vorläufigen Ersatz für das schöne alte 3D-Java-Applet gedacht, denke ich, daß dieser rein auf html5 und javascript aufgebaute 3D-Plotter nach der letzten Arbeitsphase wesentlich mehr als ein gleichwertiger Ersatz ist, zumal er seit seinen Kindertagen mehrere Flächen gleichzeitig und auch implizit als Gleichung gegebene Flächen darstellen kann. Nun ist auch die Flächenfüllung ergänzt, die das Applet gegenüber diesem Programm bislang noch auszeichnete.
Falls nur eine explizite Funktion (und nur diese) dargestellt wird, kann die Fläche relativ schnell gerendert werden. Die Grundeinstellung ist, daß dies sofort nach Neudefinition und nach Beenden einer Drehung erfolgt. Diese Automatik kann abgestellt werden (oben, unter den Schiebreglern rechts). Die Renderung geschieht mit der gleichen Einteilung, die für das Netz festgelegt wurde, wobei jeder Netzabschnitt nochmal in jeweils vier Dreiecke zerlegt wird. Eine Berechnung eines horizontalen Randes nach unten und oben findet nicht statt, d.h. bei Flächen, die die „Box“ nach oben oder unten verlassen, sind die Ränder gezackt. Warum auch nicht. Die Flächengrundfarbe ist stets die Farbe des Netzes, die man oben bei „Farben“ festlegt. Sie wird allerdings durch die Beleuchtungssituation und die jeweilige „Ausrichtung“ der Fläche (also die Richtung ihrer Flächennormalen gegen die Lichtvektoren) beeinflußt und abgetönt, während das Netz immer in der Grundfarbe bleibt. Die Unterseite ist stets dunkler (61,8%). Diverse Einstellungen zur Beleuchtung, zum Hintergrund und zur Durchsichtigkeit sind möglich (siehe unten).
Während die eben beschriebene Renderung auf die Darstellung genau einer explizit angegebenen Funktion (d.h. y=f(x,y)) beschränkt ist, kann auch eine Situation mit theoretisch beliebig vielen Flächen durch ein rudimentäres Raytracing mit allerdings, wie ich ganz unbescheiden finde, oft phantastischen Ergebnissen gefüllt dargestellt werden. (Dazu die etwas unscheinbare Schaltfläche unterhalb der Schieberegler klicken.) „Rudimentär“ soll hierbei heißen, daß für jeden der 360.000 Bildschirmpixel ein „Sehstrahl“ erzeugt wird, für den der erste Schnittpunkt mit einer der gegebenen Flächen berechnet wird. Die Farbe des Bildschirmpunktes hängt dann allerdings nur von der Ausrichtung der verantwortlichen Fläche in diesem Punkt bezüglich der Richtung zu den (beiden) Lichtquellen ab, nicht von einer „tatsächlichen“ Beleuchtungssituation. Schattenwürfe werden also nicht berechnet. Der Rechenaufwand ist hierbei dennoch immens, vor allem bei komplexeren Gleichungen/Funktionen kann die Rechenzeit einige Minuten betragen. Bei mehreren gleichzeitig dargestellten Funktionen steigt der Rechenaufwand natürlich noch entsprechend an. Es gibt ein Hauptlicht, das schräg von oben links kommt (hinter dem Betrachter), und ein Nebenlicht, das von schräg rechts kommt und etwas hinter und unterhalb des Objekts sitzt.

Zur Eingabesyntax, den unterstützten Funktionen, der Farb-Kodierung etc. siehe die Erläuterungen zum 2D-Plotter.

 

Ein paar weitere (leider noch etwas lieblos unformatierte, aber sehr effektvolle) Einstellungsmöglichkeiten
(von denen die meisten erst beim Neuplotten aktiv werden. Dazu einfach in die Graphik klicken. Raytrace-Graphiken gehen dadurch natürlich verloren.)

Hintergrundfarbe des Plotfensters: oder Farbverlauf (unten) bis (oben)
Alpha-Kanal (Opazität) der gerenderten Flächen (nur bei einzelner explizten Funktion): %
 
Grundlichtfarbe: Anteil: %
Hauptlichtfarbe (links oben): Anteil: %
Nebenlichtfarbe (rechts seitlich unten, Gegenlicht): Anteil: %
Die Summe der Lichtanteile muß nicht 100% ergeben; Überbelichtung ergibt schöne Effekte.
 
Lichtpositionen (Azimut: 0°=Beobachterposition, + nach rechts; Höhe: 0°=Blickhorizont, + nach oben; das Licht dreht sich mit, kommt also vom Beobachter aus gesehen immer aus der gleichen Richtung.)
Hauptlicht: A ° . h °
Nebenlicht: A ° . h °
 
Vor dem Flächenfüllen Graphik löschen (auch keine Box):
 
Zoom
 
   Boxfarbe:
 
Raytrace: Anz. Startpunkte pro „Sehstrahl“:   Anz. max. Newton-Iterationen:

© Arndt Brünner, 12. 8. 2017
Version: 4. 1. 2019