3D游戏基础 空间几何(一) 向量与顶点

初学3D时,一个概念让我困扰许久:什么是顶点,什么是向量??

在程序中,顶点和向量都用同一个类型来表示,甚至跟别人讨论是,这二者也会混用,所以初学时就搞得云里雾里的。

事实上,顶点和向量是不同的两个概念。

顶点:表示空间中的位置信息,即 x, y, z 坐标,常用一个三元组 (x, y, z)表示,在变换是可能被扩展为齐次坐标(x,y,z,w), 这时w只是为了方便做矩阵运算而扩展的,通常w为1. 在变换后,可能w会变成非 1 值,这时,就需要做规范化动作,即 (x/w, y/w, z/w, w/w),这个动作的几何意义是将 4D 的齐次空间变换倒3D空间。这类似于,将3D空间的坐标(x, y, z)中某一分量置1,就变换到2D的平面空间一样。顶点可以做平移、旋转、缩放变换。

向量:也是一个三元组 (x, y, z),但是它表示的是一个方向。即从 原点 到 (x, y, z)的方向。它具有长度和方向属性,没有位置属性,所以,它可以拥有很多 平行的等量。它的齐次坐标(x,y,z,w)中,w取0,这时因为取0时,可以对这个坐标做旋转和缩放变换,不能做平移变换。因为向量本身没有位置属性,所以,对它做平移变换是无意义的。

Tips: 一般变换矩阵是 旋转变换矩阵(分为x, y, z轴3个不同矩阵)、缩放矩阵、平移矩阵 的复合矩阵。要复合出变换矩阵,就是按希望的变换顺序将 各个矩阵乘起来。而这个复合矩阵是一个 4 x 4矩阵,要使这个矩阵在对顶点和向量变换时有效,就必须将他们扩展到齐次空间。 

by: loo.tam@gmail.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
3D数学基础在图形与游戏开发中起着至关重要的作用。它是构建3D图形和游戏的数学原理和技术的基础,涵盖向量、矩阵、几何变换、投影等多个方面。 在图形和游戏开发中,我们需要使用向量来表示空间中的位置、方向和大小。通过向量的加法、减法和乘法,我们可以进行各种计算,如对象之间的相对位置、碰撞检测等。 矩阵是另一个基本概念,用于表示和处理几何变换,如平移、旋转和缩放。通过矩阵的乘法,我们可以将一个对象从一个坐标系转换到另一个坐标系。 几何变换是实现物体在三维空间中移动、旋转和缩放的核心技术。通过将对象的顶点坐标与变换矩阵相乘,我们可以实现各种几何变换。 投影是将3D物体映射到2D屏幕上的过程,包括透视和正交投影。通过投影矩阵,我们可以将3D坐标转化为2D坐标,并渲染到屏幕上。 在图形和游戏开发中,我们还需要了解光照、纹理、碰撞检测等相关概念和技术。例如,通过了解光照模型和纹理贴图,我们可以实现更加逼真的图像效果。碰撞检测则是实现游戏物体之间的交互和碰撞反应的重要技术。 总之,3D数学基础在图形与游戏开发中是不可或缺的。它提供了实现3D图形和游戏的数学原理和技术,包括向量、矩阵、几何变换和投影等方面的知识。通过掌握这些基础知识,开发者可以更好地理解和应用相关技术,实现出更加真实和精美的3D图形和游戏作品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值