3D数学读书笔记——笛卡尔坐标系统
本系列文章由birdlove1987编写,转载请注明出处。
文章链接: http://blog.csdn.net/zhurui_idea/article/details/24601215
1.3D数学是一门和计算机几何相关的学科,计算几何则是研究用数值方法解决几何问题的学科。3D数学讲解如何在3D空间中精确度量位置、距离和角度。
2.在3D数学里使用最广泛的度量体系是笛卡尔坐标系统。(笛卡尔数学由法国数学家Rene Descartes发明,并以他的名字命名)
3.关于数的类型:实数包含有理数和无理数(如果用小数表示小数后面有无穷多位)。
实数数学被很多人认为是数学中最重要的领域之一,因为它是工程学的基础,人类使用实数创建了文明。
最酷的事情是有理数可数,而实数不可数。研究自然数和整数的领域称作离散数学,研究实数的领域称作连续数学。
(许多物理学家们都认为:实数只是一种错觉,因为宇宙是离散和有限的。)
4.c++提供的多种数据类型来描述3D虚拟世界,包括short,int,float和double。
short是16位整数,可以代表65536个不同的数值,虽然这个数很大,但是量度现实世界还是远远不够的。
int是32位整数,可以代表4,294,967,296个不同的数值。
float是32位有理数,可以代表4,294,967,296个数值。
double是64位有理数,与float类似。
5.为虚拟世界选择度量单位的关键是选择离散的精度。有一种错误的观点认为short、int是离散的,而float、double是连续的,而实践上这些数据类型都是离散的。
计算机图形学第一准则:近似原则 如果它看上去是对的它就是对的。(感觉应该叫计算机实现第一准则—_—!)
6.2D笛卡尔坐标系有以下两点定义:
A. 每个2D笛卡尔坐标系都有一个特殊的点,称作原点(Origin(0,0)),它是坐标系的中心。
B. 每个2D笛卡尔坐标系都有两条过原点的直线向两边无限延伸,称做轴(axis)。两个轴相互垂直。
笛卡尔坐标系特点:
A. 2D坐标空间是无限伸展的。
B. 坐标系中的直线没有宽度,坐标系中每个点都是坐标系的一部分。
7.2D笛卡尔坐标系:水平的轴称作X轴,向右为X轴的正方向,垂直的轴称作Y轴,向上为Y轴的正方向,这是表示2D坐标系的惯用法。(注意:名词“水平”和“垂直”实际上并不准确)。
8.如下图,无论我们为X轴和Y轴选择什么方向,总能通过旋转使X轴向右为正,Y轴向上为正。所有从某种意义上讲,所有的2D坐标系都是“等价”的。
ps:这种说法对3D坐标系是不成立的。
9.关于2D笛卡尔坐标系的其他一些概念:
A. 在2D平面中,两个数(x,y)就可以定位一个点,且2D坐标的标准表示法就是(x,y)。
B. (x,y)每一个分量都是到相应的轴的有符号距离,x分量表示该点到Y轴的“有符号距离”。同样Y分量表示该点到X轴的“有符号距离”。
ps:有符号距离是指在某个方向上距离为正,而在相反的方向上距离为负。
10.3D坐标系:我们需要用3个轴来表示三维坐标系,前两个轴称作X轴和Y轴,这类似于2D平面,但并不等同于2D的轴,第3个轴称作Z轴。(3各轴互相垂直)。
11.在3D中定位一个点需要3个数:x,y和z,分别代表该点到yz,xz和xy平面的有符号距离。
12.对于任意的3D坐标系,通过旋转我们只能使用个轴和目标相同,第三个轴总是和目标方向相反。
3D坐标系之间不一定是等价的。实际上,存在两种完全不同的3D坐标系:左手坐标系和右手坐标系。如果同属于左手坐标系或右手坐标系,则可以通过旋转来重合,否则不可以。
左手坐标系和右手坐标系没有好坏之分,在不同的研究领域和不同的背景下,人们会选择不同的坐标系。如果运用某种技术结果不对,那么很可能是弄错了坐标系类型。
ps:以后笔记里使用的都是左手坐标系,也就是左图中的坐标系。(本人刚好是左撇子,嘿嘿—_—!)。
参考文献:(1)《3D Math Primer for Graphics and Game Development》
(2)百度百科
3D数学读书笔记——笛卡尔坐标系统相关推荐
- 3D数学读书笔记——向量运算及在c++上的实现
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24782661 开始之前:接 ...
- 3D数学读书笔记——矩阵基础番外篇之线性变换
本系列文章由birdlove1987编写.转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25102425 前面有一篇文章 ...
- 3D数学读书笔记——3D中的方位与角位移
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25339595 方位和角位移 ...
- 3D数学读书笔记——矩阵进阶
本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25242725 最终要学习矩阵 ...
- 读书笔记 计算机系统--系统架构与操作系统的高度集成 第一章概叙
大二下开始意识到计算机基础的重要性,就去图书馆随缘找了一本机械工业出版社的大部头书籍开始看, 也为了让自己养成总结和记录的习惯,把每一章的内容结构化的写成读书笔记.以后查阅方便. 这本书是集成的,计算 ...
- 读书笔记—用系统来工作
用系统来工作 作者:[美]萨姆·卡彭特(Sam Carpenter) 序一 如果我有八小时去砍一棵树,我会先花六小时磨斧子. --亚伯拉罕·林肯 本质上来说,每个生意都是一个系统,通过共同运作,可靠地 ...
- Unity 中的 3D 数学学习笔记——认识坐标系及坐标系之间的转换
一 :3d空间坐标系 x,y,z 轴 z轴方向确定有两种方式 左手坐标系和右手坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向. 右手坐标系:伸开右 ...
- [读书笔记]Windows系统下的docker…
交流群:216672921 最近刚接触了docker,有很多前辈也写了关于docker的搭建和原理的技术博客,在这里我就分享一下我在不同平台搭建docker遇到d问题以及处理方法,在做一切准备工作之前 ...
- 程序员的数学读书笔记(全)
https://www.jianshu.com/p/28a8e58f37aa 第1章 0的故事 计数法分为按位计数法和罗马计数法 按位计数法常用的有2进制.8进制.10进制.16进制等几种. 理论上多 ...
最新文章
- Poj 2887-Big String Splay
- c++ 多线程 垃圾回收器_JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器)...
- Ubuntu复制相同的目录结构(不复制文件)
- Matplotlib基础(part2)--图形对象
- C++与Java语法上的不同,互联网 面试官 如何面试
- php微信公众号测试号token配置失败,微信公众号Token配置失败解决办法
- 计算机关键性检测的部件是,试论计算机硬件关键技术的若干问题分析
- VIM使用系列:quickfix功能
- 看博客学学Android(二十一)
- wpf之访问当前程序下的图片
- CentOS清除用户登录记录和命令历史方法
- Benefits of 3D CAD Modeling for Today’s Mechanical Engineer
- linux源代码安装apr,linux APR安装 APR-UTIL 安装 源码安装
- 手机话费充值 java实例_手机话费充值接口调用示例
- access IIf函数
- 妙用switch 计算几天是 一年的第几天
- matlab由图像得到复振幅程序,基于Matlab的空间滤波实验的计算机仿真
- vscode下载安装和配置使用
- python实现强智科技教务系统抢课(两种方法)
- GitHub管理代码
热门文章
- Java程序员11面阿里,错失offer,期间还面了EMC+网易+美团......
- [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
- 诺顿等效电路 用计算机,r t norton equivalent circuits (诺顿等效电路).ppt
- 5秒钟用google earth engine(GEE)填补Landsat7条带问题
- BAT、网易、蘑菇街面试题整理
- Rosalind Java| Counting DNA Nucleotides
- FX5U和je-C伺服通讯案例和学习资料
- UBLOX芯片 M8T几个指令总结
- Ublox-F9P USB接口
- 飞飞cms添加广告html,飞飞影视cms-飞飞cms免费影视站程序