Discussion de l'article "Comment créer des graphiques 3D avec DirectX dans MetaTrader 5"

 

Un nouvel article Comment créer des graphiques 3D avec DirectX dans MetaTrader 5 a été publié :

Les graphiques 3D constituent un excellent moyen d'analyser de grosses quantités de données, car ils permettent de visualiser des choses cachées. Ces tâches peuvent être faites directement dans MQL5, et les fonctions DireсtX permettent de créer des objets tridimensionnels. Il est ainsi possible de créer des programmes de n’importe quelle complexité, même des jeux en 3D pour MetaTrader 5. Vous pouvez commencer à apprendre les graphiques 3D en dessinant des formes tridimensionnelles simples.

La division des polygones en triangles est apparue il y a longtemps, lorsque les premières images de synthèse devaient fonctionner sur des cartes graphiques peu performantes. Le triangle permet de décrire exactement de la position d'une petite partie de surface. Il permet aussi le calcul des paramètres associés, tels que les lumières et les réflexions lumineuses. L’ensemble de ces petits triangles permet de créer une image tridimensionnelle réaliste de l'objet. Par la suite, les mots ’polygone’ et ’triangle’ seront utilisés indifféremment car il est beaucoup plus facile d'imaginer un triangle qu'un polygone avec N sommets.


Cube constitué de triangles

Il est possible de créer le modèle tridimensionnel d'un objet en décrivant les coordonnées de chaque sommet du triangle, ce qui permet ensuite le calcul des coordonnées de chaque point de l'objet, même si l'objet se déplace ou si la position de l'observateur change. Nous traitons donc des sommets, des arêtes qui les relient, et des faces formées par les arêtes. Si la position d'un triangle est connue, nous pouvons créer une normale pour la face en utilisant les lois de l'algèbre linéaire (une normale est un vecteur perpendiculaire à la surface). Elle permet de calculer la façon dont sera éclairée le visage et il réfléchira la lumière.


Exemples d'objets simples avec leurs sommets, arêtes, faces et normales. Les normales sont représentées par une flèche rouge.

Auteur : MetaQuotes

 
Wow, Canvas3D a beaucoup de possibilités ! Je vous remercie. Sans cet article, la forêt serait bien sombre.
 
2020.04.18 08:39:08.454 Step1_Create_Box(EURUSD,H1) Erreur de création du canevas : 5151
la description de l'erreur 5151 n'est pas dans l'aide
 

donner des graphiques tridimensionnels comme application pratique.

L'équipe Metaquotes.

 

J'aime bien l'exemple de la surface, merci. Est-il possible de donner le même petit exemple pour un diagramme à barres en 3D ?


Dans le cas d'une surface, les points du tableau m_data sont reliés en douceur pendant la visualisation. Cela n'est pas possible pour un diagramme. Veuillez montrer un exemple.

 
fxsaber:

Est-il possible de donner le même petit exemple pour un diagramme à barres en 3D ?

Je pense qu'il est plus facile de créer quelques dizaines de CDXBox et de fixer un bord et de déplacer le bord opposé en hauteur en fonction des données de l'histogramme.

 
Igor Makanu:

Je pense qu'il est plus facile de créer quelques dizaines de CDXBox et de fixer un bord et de déplacer le bord opposé en hauteur en fonction des données de l'histogramme.

Vous avez besoin d'un exemple prêt à l'emploi pour m_data.

 
fxsaber:

Besoin d'un exemple prêt à l'emploi pour m_data.

Dans l'article, il y a

Dans cet article, nous avons montré comment les fonctions DirectX vous permettent de créer des figures géométriques simples et des graphiques 3D animés pour l'analyse visuelle des données. Des exemples plus complexes se trouvent dans le dossier d'installation du terminal MetaTrader 5 : les experts "Correlation Matrix 3D" et "Math 3D Morpher", ainsi que le script "Remnant 3D".


 
Rashid Umarov:

Je veux dire qu'il y a un article dans l'article

Merci, mais malheureusement.

Error creating canvas: 5151
DXContextCreate renvoie INVALID_HANDLE.
 
fxsaber:

Merci, mais malheureusement.

DXContextCreate renvoie INVALID_HANDLE.

J'obtiens également l'erreur 5151 sur mon ordinateur portable.

Renat a expliqué ici pourquoi DirectX https://www.mql5.com/ru/forum/327001/page10#comment_14021506 ne fonctionne pas pour moi.

Peut-être que votre pilote vidéo n'est pas compatible avec DirectX 11 non plus.

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

J'obtiens également l'erreur 5151 sur mon ordinateur portable.

Renat a expliqué ici pourquoi DirectX ne fonctionne pas pour moi https://www.mql5.com/ru/forum/327001/page10#comment_14021506

Il se peut également que votre pilote vidéo ne soit pas compatible avec DirectX 11.

Merci, je ne suis pas prêt à mettre à jour mon matériel.