【3D数学基础】笛卡尔坐标系统

计算机图形学第一准则:近似原则如果它看上去是对的它就是对的

一、 1D数学

就是小时候学过的数轴概念

研究自然数和整数的领域称为离散数学,研究实数的领域称为连续数学

现实世界中使用的术语“实数”,通常是离散的意思。

3D虚拟世界的设计也是与现实世界相同的,要处理的是一系列离散和有限的事物,可以使用C++提供的多种数据类型来描述3D虚拟世界,包括short、int、float和double。这些数据类型都是离散的。

为虚拟世界选择度量单位的关键是选择离散的精度。


二、2D笛卡尔数学

我们上课学的坐标轴都是笛卡尔坐标系。

我们可以自定义坐标轴的x与y轴的方向。但是,无论我们为x轴和y轴选择什么方向,总能通过旋转使x轴向右为正,y轴向上为正。所以从某种意义上来说,所有2D坐标系都是“等价”的。

但是这种说法对3D坐标系是不成立的。


在2D笛卡尔坐标系中定位点

坐标系是一个精确定位点的框架。坐标的每一个分量都表达了该点与原点之间的距离和方位。确切地说,每个分量都是到相应轴的有符号距离请添加图片描述


三、从2D到3D

把3D中的x轴、y轴等同于2D中的x轴、y轴是不准确的。
3D中,任意一对轴都定义了一个平面并垂直于第3个轴(如:z轴垂直于xy轴面、y轴垂直于xz轴、x轴垂直于yz轴)。
我们可以认为这3个平面是3个2D笛卡尔空间。则可以用xz平面来表示“地面”的2D笛卡尔平面。

请添加图片描述

在3D笛卡尔坐标系中定位点

在3D中定位一个点需要3个数:x、y和z,分别代表该点到yz、xz和xy平面的有符号距离
请添加图片描述

左手坐标系和右手坐标系

全面提到所有的2D坐标系都是“等价”的。但是在3D坐标系中却不成立。

传统的计算机图形学使用左手坐标系,而线性代数则倾向于使用右手坐标系。

请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_60154963/article/details/125357259