.2.3 投影变换

3.2.3.1 基本概念

在计算机图形软件中所采用笛卡尔(cartesian)直角三维坐标系统,按照z轴方向的不同有两种形式:

1右手系统:当用右手握住z轴时,大姆指指向z轴的正方向(图3.20(a)),其余四个手指从x轴到y轴形成一个弧。

2左手系统:当用左手握住z轴时,大姆指指向z轴的正方向(图3.20(b)));其余四个手指从x轴到y轴形成一个弧。

分量(x,y,z)描述,这样的物体称为三维物体。要想将一个三维物体描画在一个二维的平面,如纸面,荧光屏面上,必须对三维物体进行投影。投影(project)是一种使三维对象映射为二维对象的变换。它可描述为:

project(object(x,y,z))→object(x′,y′)

投影的要素除投影对象,投影面外,还有投影线。按照投影线角度的不同,有两种基本投影方法:

1平行投影(parallel projection)。它使用一组平行投影将三维对象投影到投影平面上去(图3.21(a))。

2透视投影(perspective projection)。它使用一组由投影中心产生的放射投影线,将三维对象投影到投影平面上去。

在图3.21中,F为投影平面;p1p2为三维直线;p′,p′是p1p2在F上的投影;虚线显示投影线;o是投影中心。

由平行投影方法表现三维对象的图,称为正视图和轴测图,由透视投影方法表现三维对象的图,称为透视图。在以下几节的讨论中,假设投影面与xoy面重合,即在投影面上z=0。

投影变换--透视投影和正交投影相关推荐

  1. 第25节 实例-透视投影和正交投影切换

    问题描述 今天我发现网友们竞然在透视投影和正交投影切换上存在问题,不知道怎么切,而且切出来问题很多.说良心话我就不是特别理解,因为这就是一句话的事情呀,我写出这个例子:双击,当前是透视就转成正交,当前 ...

  2. 【OpenGL ES】 Android OpenGL ES -- 透视投影 和 正交投影

    博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源码下载 : http://download.csdn.net/det ...

  3. 变换Transformation(2)(笔记)

    文章目录 三.三维变换 预览 三维旋转变换 欧拉角(Euler angles) 罗德里格旋转公式(Rodrigues' Rotation Formula) 四.视图/摄像机变换(View/Camera ...

  4. 图形学笔记(四)变换——三维变换(三维旋转与欧拉角)、MVP变换、视图变换、投影变换(正交投影与透视投影)

    图形学笔记(三)变换--缩放.镜像.切变 图形学笔记(五)光栅化--屏幕.像素.屏幕空间.视口变换.基础图元与三角形.采样.包围盒.锯齿或走样 文章目录 1 三维空间中的变换 1.1 三维空间中的齐次 ...

  5. 【3】现代计算机图形学(正交投影,透视投影,MVP变换)

    导读 本节主要总结MVP变换(Model-View-Projection),来说明三维空间中的物体是如何映射到二维屏幕上的. 知识点 View/Camera Transformation(视图/相机变 ...

  6. 计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换

    本章主要进行了视图/相机变换的求解,和两种投影变换的求解(正交投影.透视投影),并且简单的完善了3D旋转变换的介绍. 主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的, ...

  7. 关于透视投影的深入理解

    文章目录 一些术语 齐次坐标可除性 简单的线性插值 透视投影变换 1. 用透视变换矩阵把顶点从视锥体中变换到裁剪空间的CVV中. 2. CVV裁剪完成后进行透视除法 重要的简化 程序处理与理论的不同 ...

  8. 在透视投影中物体z分量大小的变化

    概念: 透视投影是用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图.它具有消失感.距离感.相同大小的形体呈现出有规律的变化等一系列的透视特性,能逼真地反映形体的空间形象. ...

  9. OpenGL透视投影原理与实现

    透视投影的原理和实现 by Goncely 转自:https://blog.csdn.net/wong_judy/article/details/6283019#t2 摘  要 :透视投影是3D渲染的 ...

最新文章

  1. AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)
  2. 手撕面试题:多个线程交替打印问题
  3. 实用工具篇(三):Free Mybatis plugin
  4. 90 % Java 程序员被误导的一个性能优化策略
  5. jsp+js实现二级级联
  6. ROS开发时的服务器启动命令
  7. arm workbench ide 用户指南_ARM_异常和中断
  8. ihtml2document能不能根据id获取dom_JavaScript学习笔记(十三)-- DOM(上)
  9. Redis集群模式部署
  10. 解决Oracle11g密码180天过期,账号锁住的问题
  11. RxJava--takeWhile,takeUntil,(附带filter)的特性总结
  12. flume和sqoop导数据的区别
  13. 递归 人理解循环 神理解递归
  14. Mesos超配:让集群利用率可以达到100%
  15. Linux里如何查找文件内容
  16. LeetCode使用简介(leetcode中国-力扣)
  17. 软件开发的一些感想(五年工作总结版)
  18. 在线客服代码:在线QQ客服、在线旺旺客服
  19. Ubuntu16.04安装Nvidia显卡驱动与cuda和Cudnn
  20. 工业物联网实践指南----专注生产制造活动

热门文章

  1. 解决0X80042412错误,恢复已备份的Widows 8.1系统镜像到另一个固态硬盘。
  2. MySQL理论基础以及sql语法
  3. KVM+WebVirtMgr部署安装笔记
  4. 混合罚函数法matlab报错,罚函数法MATLAB程序
  5. 【计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩】 https://b23.tv/jRN6MVh
  6. sa-token使用
  7. C语言:账号登陆问题
  8. Spark学习-DAY1
  9. vue中鼠标移入移出事件种类以及区别
  10. 常见HTTP错误码定义