Leinwand ist cool! - Seite 93

 
Nikolai Semko #:

Andrei, wollen Sie nur ein Bild oder wollen Sie ein Bild von MQL5?
Ich kann es leicht visualisieren, aber es gibt fortgeschrittenere Tools für die Visualisierung.
Zum Beispiel, hier ist Ihre Formel, wie sie auf dieser Ressource aussieht:
https://www.desmos.com/3d/887356da26.

Hoppla, ich habe einen Fehler in der Formel gemacht:
Hier ist die richtige Formel:
https://www.desmos.com/3d/b06327c043

 
Andrey Dik #:
Ich bin mir nicht sicher, wie man es macht, aber die Oberflächenformel ist wie folgt:

Das Bild ist ähnlich in MQL5

andere Skala:


Häufigkeit und Größe der Punkte können in den Eingabeparametern geändert werden

Ich habe auch bei einer Punktmatrix von 500x500 (250 000 Punkte) keine Verzögerung.

Meine persönliche Meinung ist, dass das Zeichnen von Flächen mit Punkten anstelle von Linien und Dreiecken seine Vorteile hat. Zum Beispiel die Transparenz und die bessere Leistung. Man kann auch Wolken anstelle von Flächen erstellen.

Dateien:
iCanvas_CB.mqh  71 kb
SurfaceDik.mq5  14 kb
 

kann mit einer Heatmap in Abhängigkeit von einer Koordinate gezeichnet werden.


Dateien:
SurfaceDik.mq5  15 kb
 
Andrey Dik #:

Ich habe eine Frage: Ich muss Punkte auf einer Fläche einzeichnen, wenn ich eine Testfunktion optimiere, aber ich weiß nicht, wie das geht.

Es sollte in etwa so sein:

Was die Frage nach der Möglichkeit, auf der Oberfläche zu zeichnen, betrifft, so gibt es auch hier kein Problem.
Fügen Sie 5 Zeilen Code hinzu, und schon ist es erledigt:


Dateien:
SurfaceDik.mq5  15 kb
 
Großartig!!! Danke für die Hilfe mit den Beispielen!
 
Nikolai Semko #:

Auch die Frage, ob man auf der Oberfläche zeichnen kann, stellt kein Problem dar.
Fügen Sie 5 Zeilen Code hinzu und Sie sind fertig:

"Zeichnen" - ich meinte etwas anderes, programmatisch Punkte auf der Oberfläche erzeugen, die Punkte müssen auf der Oberfläche "laufen".

Aber diese Möglichkeit, tatsächlich von Hand zu zeichnen, ist auch eine tolle Funktion.

 
Andrey Dik #:

"Zeichnen" - ich meinte etwas anderes, nämlich das programmgesteuerte Aufzeichnen von Punkten auf der Oberfläche, wobei die Punkte auf der Oberfläche "laufen" müssen.

Es wäre interessant, die Konvergenzpfade in 3D zu sehen.

 
fxsaber #:

Es wäre interessant, die Konvergenzpfade in 3D zu sehen.

Ja, für das hier.
 
fxsaber #:

Es wäre interessant, die Konvergenzpfade in 3D zu sehen.

Ja, die Brownsche Bewegung ist faszinierend ;)
 
Andrey Dik #:

"Zeichnen" - ich meinte etwas anderes, nämlich das programmgesteuerte Aufzeichnen von Punkten auf der Oberfläche, wobei die Punkte auf der Oberfläche "laufen" müssen.

Aber diese Möglichkeit, tatsächlich von Hand zu zeichnen, ist auch eine tolle Funktion.

Man kann es genauso machen, wenn es ein bool'sches Array der gleichen Größe gibt. Oder, wenn es nicht zu viele laufende Punkte gibt, erstellen Sie ein Array (dessen Größe der Anzahl der laufenden Punkte entspricht) mit den Indizes des Hauptarrays der 3D-Punkte, dessen Index y*side_size+x ist