zoukankan      html  css  js  c++  java
  • 【计算机图形学】计算机图形学中的坐标系统

    一、简介

      马三最近开始学习计算机图形学了,买了两本书,其中一本是国内的,还是什么大学的教材,不过写得真不咋样啊。另外一本是大名鼎鼎的《计算机图形学》第四版。最近接触了下计算机图形学中的坐标系统,做个笔记。

    二、计算机图形学中的坐标系统

    1.建模坐标系(MC)

      建模坐标系是一个局部坐标系,同时可以是一个典型的平面直角坐标系,它的出现主要是为了模型构建与变换的方便。一般而言,我们总是习惯与将基本形体或图形与某些位于物体上的角点、中心点或靠近它们的点联系起来考虑,比如在创建圆形的时候,一般将圆心作为参考点来创建圆周上其他各点,这时实质上就构建了一个以圆心为原点的参考坐标系。在对圆形进行变换时,类似地,一般以圆心为参考点来进行变换,也较为直观与方便。

    2.世界坐标系(WC)

      一旦对物体进行了建模,下一步就是将各个对象或者图形组合放到我们希望绘制的平面场景中。如上所述,每一个对象在创建时都有自身的建模坐标系,当我们将其组合放置在一起时,为了确定每一个对象的位置及其他对象的相对位置,就必须抛弃每一个对象自身的坐标系,将其纳入到一个统一的坐标系中,这个坐标系称为世界坐标系,也称用户坐标系,它是一个全局坐标系,也是一个典型的平面直角坐标系。这个过程实质上是将一个物体从局部空间组合装配到世界空间的变换过程。

    3.观察坐标系(VC)

      当二维图形场景确定后,用户可根据图形显示的要求定义观察区域和观察方向,得到所期望的显示结果,这其实是需要定义视点(或照相机)的位置与方向,完成从观察者角度对整个世界坐标系内的对象进行重新定位和描述,简化后续二维图形在投影面成像的推导和计算。因此,有必要引入观察坐标系来完成这件事情。下图即为观察坐标系示意图:

      图1:观察坐标系

    4.规范化设备坐标系(NDC)

      为了使观察处理独立于输出设备,我们可以将对象描述转换到一个中间坐标系,这个坐标系既独立于设备,又可以容易地转变成设备坐标系。通常将这个中间坐标系称为规范化设备坐标系,其坐标范围为 [0,1],这样可以使二维观察结果独立于可能使用的各种输出与显示设备,提高应用程序的可移植性与设备无关性。

    5.设备坐标系(DC)

    为了便于输出二维观察结果,DC用于定义图像空间,也称为屏幕坐标系或者像素坐标系。它主要是用于某一特殊的计算机图形显示设备表面的像素定义,在多数情况下,对于每一个具体的显示设备,都有一个单独的坐标系。在定义了显示窗口的情况下,可进一步在设备坐标系中定义称为视区的有限区域。视区的成像即为实际所观察到的。设备坐标系一般都与特定的输出设备相联系,其坐标系是离散的整数值。

       为了便于理解上述概念,下面放几张示意图:

     

       图2:坐标系转换过程

     

      图3:坐标系转换流程示意图

    如果觉得本篇博客对您有帮助,可以扫码小小地鼓励下马三,马三会写出更多的好文章,支持微信和支付宝哟!

           

    作者:马三小伙儿
    出处:https://www.cnblogs.com/msxh/p/9939848.html 
    请尊重别人的劳动成果,让分享成为一种美德,欢迎转载。另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论!

  • 相关阅读:
    第十三周总结
    第十二周总结
    团队冲刺第十五天-KeepRunningAPP
    团队第一阶段冲刺评价
    团队项目KeepRunning第一阶段成果展示
    团队冲刺第十四天-KeepRunningAPP
    第十一周总结
    团队冲刺第十三天-KeepRunningAPP
    CVPR2018关键字生成词云图
    Delphi APP 開發入門(八)SQLite資料庫
  • 原文地址:https://www.cnblogs.com/msxh/p/9939848.html
Copyright © 2011-2022 走看看