Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么大多数人在xna中使用y轴作为上方向向量?_C#_Xna - Fatal编程技术网

C# 为什么大多数人在xna中使用y轴作为上方向向量?

C# 为什么大多数人在xna中使用y轴作为上方向向量?,c#,xna,C#,Xna,为什么会这样?我以为z轴通常被认为是向上的?有什么原因吗?这都是相对的。我知道一些游戏使用Y作为up,一些使用Z。这完全取决于程序员以及他们是如何学习的。这都是相对的。我知道一些游戏使用Y作为up,一些使用Z。这完全取决于程序员和他们是如何学习的。我想这是因为在学校里,每本数学书的X轴和Y轴都是平的,Z轴是深度轴。我想这与学校里每本数学书都是这样的事实有关将X轴和Y轴平放在页面上,并将Z轴显示为深度轴。我想你可能会想知道人们为什么选择这个: 在这方面: 这纯粹是程序员的决定。我确信Y轴指向上

为什么会这样?我以为z轴通常被认为是向上的?有什么原因吗?这都是相对的。我知道一些游戏使用Y作为up,一些使用Z。这完全取决于程序员以及他们是如何学习的。

这都是相对的。我知道一些游戏使用Y作为up,一些使用Z。这完全取决于程序员和他们是如何学习的。

我想这是因为在学校里,每本数学书的X轴和Y轴都是平的,Z轴是深度轴。

我想这与学校里每本数学书都是这样的事实有关将X轴和Y轴平放在页面上,并将Z轴显示为深度轴。

我想你可能会想知道人们为什么选择这个:

在这方面:


这纯粹是程序员的决定。我确信Y轴指向上的原因只是Y轴指向上的2D惯例的扩展。

我想你可能会想知道为什么人们会选择这样:

在这方面:

这纯粹是程序员的决定。我确信Y轴指向上的原因只是Y轴指向上的2D惯例的扩展。

这只是惯例

OpenGL的默认(标识)
GL_MODELVIEW
矩阵设置为向前看-Z和+Y向上。它可能会影响开发人员,但这一切都取决于您。实际上,最近的OpenGL放弃了固定管道,因此矩阵,所以这(技术上)不再适用

我不知道DirectX的惯例。

这只是惯例

OpenGL的默认(标识)
GL_MODELVIEW
矩阵设置为向前看-Z和+Y向上。它可能会影响开发人员,但这一切都取决于您。实际上,最近的OpenGL放弃了固定管道,因此矩阵,所以这(技术上)不再适用


我不知道DirectX的约定。

正如其他人所说,这是一个任意约定。但以下是它是如何自然产生的,在OpenGL中(与XNA无关):


如果在监视器上显示2D图像,则该图像具有X和Y坐标,Y坐标向上(或向下)。如果该2D图像是3D场景的投影,则获得Z坐标;保持坐标变换尽可能简单,Y仍然向上(Z向外)。

正如其他人所说,这是一种任意约定。但以下是它是如何自然产生的,在OpenGL中(与XNA无关):


如果在监视器上显示2D图像,则该图像具有X和Y坐标,Y坐标向上(或向下)。如果该2D图像是3D场景的投影,则获得Z坐标;保持坐标变换尽可能简单,Y仍然向上(Z是向外的)。

感谢您对其来源的解释。感谢您对其来源的解释。您有一些独特的教科书。从微积分开始,我们学习到Z轴是垂直的,Y轴是水平的,X轴是深度。在我看来,拥有XNA 3D编程背景的人似乎是最落后的代表。你有一些独特的教科书。从微积分开始,我们学习到Z轴是垂直的,Y轴是水平的,X轴是深度。在我看来,拥有XNA 3D编程背景的人总是认为这是最落后的表现形式。