zoukankan      html  css  js  c++  java
  • 3D数学学习笔记——笛卡尔坐标系

                                                 本系列文章由birdlove1987编写。转载请注明出处。

      

                                                 文章链接: http://blog.csdn.net/zhurui_idea/article/details/24601215

     

    1.3D数学是一门和计算机几何相关的学科。计算几何则是研究用数值方法解决几何问题的学科。

    3D数学解说怎样在3D空间中准确度量位置距离角度

     

    2.在3D数学里使用最广泛的度量体系是笛卡尔坐标系统。(笛卡尔数学由法国数学家Rene Descartes发明,并以他的名字命名)

     

    3.关于数的类型:实数包括有理数无理数(假设用小数表示小数后面有无穷多位)。

        实数数学被非常多人觉得是数学中最重要的领域之中的一个,由于它是project学的基础,人类使用实数创建了文明。

      最酷的事情是有理数可数。而实数不可数。研究自然数和整数的领域称作离散数学,研究实数的领域称作连续数学

    (很多物理学家们都觉得:实数仅仅是一种错觉,由于宇宙是离散和有限的。)

     

    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)百度百科

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4644483.html
Copyright © 2011-2022 走看看