3D游戏基础 空间几何(一) 向量与顶点
来源:互联网 发布:centos没有vim 编辑:程序博客网 时间:2024/05/11 22:10
初学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
- 3D游戏基础 空间几何(一) 向量与顶点
- 3D游戏基础 空间几何(二) 向量运算
- 向量几何在游戏编程中的使用【6】3-D空间中的基变换与坐标变换
- 向量几何在游戏编程中的使用6 -- 3-D空间中的基变换与坐标变换
- 3D游戏基础 空间几何(三) 变换、平面、射线
- 3D游戏引擎数学基础3--向量(下篇)
- 3D游戏引擎数学基础2--向量(上篇)
- 3D数学基础:图形与游戏开发(第6章3D向量类)笔记
- 3D数学基础 图形与游戏开发的学习 第四章 向量
- DirectX 游戏编程之3D空间,顶点缓存及索引缓存
- 【directX 3D游戏开发】DirectX 中的空间坐标和灵活顶点格式使用
- 向量几何在游戏编程中的使用【3】2-D边界碰撞检测
- 向量几何在游戏编程中的使用3-2-D边界碰撞检测
- 推荐一本3D基础的书----《3D数学基础图形与游戏开发》
- 《3D数学基础:图像与游戏开发》读书笔记(一)
- 三维几何基础(3D?)
- 3D图形学(一):三维几何学基础(2):向量点乘
- 3d数学基础-向量
- 社会生活中的著名法则
- 什么是CMS系统?
- 复杂查询语句的使用,Oracle
- 网络socket编程指南
- set define off 在数据库脚本中的作用说明
- 3D游戏基础 空间几何(一) 向量与顶点
- 制作图书管理信息系统,欢迎下载使用!
- 微软Windows史上20大鸡肋功能揭晓
- 试验网站#1搜索引擎优化收录情况记录(断续运行)2007-8-1
- 试验网站#3搜索引擎优化收录情况记录2007-8-1
- 团队开发利器CVS培训基础讲义
- 转 P2P之UDP穿透NAT的原理与实现
- Spring AOP 入门实例
- xSocket和MINA