文章 "如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形"

 

新文章 如何在 MetaTrader 5 中利用 DirectX 创建 3D 图形已发布:

3D 图形为大数据分析提供了完美的方案,它可以直观透视隐藏的形态。 这些任务能以 MQL5 直接解决,而 DireсtX 函数允许创建三维物体。 故其能够为 MetaTrader 5 创建任意复杂度的程序,甚至 3D 游戏。 学习 3D 图形,从绘制简单的三维形状开始。

按照三角形每个顶点的坐标定义来创建物体的三维模型,如此,即便物体移动或观察者的位置发生变化,也可以进一步计算物体每个点的坐标。 所以,我们要处理的是顶点,连接顶点的边线,以及由边线形成的表面。 如果知道三角形的位置,则可以利用线性代数定律来创建切面法线(法线是垂直于表面的向量)。 如此即可计算出切面如何光照,以及光线如何从切面反射。


简单物体的顶点、边线、切面和法线的示例。 法线是红色箭头。

物体模型能够以不同方式来创建。 拓扑学描述了多边形如何形成 3D 网模。 良好的拓扑结构允许利用最少数量的多边形来描绘对象,并可令物体的移动和旋转更加容易。

两种拓扑中的球面模型

两种拓扑中的球面模型。

作者:MetaQuotes

 
哇,Canvas3D 大有可为!谢谢您。如果没有这篇文章,这里将是一片黑暗的森林。
 
2020.04.18 08:39:08.454 Step1_Create_Box(EURUSD,H1) 创建画布时出错:5151
帮助中没有关于错误 5151 的描述
 

给出三维图表的实际应用。

Metaquotes 团队。

 

我喜欢这个表面示例,谢谢。能否为三维条形图提供同样的简短示例?


在曲面的情况下,m_data 数组的点在可视化过程中会平滑地连接起来。而图表则无法做到这一点。请举例说明。

 
fxsaber:

能否为 3D 柱形图提供同样的简短示例?

我认为创建几十个 CDXBoxes 并固定一条边,然后根据直方图数据移动对边的高度会更容易。

 
Igor Makanu:

我认为,创建几十个 CDXBox,然后根据直方图数据,固定一条边,并移动对边的高度,会更容易一些。

您需要一个现成的 m_data 示例。

 
fxsaber:

需要一个 m_data 的现成示例。

文章中有

在本文中,我们展示了DirectX 函数 如何让您创建简单的几何图形和三维动画图形,用于可视化数据分析。更复杂的示例可在 MetaTrader 5 终端安装文件夹中找到:"Correlation Matrix 3D" 和 "Math 3D Morpher" 专家,以及 "Remnant 3D" 脚本。


 
Rashid Umarov:

我的意思是,文章中有一篇文章

谢谢,但很遗憾

Error creating canvas: 5151
DXContextCreate 返回INVALID_HANDLE
 
fxsaber:

谢谢,但很遗憾。

DXContextCreate 返回INVALID_HANDLE

我的笔记本电脑上也出现了错误 5151。

在这里,Renat 解释了为什么 DirectXhttps://www.mql5.com/ru/forum/327001/page10#comment_14021506 对我不起作用。

也许您的视频驱动程序也与 DirecrX 11 不兼容。

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

我的笔记本电脑也出现了错误 5151。

在这里,Renat 解释了为什么 DirectX 对我不起作用https://www.mql5.com/ru/forum/327001/page10#comment_14021506

您可能也没有与 DirecrX 11 兼容的视频驱动程序。

谢谢,我还没准备好升级硬件。