|
前言(Preface)
前段时间有些朋友在论坛里问到一些关于3D数学的知识,就想为大家写点这方面的文章。由于之前比较忙,又遇到过春节,所以最近才着笔写了这篇文章,希望大家喜欢。这些内容主要是一些理论知识,看上去难免有些枯燥,之后的文章我会加入一些实例进行讲解的。如果内容存在错误和不全,就请你来更正和添加了。
三维坐标系(3D Coordinate System)
三维坐标是把二维的平面坐标推广到三维空间中,在三维坐标中,点(x,y,z)的齐次坐标为(nx,ny,nz,n),其中n为任意不为0的数,规范化的齐次坐标为(x,y,z,1),与之相对应,三维变换的变换矩阵为4×4矩阵。
在三维空间中,我们通常使用右手坐标系(Right-Handed Coordinate System),因为它符合数学上的习惯,而在计算机图形学中,我们会使用左手坐标系(Left-Handed Coordinate System),因为它比较符合日常习惯。其实,我们可以任意的旋转这些坐标系,而图形仍然保持不变。常见的坐标系如下:
屏幕坐标系:相对于显示器的原点的2D坐标系
本地坐标系:相对于对象的原点的3D坐标系
世界坐标系:相对于3D世界的原点三维坐标系
对齐(视点)坐标系:世界坐标系的变换,观察者的位置在世界坐标系的原点。
点(Point)
点是在某一个坐标系中使用坐标值指定的位置。因此,点到坐标原点之间的距离与坐标系的选择有关。点P在坐标系A中的坐标为(0,0,0),而在坐标系B中的坐标则为(x,y,z)。
向量(Vector)
向量是指两点的差值,具有大小和方向,即给定两点,就能唯一确定一个向量,向量的大小和方向与坐标系的选择无关。向量V=(Vx,Vy,Vz)=P1P2=(x2-x1,y2-y1,z2-z1)其中,Vx,Vy和Vz分别为向量V在x,y和z轴上的投影,称为向量V的x分量(x component),y分量(y component)和z分量(z component)。该向量的大小为:
向量V与x,y和z轴形成的方向角(Direction Angle):α,β和γ,其中cosα,cosβ和cosγ称为方向余弦(Direction Cosine)。
上一篇:漫谈EJB (3)
下一篇:使用MetaDataControl从媒体流中收集元数据
|