首页 百科知识 三维可视化模型构建关键技术

三维可视化模型构建关键技术

时间:2022-11-01 百科知识 版权反馈
【摘要】:三维空间的数学表示中,采用有向线段表示空间向量。几何学上,空间向量的大小是表示空间向量的有向线段的长度值,向量的大小又称为向量的模。在某些特殊情况下,有的矩阵仅仅有一行元素或者只有一列元素,这种矩阵被称做行向量和列向量。例如V和U就分别是行向量矩阵和列向量矩阵:对于行向量矩阵或者列向量矩阵来说,只需要用一个数字下标,或者用一个字母下标来表示行向量和列向量的成员即可。

3.1.1 三维空间中的向量

三维空间的数学表示中,采用有向线段表示空间向量。空间向量的属性参数是空间向量长度和空间向量方向。在用向量来表示空间物理模型时,包括长度和方向两个参数值。在某些情况下,我们可能只需要其中一个参数值,在计算机图形学中,对于三维空间信息的模型,利用空间向量的方向参数来模拟空间模型的方向值,如三维空间中的光线照射方向、三维空间实体构建的多边形方向、在三维虚拟空间中创建的摄像机方向。空间向量为三维实体空间方向的数学模型表示提供了理论基础。

3.1.1.1 向量相等

数学理论中,两个向量完全相等的条件首先要求有相同的维数,而且必须包括有同样的方向和相同的长度。几何学上,有完全同样的维数和相等分量的向量叫做向量的相等。比如,如果ux=vx,uy=vy,且uz=vz,那么(ux,uy,uz)=(vx,vy,vz)。在代码中可以用“”判断两个向量相等。

D3DXVECTORu(1.0f,0.0f,1.0f);

D3DXVECTORv(0.0f,1.0f,0.0f);

if(u v)return true;

同样的,也能用“!=”判断两个向量不相等。

if(u!=v)return false。

3.1.1.2 计算向量大小

几何学上,空间向量的大小是表示空间向量的有向线段的长度值,向量的大小又称为向量的模。可以使用下面的公式来计算向量的模。

3.1.1.3 标准化向量

标准化向量是向量的模的值等于1,即单位向量。可以使用当前向量的模的值和向量的各个分量的值把一个向量标准化。

3.1.1.4 向量相加

向量的和是使用向量的每个分量分别进行相加得到的,但是两个向量能够相加的条件是向量的维数必须完全相同。

3.1.1.5 向量相减

向量相减是使用向量的每个分量分别相减得到的,同样,两个向量能够相减的条件是向量的维数必须完全相同。

3.1.1.6 数乘

数乘就是用一个数与一个向量进行乘法运算,这种计算的方法可以是向量按数字的比例进行变化,但是数乘并不能够改变向量的空间方向,其中一种特殊情况就是用负数去与一个向量相乘,但是方向的改变也仅仅是使方向相反。

3.1.1.7 点乘

数学意义上的点乘计算是指两个向量的乘法运算。具体的计算方法按照下面的公式计算:

公式(3-6)从表面上并不能看出明显的几何意义,但是如果利用余弦定理进行推导便可以看出其中的联系。

u·v=‖u‖‖v‖cosθ,两个向量的点乘运算是两个向量的模和两个向量在空间中夹角的余弦乘积值。如果u和v都是单位向量,即它们的模的值都等于1,那么u·v就是它们夹角的余弦,可以利用该特性得到两个向量在空间中的方向关系。

如果u·v=0,那么u⊥v。

假如u·v>0,那么u和v的夹角θ小于90°。

假如u·v<0,那么u和v的夹角θ大于90°。

3.1.1.8 叉乘

叉乘运算求出的仍然是一个向量,而不像点乘的运算,仅仅求出的是一个标量。两个向量u和v通过叉乘运算,可以得到另外一个向量p,计算出来的向量p在方向上垂直于u和 v,也就是说向量p垂直于u并且同时垂直于v。

叉乘的计算方法如下:

3.1.2 矩阵

m×n的矩阵是指由m行和n列的元素组成的矩阵行列式。行的值和列的值分别表示了矩阵在行和列上的维数,并且通过右下角的数字表示行和列的值,区分出矩阵中的各个元素,右下角数字中的第一个数字表示该元素所在的行,第二个数字表示该元素所在的列。例如下面的A是3×3矩阵,B是2×4矩阵,C是3×2矩阵。

在某些特殊情况下,有的矩阵仅仅有一行元素或者只有一列元素,这种矩阵被称做行向量和列向量。例如V和U就分别是行向量矩阵和列向量矩阵:

对于行向量矩阵或者列向量矩阵来说,只需要用一个数字下标,或者用一个字母下标来表示行向量和列向量的成员即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈