Deutsch
PHP, HTML & JavaScript- Forum

3D Grafik - WebGL mit three.js

 
- Seite 1 -



HofK
Auf einen heißen Tipp von IF hin, habe ich mir mal
three.js  [...]  angeschaut. Da  [...]  (ganz unten) die ersten Resultate.
 
31.01.2016  
 



 
- Seite 25 -



HofK
HofK (22.07.2019)
Nach meiner Kenntnis gibt es keine Möglichkeit (oder keine hier praktikable) bei der Impliziten Funktion mit dem Newton Verfahren die Punkte "glatt " auf die Grenze zu bringen, wenn die Variable in der Funktion und ihren partiellen Ableitungen auftaucht.



Meine Kenntnis hat sich geändert.

Zwar bin ich im Netz weiterhin nicht fündig geworden, aber mir hat das Problem nach einer Pause keine Ruhe gelassen. Mit etwas Abstand und nochmal von der Basis ohne Begrenzung ausgehend, hat es nun geklappt. Dabei ist die Lösung gar nicht so weit von meinen Fehlversuchen entfernt. Den Grundgedanken hatte ich auch bei den ersten Versuchen - nur fehlerhaft umgesetzt. Wenn man sich erst einmal in einer Sackgasse verrannt hat, ist es aus.

Die Lösung besteht darin, nach der Bestimmung der neuen Punkte mit dem Newton-Verfahren zu prüfen, ob sie die Grenzen überschreiten. Wenn eine Koordinate die Grenze überschreitet, wird sie auf den Grenzwert zurückgesetzt. Dann wird die Newton-Iteration noch einmal ausgeführt. Dabei wird allerdings nicht der komplette Gradient (Vektor der partiellen Ableitungen) genutzt. Die Grenzkomponente wird auf 0 gesetzt. Damit wird die Newton-Iteration in der Grenzebene, also in zwei Koordinaten ausgeführt.

Abgesehen von Fällen wo das Verfahren nicht oder falsch konvergiert (Singularitäten), funktioniert es in den meisten Konstellationen. Nicht umsonst ist auch im originalen Basis-Algorithmus in Pascal eine Warnung im Code enthalten
writeln(cc,' WARNING tri (surface_point...): newton');

Drei Beispiele:

Kugel mit Kegel zweifach geschnitten



Sinus, dreifach geschnitten
const pi2 = Math.PI / 2;
const si = ( y ) => ( Math.sin( pi2 * y ) - 0.05 );
const isf = ( x, y, z ) => ( x * x + si( y ) * si( y ) + z * z - 1 );// IMPLICIT SURFACE Function



drei Zylinder, vierfach geschnitten



... und nun wieder Code optimieren und aufräumen. 
 
05.08.2019  
 




p.specht

Höchste Zeit für den berühmten "Utah Teapot"  [...]  !
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
07.08.2019  
 




HofK
p.specht (07.08.2019)
Höchste Zeit für den berühmten "Utah Teapot"  [...]  !


Zu spät!

Gibt es schon lange in three.js.

Seit Revision 56 (derzeit 107 aktuell ) dort zu finden.
Demo:  [...] 
Geometrie:  [...] 
 
08.08.2019  
 




p.specht

Teapot klappt prima ... Bin überrascht, wie glatt er wirkt !
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
09.08.2019  
 




HofK
Wieder eine Etappe geschafft.

Die Version mit Begrenzung ist fertiggestellt und in das THREEi Addon integriert.

Für unendliche Flächen wie Zylinder (siehe oben), aber auch zum Schnitt von anderen Flächen.

genus2 cut



Siehe

GitHub:  [...] 

discourse:  [...] 
 
10.08.2019  
 




HofK
Eine kleine Ergänzung.

Die Berechnung der Dreiecke der impliziten Flächen erfordert einen gewissen Aufwand. Daher kann es sinnvoll sein, das Ergebnis der Berechnung als komplette three.js BufferGeometry Definition zu exportieren.

Ich habe das auf GitHub hinzugefügt. 

Die Datei triangulationImplicitSurfaceExportGeo.html erfüllt den Zweck. Siehe Ordner examples. Wenn man auf den Button Export Def drückt, wird der JavaScript Code angezeigt und in die Zwischenablage kopiert. Die ...32 Arrays werden auf die tatsächliche Länge gekürzt. Diese three.js BufferGeometry-Definition kann in die Datei implicitSurfaceImport.html an der markierten Stelle eingefügt werden. Die Definition kann auch einfach in eigene Projekte kopiert werden.
 
13.08.2019  
 




p.specht

Die Figur könnte ein Ausschnitt aus einer "Klein´schen Flasche" sein. Dass das nicht so ist, wird vermutlich erst bei Bewegung klar ...

Frage zum Teapot: Dreht sich die Lichtquelle eigentlich immer mit der Szene mit, oder kann man auch "Beleuchtung konstant von schräg vorne" definieren?
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
15.08.2019  
 




HofK
Die Kleinsche Flasche wird als parametrische BufferGeometry realisiert:  [...] 

Es gibt im Framework three.js verschiedenartige Lichtquellen. Diese kann man kombinieren und nach Bedarf im 3D Raum positionieren. Sie sind im Zusammenspiel mit dem verwendeten Material zu verstehen. Ein dargestellter Körper (Mesh) beteht aus Geometrie und Material.

Dort  [...]  ist ein Spot teilweise auf ein Bild gerichtet und es werden Hilfslinien angezeigt.

 
15.08.2019  
 




p.specht

Ah. danke ...
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
15.08.2019  
 




HofK
HofK (30.07.2019)
Die Grafiken in den vorherigen Beiträgen wurden mit dem Lineal von IF  [...]  aufgenommen. Sehr praktikabel.
Funktioniert nicht mehr. Nun übe ich mit Firefox "Bildschirmfoto".



Firefox hilft aber nicht außerhalb des Browsers. Da habe ich nun Monosnap  [...]  für mich entdeckt. Einige Tasten muss man umdefinieren, sie sind auf das englische Tastaturlayout ausgerichtet und haben mir in anderer Software Probleme gemacht. Mein Laptop hat zwischen Alt Gr und rechter Strg Taste eine bisher nie genutzte Taste. Sieht aus wie ein Menü oder ein Blatt mit drei Zeilen - keine Ahnung wozu sie dienen soll. Da drücke ich nun drauf und es funktioniert fast wie bei IF. Aber einige kleine Details hat IF noch besser gelöst!
 
21.08.2019  
 




p.specht

Ich verwende Irfanview, für vieles gut, auch für selektive Screenshots!
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
21.08.2019  
 




HofK
Irfanview ist schon eine richtige Software-Suite, während Monosnap ein schlankes Tool ist. Startet bei mir mit dem System und lauert Resourcen schonend bis ich die "Spezialtaste" drücke.

Habe zwei mal gedrückt:





Als Vorbereitung für Zylinder und Torus mit kreisförmigen (deformierten) Löchern habe ich die Schnittlinien erzeugt. Für den Zylinder findet man die Herleitung dort:  [...] 

Für den Torus habe ich nichts gefunden und selbst hergeleitet. Die vierfache Lösungsformel (biquadratisch) ist etwas komplizierter.
 
22.08.2019  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

332.996 Betrachtungen

Unbenanntvor 0 min.
HofK vor 24 Tagen
Rschnett24.08.2024
Michael W.28.03.2024
Thomas Zielinski17.02.2024
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie