多坐标系


3.1 为什么要使用多坐标系?

不同的情况下使用不同的坐标系更加方便。(定义一个坐标系是为了我们方便描述一件事情,而在不同的领域它有不同的作用,比如相对论)


3.2 一些有用的坐标系

  1. 世界坐标系。整个世界的坐标系(理论上的)。

    1. 每个物体的位置和方向。
    2. 摄像机的位置和方向。
    3. 世界中每一点的地形是什么(如山丘、建筑、湖泊等)。
    4. 各物体从哪里来、到哪里去(NPC的运动策略。)。
  2. 物体坐标系。物体本身的坐标系(每个物体都有自己的坐标系,轴必两两垂直,但并不一样会与世界坐标系轴平行)。
    1. 周围有需要互相作用的物体吗?(我要攻击它吗?)
    2. 哪个方向?在我前面吗?我左边一点?右边?(我应该向它射击还是转身就跑?)
  3. 摄像机坐标系。2D平面可以看到的3D场景(我们电脑能看到的3D场景)。
    1. 3D空间中的给定点在摄像机前方吗?
    2. 3D空间中的给定点在屏幕上,还是超出摄像机平截椎体的左、右、上、下边界?(平截椎体就是摄像机能观察到的金字塔区域)
    3. 某个物体是否在屏幕上?它的部分在,或全部不在?
    4. 两个物体,谁再前面?(该问题称作可见性检测)
  4. 惯性坐标系。与世界坐标系的轴平行,并且与物体坐标系具有相同原点的坐标系。

3.3 嵌套式坐标系

想象一下,我们每个物体都有自己的坐标系。举例子(一只羊):羊的身体,羊的头部、尾巴、鼻子、眼睛、耳朵、4条腿。身体坐标系中可以嵌套头部的坐标系,而头部的坐标系可以嵌套鼻子、眼睛、耳朵的坐标系。这样就嵌套了坐标系。从而方便了我们的描述(例如耳朵轻微晃动,只要改变耳朵的物体坐标系)。


3.4 描述坐标系

我们要提出一个重要的问题:怎样在一个坐标系中描述另一个坐标系?

其实就是将各个坐标之间原点的描述。想象一下,你已经知道世界坐标系与物体坐标系的原点。并且物体坐标系的原点坐标在世界坐标系中已经是一个已知的点,假设是这个物体坐标系的原点在世界坐标系中为(1,1,1)吧。那我们就可以通过(1,1,1)这个点对物体坐标系上每个点做四则运算,就可以知道这个物体坐标系上的任意一点在世界坐标系的描述。


3.5 坐标系转换

当然,上面的方法如果算起来,会特别麻烦。因为我们用的是物体坐标系与世界坐标系之间的转换,如果物体坐标系与世界坐标系的轴不是平行的话,那我们就需要进行很复杂的计算。

因此,我们引入了惯性坐标系,作为中介。先将物体坐标系旋转成惯性坐标系(我们知道惯性坐标系与世界坐标系平行,并且以物体坐标系作为原点),再将惯性坐标系转换成世界坐标系。

这样,我们就得到一个从物体坐标系到世界坐标系的转换。而且相当的方便,因为我们只要经过一次旋转+几次平移就可以得到我们想要的物体坐标系在世界坐标系上的描述。

3D数学基础:图形与游戏开发---随笔三相关推荐

  1. 3D数学基础:图形与游戏开发---随笔五

    向量运算 5.1 线性代数与几何 数学中专门研究向量的分支称作线性代数. 5.2 符号约定 变量是代表未知量的占位符.本书用不同的字体来区分不同的变量: 标量,用斜体的小谢罗马或者希腊字母表示,如a. ...

  2. 3D数学基础:图形与游戏开发---随笔四

    向量 向量是2D.3D数学研究的标准工具. 4.1 向量--数学定义 对数学家而言,向量就是一个数字列表,对程序员而言则是另一种相似的概念--数组.数学上,一个向量就是一个数组. 数学上,区分向量和标 ...

  3. 3D数学基础:图形与游戏开发---随笔二

    笛卡尔坐标系统 笛卡尔不仅创立了解析集合,将当时完全分离的代数学和几何学联系到一起,还在回答"怎样判断某件事物是真的?"这个哲学问题上迈出了一大步,使后来的一代代哲学家能够轻松起来 ...

  4. 3D数学基础:图形与游戏开发---随笔一

    简介 1.1 什么是3D数学 3D数学是一门和计算几何相关的学科,计算几何则是研究用数值方法解决几何问题的学科.这两门学科广泛应用于那些使用计算机来模拟3D世界的领域. 1.3 阅读本书需要的基础知识 ...

  5. 3d数学基础:图形和游戏开发(第2版)_游戏引擎编程需要哪些基本数学知识?

    现今,想要从头写一个功能强大的3D引擎,个人的力量恐怕难以胜任,即使能力足够,时间恐怕也不允许.在这个美好的开源时代,你只需具备修改各种引擎的能力便足以满足开发游戏的各项需求.现代游戏引擎的复杂级别已 ...

  6. 3d数学基础图形与游戏开发第二版_游戏开发完整学习路线,都在这里了

    在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的. 平台与编程语言选 ...

  7. 3d数学基础图形与游戏开发 英文版_1850款文字标题字幕条,AE图形预设包,logo生成神器...

    2019最新1850款组文字LOGO动画预设,一键生成! 包含图形元素/字幕/logo/动画转场/背景等 所有的元素都支持AE和PR 所有元素的 颜色.位置.大小.文字.Logo等 都可以修改,包含G ...

  8. 3d数学基础:图形和游戏开发(第2版)_人教版五年级数学上册教学计划进度表

    文末有打印资料的方法 往期回顾: 统编版五年级语文上册第1课<白鹭>视频+课件+练习 统编版五年级语文上册第2课<落花生>视频+课件+练习 统编版五年级语文上册第3课<桂 ...

  9. 3D Math Primer for Graphics and Game Development -- 图形与游戏开发(3D数学基础) (简介)...

    3D Math Primer for Graphics and Game Development //z 2014-04-28 13:18:20 L.247'38500 BG57IV3@XCL T20 ...

最新文章

  1. 鸿蒙初开踏青时主要内容,袖珍世界之鸿蒙初开
  2. rea t插件 vscode_推荐VSCode12个比较实用的插件
  3. .net API跨域
  4. Highcharts JS去除Highcharts.com链接的方法
  5. 自我分析colly的robots源码
  6. 一个10篇一作SCI博士的走心分享----宏组学研究之“道” (完整收藏版)!!
  7. 2014.8.20日结
  8. SAP License:更改MM物料基本计量单位
  9. JDBC11 封装+资源配置文件管理
  10. C语言的考试系统,C语言考试系统.doc
  11. 如何给屏幕设置一个充满全屏幕的背景图片
  12. 设计模式---002适配模式(转载自我的老师 Alley-巷子)
  13. var foo = 1; (function foo() { foo = 100; console.log(foo); }()) console.log(foo);
  14. 从《人民的名义》看声纹识别技术在案件侦查中的应用
  15. php禁用session和cookies,session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?...
  16. MMORPG游戏的典型架构
  17. 脱壳2 (15PB pack)
  18. 开心网 开心网 到底哪个是开心网?
  19. point-wise element-wise
  20. win11的数字签名驱动认证关闭

热门文章

  1. NYOJ 837 Wythoff Game
  2. Ubuntu16.04下Hadoop 2.7.3的安装与配置
  3. 使用 JIRA 4.0 + Greenhopper 4.0 进行项目状态跟踪(转)
  4. python-IO多路复用,select模块
  5. pat 乙级1033 旧键盘打字(20)
  6. Java 接口小总结;
  7. sql server 提示无法彻底删除_复制-而无法删除数据库或重新配置发布订阅
  8. JavaScript学习13 JavaScript中的继承
  9. Android开源项目发现---ProgressBar 篇(持续更新)
  10. 在asp.net中控制回车键