PHP, HTML & JavaScript- Foro | | | | - Página 1 - |
|  HofK | Auf una heißen Tipp de IF hin, Yo me de tiempo three.js [...] angeschaut. Como [...] (bastante unten) el ersten Resultate. |
| | | | |
| | | | - Página 24 - |
| |  HofK | Nun Yo kompliziertere Flächen en Arbeit, z.B. el Fläche vom Geschlecht 3, siehe [...] Página 56. y WIKIPEDIA [...] 

Für el Eingabe benötigt uno el implizite Función y el partiellen Ableitungen. Diese son ya bastante aufwändig.
// Example: implicit surface of genus 3
const rx2 = 36;
const ry2 = 12.25;
const rz2 = 16;
const r2 = 1.44;
const x0 = 3.9;
const f0 = ( x, y, z ) => ( rz2 * rz2 * z * z );
const f1 = ( x, y, z ) => ( 1 - x * x / rx2 - y * y / ry2 );
const f2 = ( x, y, z ) => ( ( x - x0 ) * ( x - x0 ) + y * y - r2 );
const f3 = ( x, y, z ) => ( x * x + y * y - r2 );
const f4 = ( x, y, z ) => ( ( x + x0 )* ( x + x0 ) + y * y - r2 );
const dxf1 = ( x, y, z ) => ( -2 * x / rx2 );
const dxf2 = ( x, y, z ) => ( 2 * ( x - x0 ) );
const dxf3 = ( x, y, z ) => ( 2 * x );
const dxf4 = ( x, y, z ) => ( 2 * ( x + x0 ) );
const dyf1 = ( x, y, z ) => ( -2 * y / ry2 );
const dyf2 = ( x, y, z ) => ( 2 * y );
const dyf3 = ( x, y, z ) => ( 2 * y );
const dyf4 = ( x, y, z ) => ( 2 * y );
const isf = ( x, y, z ) => ( f0( x, y, z ) - f1( x, y, z ) * f2( x, y, z ) * f3( x, y, z ) * f4( x, y, z ) );// IMPLICIT SURFACE Function
const dx = ( x, y, z ) => ( -( dxf1( x, y, z ) * f2( x, y, z ) * f3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * dxf2( x, y, z ) * f3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * f2( x, y, z ) * dxf3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * f2( x, y, z ) * f3( x, y, z ) * dxf4( x, y, z ) ) );// PARTIAL DERIVATE to x
const dy = ( x, y, z ) => ( -( dyf1( x, y, z ) * f2( x, y, z ) * f3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * dyf2( x, y, z ) * f3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * f2( x, y, z ) * dyf3( x, y, z ) * f4( x, y, z ) + f1( x, y, z ) * f2( x, y, z ) * f3( x, y, z ) * dyf4( x, y, z ) ) );// PARTIAL DERIVATE to y
const dz = ( x, y, z ) => ( rz2 * rz2 * 2 * z );// PARTIAL DERIVATE to z
const xs = 0;// x START POINT
const ys = 3;// y START POINT
const zs = 0;// z START POINT
//const e = 0.001; // epsilon
//const d = 0.128; // rough edge length of triangles
const e = 0.001;// epsilon
const d = 0.13;// rough edge length of triangles
//const e = 0.001; // epsilon
//const d = 0.2; // rough edge length of triangles
Desde que el Algorithmus todavía siempre no a en el letzte Detalle se llevó a cabo, funktioniert no con allen Kombinationen de e y d. Yo bleibe dran!
Keine Aussage a Fehlern, sólo soviel .... ....  |
| | | | |
| |  HofK | En relativ großer ungefährer Seitenlänge el Dreiecke kommt lo en komplizierten Flächen con muy unterschiedlichen Krümmungen a Darstellungsfehlern. Auch es el una Grund, dass manche Kombinationen de e y d no trabajo, como el Newton-Verfahren no a korrekten Nullstelle konvergiert, z.B. va en festem d veces incluso e=0.001, 0.0001 va no, aber 0.00001 va otra vez.

La idea war nun, el Seitenlänge d abhängig de el Krümmung a hacer. Geht al theoretisch a, benötigt uno Dinge como Hesse-Matrix [...] [...] 
Dann se el Aufwand para el Eingabe muy hoch y el Berechnungen son bastante umfangreich.
Deshalb Yo una einfachen Näherungsansatz gewählt.
Man berechnet ya a una Punkt el en una Umkreis con Radius d en el Tangentialebene liegenden Punkte. Dann voluntad esta Punkte por Newton-Verfahren en el Fläche gebracht. Merkt uno se nun para el Punkte el Abstand Punkt-Tangentialebene y bildet Maximum oder Mittelwert, ha uno una ungefähres Maß el Krümmung. Damit puede ser nun d verändern.
Nachteil: Man muss el komplette Rechnung con el neuen d todavía una vez hacer, el Gesamtrechenaufwand verdoppelt se also nahezu. Im Programa son lo sólo wenige Zeilen mehr.

En dieser ya muy feinen Auflösung bringt no viel, en el Gegenteil, el Gleichmäßigkeit el Triangulierung es gestört.
Aber como sieht lo en großem d de?
Auf el ersten Blick bastante ordentlich,

aber el problema el no exakten Konvergenz se no gelöst.

Es also sinnvoller más bien el Dreiecke total klein bezüglich el stärksten Krümmung a halten.
Deshalb verfolge Yo esta Ansatz no más. War aber interessant. |
| | | | |
| |  HofK | Im Algorithmus [...] Página 52 voluntad "Schlechte" Nahepunkte beschrieben. El Tuve primero ausgeklammert. Trotzdem funktionierte lo en el Beispielen. Also geschaut, wann esta Punktepaare auftreten.
So entstehen ellos:
El aktive Front kommt se incluso nahe:

Sie se getrennt:

In diesem Ejemplo entsteht en Füllung con Dreiecken una kleines, fast rechtwinkliges Dreieck. El Longitud el una Página es el Abstand zwischen el getrennten Fronten y aquí entonces algo kleiner como el ungefähre Seitenlänge d.
¿Por qué ha lo aber auch en diesem Ejemplo funktioniert? ¿Por qué voluntad el Fronten no otra vez vereinigt y lo son una Endlosschleife?
El Antwort liegt en meiner speziellen Art el Umsetzung des Algorithmus. Diese weicht a algunos Stellen de el Pascal-Vorgabe de.
Nach Trennung el aktiven Front bestimme Yo sólo para el kleineren, entonces para el verbleibenden (manchmal zwischenzeitlich veränderten) Winkel neue Dreiecke (sin nachfolgende Abstandsprüfung). Es el Stand en el zweiten Bild.
El obere Front en el Bild es nun el aktive Front. En Abstandsprüfung gehe Yo su de, dass salvo el neu erzeugte Punkte en el aktuellen Punkt (kleinster Winkel el Front) todos otro Punkte unverändert son. Damit prüfe Yo sólo para el neuen Punkten ( meist 1 oder 2, seltener 3 oder gar 4) el Abstand a otro Punkten.
Sollte veces uno el gerade sin Prüfung erzeugten Punkte el kleinsten Winkel haben, así son el nun hay erzeugten Punkte en cada Fall más como el ungefähre Seitenlänge d de el unteren Front lejos.
El schlechten Nahepunkte voluntad also "umgangen" y yo erspare me el Prüfung. |
| | | | |
| |  HofK | Noch una nettes Ejemplo. Drei verschmelzende Kugeln. Im Gegensatz a einfachen Kugeln el uno así anordnet, es el Übergang gerundet y innen son el Kugeln no getrennt.


// Example: implicit surface, three balls
const f0 = (x,y,z) => ( x*x + y*y + z*z - 4 );
const f1 = (x,y,z) => ( (x+3)*(x+3) + y*y + z*z - 3 );
const f2 = (x,y,z) => ( x*x + (y-2)*(y-2) + (z-2)*(z-2) - 1.8 );
const isf = (x,y,z) => ( f0(x,y,z)*f1(x,y,z)*f2(x,y,z ) - 0.4 );// IMPLICIT SURFACE Function
const dx = (x,y,z) => ( 2*x*f1(x,y,z)*f2(x,y,z) + 2*(x+3)*f0(x,y,z)*f2(x,y,z) + 2*x*f0(x,y,z)*f1(x,y,z) );// PARTIAL DERIVATE to x
const dy = (x,y,z) => ( 2*y*f1(x,y,z)*f2(x,y,z) + 2*y*f0(x,y,z)*f2(x,y,z) + 2*(y-2)*f0(x,y,z)*f1(x,y,z) );// PARTIAL DERIVATE to y
const dz = (x,y,z) => ( 2*z*f1(x,y,z)*f2(x,y,z) + 2*z*f0(x,y,z)*f2(x,y,z) + 2*(z-2)*f0(x,y,z)*f1(x,y,z) );// PARTIAL DERIVATE to z
const progressFactor = 3;// for slider
const xs = 0;// x START POINT
const ys = 4 ;// y START POINT
const zs = 0;// z START POINT
const e = 0.001;// epsilon
const d = 0.1;// rough edge length of triangles
|
| | | | |
| |  p.specht
 | Erinnert una wenig a el Ergebnisse de "Blender" ... |
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 22.07.2019 ▲ |
| |
| |  HofK | p.specht (22.07.2019)
Erinnert una wenig a el Ergebnisse de "Blender" ...
Como son con Sicherheit muy viele Algorithmen implementiert. Posesiones mich así pero no beschäftigt.
----------------------------
Auf Página 54 de [...] son zwei Möglichkeiten el Begrenzung uno Zylinders dargestellt. El implizite Función des Zylinders ergibt sin Begrenzung una unendlich große Fläche, como en el Función const isf = (x,y,z) => ( x*x + y*y - 1 ); // IMPLICIT SURFACE Function el Variable z no auftaucht.
Also Yo una Boundingbox hinzuprogrammiert.
const e = 0.01; // epsilon const d = 0.1; // rough edge length of triangles const b = [ 10, -10, 0.6, -10, 2, -1.3 ]; // bounds xMax, xMin, yMax, yMin, zMax, zMin
Das macht en el Algorithmus a más Stellen Abänderungen/Ergänzungen nötig.


Man erkennt el problema. In Richtung el z-Achse funktioniert lo prima, como uno el Koordinate simplemente el Grenze zurücksetzen kann. Sie kommt en el Función no antes y ha no Einfluss el Newton Verfahren.
Macht al como en el Bild dargestellt con uno el otro Achsen, así restos el Rand ausgefranst y el fransigen Ecken mentira no exakt en el Zylinder. Hier tiefer en 0,6.
Como el Prüfungen bezüglich el Boundingbox doch algunos Aufwand verursachen, voluntad Yo esta Programmvariante sólo para Zylinder y ähnliche Dinge nutzen. El allgemeinere Form es entonces el Begrenzung por weitere Frontpolygone, Yo lo en Kugel con el beliebigen Öffnungen gemacht habe. Hier es el Aufwand lediglich el Erstellung dieser passenden Frontpolygone. Das Programa incluso braucht no Ergänzung.
Nach meiner Kenntnis hay no Möglichkeit (oder no hier praktikable) en Impliziten Función con el Newton Verfahren el Punkte "glatt " en el Grenze a bringen, si la Variable en el Función y ihren partiellen Ableitungen auftaucht.
Nun muss todavía algo aufgeräumt y optimiert voluntad, ehe el Code vorzeigbar es.
----------
Ein weiteres Ejemplo Es el Fläche vom Geschlecht 2 [...] 
 |
| | | | |
| |  HofK | Noch una Intento con Begrenzung. Zwei se schneidende Zylinder.
// Example: implicit surface, two cylinder
const f1 = (x,y,z) => ( x*x + y*y - 1 );
const f2 = (x,y,z) => ( y*y + z*z - 1 );
//const isf = (x,y,z) => ( f1(x,y,z)*f2(x,y,z) - 0.5 ); // IMPLICIT SURFACE Function
const isf = (x,y,z) => ( f1(x,y,z)*f2(x,y,z) - 0.25 );// IMPLICIT SURFACE Function
const dx = (x,y,z) => ( 2*x*f2(x,y,z) );// PARTIAL DERIVATE to x
const dy = (x,y,z) => ( 2*y*( f1(x,y,z) + f2(x,y,z) ) );// PARTIAL DERIVATE to y
const dz = (x,y,z) => ( 2*z*f2(x,y,z) );// PARTIAL DERIVATE to z
const progressFactor = 5;// for slider
const xs = 0.2;// x START POINT
const ys = 1.1;// y START POINT
const zs = 0.1;// z START POINT
const e = 0.001;// epsilon
const d = 0.05;// rough edge length of triangles
const b = [ 1.4, -1.4, 10, -10, 1.4, -1.4 ];// bounds xMax, xMin, yMax, yMin, zMax, zMin
Hier führten sólo wenige Parameterkonstellationen a una Ergebnis. Teilweise überlaufen se Teile el Front o Rechnung landet en uno Endlosschleife, oder el Rand es no liso, como todos Variables vorkommen.


Für dieses Ejemplo also mejor auch Randpolygone como Front definieren. |
| | | | |
| |  p.specht
 | Demnach hätten matemáticamente Männer y Frauen el gleiche Geschlecht, oder? |
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.07.2019 ▲ |
| |
| |  HofK | p.specht (25.07.2019)
Demnach hätten matemáticamente Männer y Frauen el gleiche Geschlecht, oder?
Keine Idea, en el Mathematik es siempre una Cuestión de Definition.
Yo erinnere mich todavía bien el manchmal algo ermüdenden Abfolge "Definition-Satz-Beweis" el a absolvieren war.
Und es una Cuestión des herangehens. Como fällt me algo uraltes una:
Der Mathematik Professor schließt el Hörsaal en, una muy pünktlicher Student va hinein, el Professor restos antes Tür y wartet. Als el akademische Viertel verstrichen es y el Interesse a su Vorlesung gelinde dijo seeeehr gering es, ruft él en el Hörsaal. Fällt de - Yo schließe de! Lo kommen zwei Studenten heraus! Was denkt se el Mathematik Professor? Ganz logisch, ahora es todavía genau o. eineindeutig -1 Student en el Saal. Bleibt el Cuestión como lo con el abschließen hält. Keine Idea. |
| | | | |
| |  HofK | El Triangulation el impliziten Flächen es en un Stadium, wo uno ellos veröffentlichen kann.
Dort para encontrar:

GitHub [...]  mi Página [...] letzter Abschnitt o. direkt [...]  discourse [...] 
Einige todavía offene Dinge voluntad später ergänzt. |
| | | | |
| |  HofK | Anstatt algo Sinnvolles a hacer, voluntad Yo seit Stunden por el "KleinWeich" Chaoten aufgehalten. Nach el Actualización de Windoofs 10 laufen así algunos Dinge no mehr ordentlich. Mein externer Monitor blieb dunkel. Obwohl el Actualización fast una Stunde gewerkelt ha y davor ya telemetry el CPU con fast 100% auslastete ( Yo ahora abgeklemmt) fueron el Treiber no erneuert. Yo musste incluso sólo darauf kommen en el Netz después de Treibern suchen que se. El fueron entonces anstandslos installiert - gehts todavía?! Otto Normalverbraucher schafft el Gerät a Reparatur - Arbeitsbeschaffung para el Handwerk. No el lo ahora wirklich funktioniert. Nach Standby restos el Monitor entonces otra vez dunkel. Neustart oder USB Stecker ziehen (externe Grafik encima USB 3.0, como mi interne externe Grafik en el Laptop antes geraumer Tiempo el "Geist" aufgegeben ha).
El Gráficos en el vorherigen Beiträgen fueron con el Lineal de IF [...] aufgenommen. Sehr praktikabel. Funktioniert no mehr. Nun übe I, con Firefox "Bildschirmfoto".

zwei Zylinder con Kugel (Variante con Begrenzung es todavía no bastante fertig)
Auch classic shell se ausgebremst. Lo kommt una tiefrote Warnung. Funktioniert aber todavía irgendwie, darf se sólo no adaptar. Nervt, si cada Start el Warnung kommt y ¿qué es exactamente no va merke Yo eventuell irgendwann. Der Trick con el totalen Herabsetzung el Sicherheit en el Benutzerkontensteuerung hilft diesmal hier no.
Mi RAM Disk funktioniert todavía. Glück gehabt, veces sehen, a a welchem Zwangsupdate. Was todavía zerstört wurde se se zeigen. Aber no Alternative dank Quasimonopol. In el (sauren) Apfel möchte uno auch no necesariamente beißen y (J)..ux es en el Anwendung doch a eingeschränkt.
--- Apéndice: Das en el Netz beschriebene abklemmen de telemetry con un Eintrag en el Registrierung se en Neustart en Actualización 1903 wohl simplemente ignoriert. Mein Laptop se para 100% Ofen. Im Task Manager el Prozess final bringt aber vorläufige Abkühlung. |
| | | | |
| |  p.specht
 | Sieht hochschwanger de ...  |
| | | XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 30.07.2019 ▲ |
| |
|
RespuestaTema opciones | 357.609 Views |
ThemeninformationenDieses Thema ha 10 subscriber: |