上方向向量在DirectX中的作用是什么?

上方向向量在DirectX中的作用是什么?,directx,Directx,正如您所知,当我们想要在DirectX中绘制三维对象时,我们应该定义 照相机。现在我们有一个设备对象,它的名称是“device1”。这是我的问题: device1.View=Matrix.Look…(新向量3(),新向量3(),新向量3()); 参数#3是上方向向量。它到底做什么?顾名思义,它定义了“向上”的方向。这是一件相当重要的事情。你需要知道相机的位置,你需要知道它所面对的方向,但你也需要知道它是如何转动的——也就是说,什么会被视为上下左右 在现实世界中,我们视野的“向上”向量(通常)由重

正如您所知,当我们想要在DirectX中绘制三维对象时,我们应该定义 照相机。现在我们有一个设备对象,它的名称是“device1”。这是我的问题: device1.View=Matrix.Look…(新向量3(),新向量3(),新向量3());
参数#3是上方向向量。它到底做什么?

顾名思义,它定义了“向上”的方向。这是一件相当重要的事情。你需要知道相机的位置,你需要知道它所面对的方向,但你也需要知道它是如何转动的——也就是说,什么会被视为上下左右


在现实世界中,我们视野的“向上”向量(通常)由重力场暗示,也就是说,它与地球施加的重力向量相反(向上,而不是向下!)。

在相机矩阵中,需要形成一个“正交”基矩阵来描述坐标系

如果考虑任何三维坐标系,则有3个轴。X轴(或侧/侧向量)、Y轴(上向量)和Z轴(方向向量)

简单地说,上方向向量对于定义坐标系很重要

行主基矩阵定义如下:

xx, xy, xz, 0
yx, yy, yz, 0
zx, zy, zz, 0
px, py, pz, 1
xx,xy,xz是定义x轴的3矢量,yx,yy,yz是定义y轴的,zx,zy,zz是定义z轴的,px,py,pz是定义位置矢量的

如果你想一想,如果你把上方向向量指向下,那么你会看到所有的东西都是颠倒的。。正确的?此外,由于没有将上方向向量旋转到下方向位置,您还将注意到侧方向向量指向错误的方向,因此您将看到在X轴上镜像的东西以及倒置的东西