Diskussion zum Artikel "Wie man 3D-Grafiken mit DirectX in MetaTrader 5 erstellt"

 

Neuer Artikel Wie man 3D-Grafiken mit DirectX in MetaTrader 5 erstellt :

3D-Grafiken sind ein hervorragendes Mittel zur Analyse riesiger Datenmengen, da sie die Visualisierung verborgener Muster ermöglichen. Diese Aufgaben können direkt in MQL5 gelöst werden, während die Funktionen von DireсtX die Erstellung dreidimensionaler Objekte ermöglichen. So ist es sogar möglich, Programme von beliebiger Komplexität zu erstellen, sogar 3D-Spiele für MetaTrader 5. Beginnen Sie mit dem Erlernen der 3D-Grafik, indem Sie einfache dreidimensionale Formen zeichnen.

Die Aufteilung von Polygonen in Dreiecke erschien vor langer Zeit, als die frühen Computergrafiken noch auf schwachen Grafikkarten laufen mussten. Das Dreieck ermöglicht die exakte Beschreibung der Position eines kleinen Oberflächenteils sowie die Berechnung damit zusammenhängender Parameter, wie z.B. Beleuchtungen und Lichtreflexionen. Die Sammlung solch kleiner Dreiecke ermöglicht die Erstellung eines realistischen dreidimensionalen Bildes des Objekts. Im Folgenden werden das Polygon und das Dreieck als Synonyme verwendet, da es viel einfacher ist, sich ein Dreieck vorzustellen als ein Polygon mit N Eckpunkten.


Aus Dreiecken zusammengesetzter Würfel.

Das dreidimensionale Modell eines Objekts kann durch die Beschreibung der Koordinaten jedes Eckpunkts des Dreiecks erstellt werden, was eine weitere Berechnung der Koordinaten für jeden Punkt des Objekts ermöglicht, auch wenn sich das Objekt bewegt oder sich die Position des Betrachters ändert. Wir befassen uns also mit den Scheitelpunkten, den Kanten, die sie verbinden, und der Fläche, die durch die Kanten gebildet wird. Wenn die Position eines Dreiecks bekannt ist, können wir mit Hilfe der Gesetze der linearen Algebra eine Normale zur Fläche erzeugen (eine Normale ist ein Vektor, der senkrecht zur Fläche steht). Auf diese Weise lässt sich berechnen, wie die Fläche beleuchtet wird und wie das Licht von ihr reflektiert wird.


Beispiele für einfache Objekte mit Vertices, Kanten, Flächen und Normalen. Die Normale ist der rote Pfeil.

Autor: MetaQuotes

 
Wow, Canvas3D hat eine Menge Möglichkeiten! Ich danke dir. Ohne diesen Artikel wäre es ein dunkler Wald.
 
2020.04.18 08:39:08.454 Step1_Create_Box(EURUSD,H1) Fehler beim Erstellen der Leinwand: 5151
Die Beschreibung des Fehlers 5151 steht nicht in der Hilfe
 

geben 3-dimensionale Diagramme als praktische Anwendung.

Metaquotes-Team.

 

Das Beispiel mit der Oberfläche gefällt mir, danke. Ist es möglich, das gleiche kurze Beispiel für ein 3D-Balkendiagramm zu geben?


Bei einer Fläche werden die Punkte des m_data-Arrays bei der Visualisierung fließend miteinander verbunden. Dies ist bei einem Diagramm nicht möglich. Bitte zeigen Sie ein Beispiel.

 
fxsaber:

Ist es möglich, das gleiche kurze Beispiel für ein 3D-Balkendiagramm zu geben?

Ich denke, es ist einfacher, ein paar Dutzend CDXBoxen zu erstellen und eine Kante zu fixieren und die gegenüberliegende Kante in Abhängigkeit von den Histogrammdaten in der Höhe zu verschieben.

 
Igor Makanu:

Ich denke, es ist einfacher, ein paar Dutzend CDXBoxen zu erstellen und eine Kante zu fixieren und die gegenüberliegende Kante in Abhängigkeit von den Histogrammdaten in der Höhe zu verschieben

Sie brauchen ein fertiges Beispiel für m_data.

 
fxsaber:

Ich brauche ein fertiges Beispiel für m_data.

In dem Artikel gibt es

In diesem Artikel haben wir gezeigt, wie Sie mit DirectX-Funktionen einfache geometrische Figuren und animierte 3D-Grafiken für die visuelle Datenanalyse erstellen können. Komplexere Beispiele finden Sie im Installationsordner des MetaTrader 5 Terminals: die Experten "Correlation Matrix 3D" und "Math 3D Morpher", sowie das Skript "Remnant 3D".


 
Rashid Umarov:

Ich meine, es gibt einen Artikel in dem Artikel

Danke, aber leider.

Error creating canvas: 5151
DXContextCreate gibt INVALID_HANDLE zurück.
 
fxsaber:

Danke, aber leider.

DXContextCreate gibt INVALID_HANDLE zurück.

Ich bekomme auch den Fehler 5151 auf meinem Laptop.

Hier hat Renat erklärt, warum DirectX https://www.mql5.com/ru/forum/327001/page10#comment_14021506 bei mir nicht funktioniert.

Vielleicht ist dein Grafiktreiber auch nicht mit DirecrX 11 kompatibel.

Новые графические возможности в MQL5 с прямым доступом к DirectX 11
Новые графические возможности в MQL5 с прямым доступом к DirectX 11
  • 2019.11.26
  • www.mql5.com
27 ноября 2019 года мы выпустим релиз с новыми графическими возможностями для построения сложных 3D визуализаций...
 
Igor Makanu:

Ich erhalte auch auf meinem Laptop den Fehler 5151.

hier hat Renat erklärt, warum DirectX bei mir nicht funktioniert https://www.mql5.com/ru/forum/327001/page10#comment_14021506

Möglicherweise haben Sie auch keinen kompatiblen Grafiktreiber für DirecrX 11.

Danke, ich bin nicht bereit, meine Hardware aufzurüsten.