现在开始学习3D基础相关的知识,本系列的数学相关笔记是基于阅读书籍《3D数学基础:图形与游戏开发》而来,实现代码使用AS3,项目地址是:https://github.com/hammerc/hammerc-Snake3D-as3https://github.com/hammerc/hammerc-Snake3D-as3-examples,而3D类库代码则是模仿Away3D的设计来编写的,实现上尽可能模仿Away3D,部分修改的地方学习笔记中会进行特别说明。

言归正传,先看看2D方面,对于2D的笛卡尔坐标系,一共有8种表示方式:

如果N表示y轴,E表示x轴,那么一般2D的坐标系选择的是第二行的第二列来表示(比如Flash中的坐标系),2D坐标系有一个特点,无论使用任何表示方式都可以通过旋转变成任意一种表示方式。

当我们再添加一个轴变成3D坐标系后呢?

左手坐标系和右手坐标系

在3D笛卡尔坐标系中,表示方式变成了48种,并且一种表示方式不能通过旋转任意变换为另一种表示方式了。

但是如果分为24种左手坐标系表示法和24种右手坐标系表示法,在左手或右手坐标系中,2D的定律任然管用,即无论使用任何表示方式都可以通过旋转变成任意一种表示方式。

下面我们看看图片:

书中使用的是左手坐标系,(表示方法是:+x,+y,+z分别指向右方,上方,前方),而Away3D也使用了左手坐标系,我的小类库也就一起使用左手坐标系了。

另外说一下,目前很火的Unity3D也是使用的左手坐标系,但左手和右手坐标系并无好坏之分,只是在计算机图形中一般使用左手坐标系,而在线性代数中更倾向于使用右手坐标系。

如果我们在处理一些运算或使用3D建模软件时,需要特别的看一下其使用的坐标系是否和我们使用的一致,否则会导致错误的结果。

当然左手坐标系和右手坐标系的转换也非常简单,一般来说,我们只要改变任意一个轴的方向为反向即可。

多坐标系

我们在实际使用时不会只使用一个坐标系,而通常会使用到多个坐标系,下面我们来具体的看看:

坐标系嵌套

我们可以从2D空间开始看,在Flash的2D显示列表中是呈现一种树形的结构,每个显示对象都会有一套自己的坐标系,这称为坐标系嵌套,那么在3D中也是一样的情况。

世界坐标系

世界坐标系表示当前空间中最根部的坐标系,可以理解为flash2D中的stage或root对象,可以将世界坐标系看做绝对坐标系。

物体坐标系

即每个显示对象的坐标系,可以看做本地坐标系或相对坐标系。简单的来说,如果在世界坐标系中有一个人,我们叫他“向前走”是按他的本地坐标系来处理,这个人面向的方向不同,其行走的方向就不同,但是对他来说都是向前走,而如果叫他“向东走”,则是按世界坐标来处理,无论这个人面向的方向如何,都应该是走向世界坐标系的东方。

摄像机坐标系

摄像机坐标系可以看做一种特殊的物体坐标系,摄像机要解决的问题是如何把3D空间中的物体正确的显示到屏幕(2D空间)上。

惯性坐标系

惯性坐标系是一种辅助坐标系,其目的是用来简化两个坐标系之间的转换。惯性坐标系总是平行于世界坐标系,即其只表示物体坐标系相对于世界坐标系的平移,而不管物体坐标系的旋转,将多个操作进行简化。

【3D研发笔记】之【数学相关】(一):坐标系的更多相关文章

  1. Python学习笔记17:标准库之数学相关(math包,random包)

    前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e   # 自然常数e math.pi  # 圆周率pi 运算函数 math ...

  2. DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析

    DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析 彭会锋 本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究 感觉TI的寄存器命名还是有一定规律可循的 SEL ...

  3. codeforces 687B - Remainders Game 数学相关(互质中国剩余定理)

    题意:给你x%ci=bi(x未知),是否能确定x%k的值(k已知) ——数学相关知识: 首先:我们知道一些事情,对于k,假设有ci%k==0,那么一定能确定x%k的值,比如k=5和ci=20,知道x% ...

  4. [自用]多项式类数学相关(定理&证明&板子)

    写在前面 由于上一篇总结的版面限制,特开此文来记录 \(OI\) 中多项式类数学相关的问题. 该文启发于Miskcoo的博客,甚至一些地方直接引用,在此特别说明:若文章中出现错误,烦请告知. 感谢你的 ...

  5. [总结]数论和组合计数类数学相关(定理&证明&板子)

    0 写在前面 0.0 前言 由于我太菜了,导致一些东西一学就忘,特开此文来记录下最让我头痛的数学相关问题. 一些引用的文字都注释了原文链接,若侵犯了您的权益,敬请告知:若文章中出现错误,也烦请告知. ...

  6. Irrlicht 3D Engine 笔记系列 之 自己定义Animator

    作者: i_dovelemon 日期: 2014 / 12 / 17 来源: CSDN 主题: Custom Animator, Referenced count 引言 在昨天的文章<Irrli ...

  7. [总结]多项式类数学相关(定理&证明&板子)

    目录 写在前面 前置技能 多项式相关 多项式的系数表示 多项式的点值表示 复数相关 复数的意义 复数的基本运算 单位根 代码相关 多项式乘法 快速傅里叶变换 DFT IDFT 算法实现 递归实现 迭代 ...

  8. [总结]其他杂项数学相关(定理&证明&板子)

    目录 写在前面 一类反演问题 莫比乌斯反演 快速莫比乌斯变换(反演)与子集卷积 莫比乌斯变换(反演) 子集卷积 二项式反演 内容 证明 应用举例 另一形式 斯特林反演 第一类斯特林数 第二类斯特林数 ...

  9. Java.util.Math类--数学相关的工具类

    Math类--数学相关的工具类 java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作. public static double abs(double ...

随机推荐

  1. Windows8、Windows8.1和Microsoft Office 2013激活

    KMS激活软件: 什么是KMS?什么是伪激活?http://tieba.baidu.com/p/3224677648 KMSpico激活软件:链接: http://pan.baidu.com/s/1e ...

  2. DX 绘制位图

    简单地学习了四个API: HRESULT CreateOffscreenPlainSurface( [in] UINT Width, // 宽度 [in] UINT Height, // 高度 [in ...

  3. 211. Add and Search Word - Data structure design

    题目: Design a data structure that supports the following two operations: void addWord(word) bool sear ...

  4. POJ3660——Cow Contest(Floyd+传递闭包)

    Cow Contest DescriptionN (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a prog ...

  5. 【HDOJ】2459 Maximum repetition substring

    后缀数组+RMQ. /* 2459 */ #include <iostream> #include <sstream> #include <string> #inc ...

  6. NPOI的版本查看

    从github上clone源代码 git clone https://github.com/tonyqus/npoi.git 下载的版本库中,有一个名为Release Notes.txt的文件,在这个 ...

  7. Android-xUtils框架介绍(二)

    昨天对xUtils整体上做了一个简单的介绍,今天咱们就代码码起,真刀实枪的也看看,看看如何快速便捷的把xUtils给集成到大家的项目中去.xUtils中有四大组件可以供我们使用,分别是ViewUtil ...

  8. bzoj1293

    简易贪心+heap 注意要用链表 type link=^node;      node=record        loc:longint;        next:link;      end;   ...

  9. Flash挡住DIV的解决方法

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://down ...

  10. BZOJ_1020_[SHOI2008]_安全的航线flight_(计算几何+二分)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1020 给出一条航线(折线),给出\(c\)个陆地(多边形).求航线上距离陆地的最近距离最远的距 ...