2.2 变换(模型、视图、投影)

2023-05-16

变换(模型、视图、投影)

  • 三维变换
  • 观测变换(Viewing transformation)
    • 视图 (View)
      • 定义相机
      • 如何将相机移动到约定俗成位置
    • 投影 (Projection)
      • 正交(Orthography) M o \quad M_o Mo
      • 透视(Perspective) M p \quad M_p Mp
      • 透视变换,中间平面的 z z z 坐标如何变化?

三维变换

  • 仿射变换
  • 三维旋转变换
    • 逆时针角度为正
    • 右手系原因,y轴逆时针看去是 zox 平面,所以转角应该是 − α -\alpha α
    • 也可理解为
      • z × x = y   , x × z = − y z \times x = y\ , \quad x \times z = -y z×x=y ,x×z=y
        三维旋转矩阵
  • Rodrigues’ Rotation Formula
    • 给定过原点旋转轴 n, 旋转角 α \alpha α,旋转矩阵如下
    • 非过原点轴,先把轴平移到原点,旋转,再平移回去

RRF旋转矩阵

  • 四元数(略)

观测变换(Viewing transformation)

视图 (View)

  • 什么是视图变换
  • 模型变换与视图变换,两者通常一同处理
    • 改变模型动作,模型变换
    • 改变相机视角,视图变换
    • 拍照,相当于投影变换
  • 为什么要模型 / 视图变换
    • 因为模型有很多顶点
    • 这些顶点坐标是模型空间下的
    • 需要移动到世界坐标
    • 所以要做模型变换

定义相机

  • 位置 / position e ⃗ \quad \vec{e} e
  • 朝向 / gaze direction g ^ \quad \hat{g} g^
  • 向上方向 / Up direction t ^ \quad \hat{t} t^

定义相机

  • 约定俗成的相机
    • 永远放在原点
    • 永远朝向 − Z -Z Z
    • t ^ = Y \hat{t} = Y t^=Y

如何将相机移动到约定俗成位置

  • 相机变换过程
    • 平移到原点
    • 旋转   g ^ = − Z \ \hat{g} = -Z  g^=Z
    • 旋转   t ^ = Y \ \hat{t} = Y  t^=Y
    • 旋转   g × t = X \ g \times t = X  g×t=X
  • 相机变换矩阵推导(旋转矩阵可以逆向思维)
    相机变换矩阵

投影 (Projection)

  • 3D到2D
  • 正交是垂直
  • 透视投影平行线不再平行
    • 近大远小

正交(Orthography) M o \quad M_o Mo

  • 简单的正交投影
    • Z归零
    • 归一化   [ − 1 ,   1 ] \ [-1,\ 1]  [1, 1]
  • 常规的正交投影
    • 立方体中心平移到原点
    • 边长归一化   [ − 1 ,   1 ] \ [-1,\ 1]  [1, 1]
  • 正交变换矩阵如下:
    正交变换矩阵

透视(Perspective) M p \quad M_p Mp

  • 特点
    • 最广泛的投影
    • 近大远小
    • 平行线不再平行
  • 投影方法
    • 从透视变换到正交
    • 正交投影
    • 假设显示屏幕距原点距离为   n \ n  n
  • 透视到投影矩阵推导(根据以下三个点)
    • 通俗的讲,把梯形压缩成长方形
      • 中间点等比例变换
      • 近平面、远平面上的 Z Z Z 坐标不变

压缩图解
( x , y , z , 1 ) → ( x ′ , y ′ , z , 1 ) ( x ′ , y ′ , z ′ , 1 ) → ( x ′ , y ′ , z ′ , 1 ) (x, y, z, 1) \rightarrow (x', y', z, 1) \quad \quad (x', y', z', 1) \rightarrow (x', y', z', 1) (x,y,z,1)(x,y,z,1)(x,y,z,1)(x,y,z,1)

  • 透视变换矩阵如下
    M p = M o ⋅ ( n 0 0 0 0 n 0 0 0 0 n + z − n z 0 0 1 0 ) M_p = M_o \cdot \left( \begin{matrix} n & 0 & 0 & 0 \\ 0 & n & 0 & 0 \\ 0 & 0 & n+z & -nz \\ 0 & 0 & 1 & 0 \end{matrix} \right) Mp=Mon0000n0000n+z100nz0

透视变换,中间平面的 z z z 坐标如何变化?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2.2 变换(模型、视图、投影) 的相关文章

  • mac下终端无法使用数字小键盘的解决方案

    终端下 偏好设置 xff0d 高级 xff0d xff08 去掉 xff09 允许VT100应用程序小键盘模式
  • JAVA中final的用法详解

    1 修饰基本变量的时候 xff0c 必须要有初始值 2 修饰数组等的时候 xff0c 地址不能修改 xff0c 但是对象本身的属性可以修改 span class token keyword final span span class tok
  • Mac Eclipse Failed to load JavaHL Library.

    转自 xff1a http blog csdn net wy10207010219 article details 42294293 写这一篇前我想发表一下感慨 xff1a 你所害怕的事 xff0c 你想要逃避的事 xff0c 在将来的某个
  • Jetson TX2更换软件源

    本文转自 xff1a https blog csdn net qlulibin article details 80271096 TX2的软件源为国外服务器 xff0c 网速会很慢 xff0c 需要换国内的ARM源 备份 etc lib路径
  • 工作一年回忆录

    7月8号跟公司签订劳动合同开始至今已有一周年了 xff0c 是时候坐下想想自己活了些什么东东 这里叙述的都是工作技术记录过程 1 工作环境搭建配置的学习 使用的工具 xff1a sts maven svn tomcat mysql 技术 x
  • 镜头畸变现象及其校正方法

    摄像机校准一般采用小孔成像模型 xff0c 理想的小孔模型是线性模型 xff0c 但是由于存在镜头畸变等原因 xff0c 线性模型通常要加上一些内部参数 xff0c 变成非线性模型 现对产生这一现象的原理以及解决方法进行整理 xff0c 如
  • 【FreeRTOS学习计划】第三节 数据结构—列表与列表项

    本节的目标 我们想从0到1开始实现FreeRTOS xff0c 就需要弄懂列表和列表项的操作 xff0c 因为在FreeRTOS中存在着大量的基础数据结构列表和列表项的操作 FreeRTOS源码里注释的list和list item翻译过来就
  • 【FreeRTOS学习计划】第四节 任务的定义与任务切换的实现

    本节目标 本节属于基础中的基础 xff0c 必须要学会创建任务 xff0c 并重点掌握任务是如何切换的 因为在FreeRTOS任务的切换是由汇编代码来完成的 xff0c 所以代码看起来比较难懂 xff0c 我们耐心细看 本小节我们会创建两个
  • 【FreeRTOS学习计划】 第六节 空闲任务与阻塞延时的实现

    本节目标 我们在第四节任务的定义与任务切换的实现中 xff0c 任务体内的延时用的是软件延时 xff0c 即还是让 CPU 空等来达到延时的效果 使用 RTOS 的很大优势就是榨干 CPU 的性能 xff0c 永远不能让它闲着 xff0c
  • ROS学习笔记(一)ROS安装和helloworld

    ROS学习笔记 xff08 一 xff09 ROS安装和helloworld 文章目录 一 ros安装及测试1 打开ubuntu软件和更新 xff0c 进行如下设置2 设置安装源3 设置安装密钥4 更新软件源5 安装ros6 添加命令7 初
  • 网络管理协议 SNMP V3安装配置

    简单网络管理协议 xff08 SNMP xff09 是常见的一种监控手段 xff0c 目前snmp定义了三个版本的网络管理协议 xff1a SNMP v1 xff0c SNMP v2c xff0c SNMP v3 SNMP v1 xff0c
  • 【计算机游戏开发】游戏交互界面设计

    github项目地址 一 实验目的与要求 熟悉交互界面设计原理 了解Cocos2d x中的用户交互 触摸事件 碰撞检测机制 二 实验内容与方法 完成游戏编译 50分 仿照实验一 英雄快跑 实验 xff0c 将教材源码和素材文件复制到自己的项
  • 电子爱好者常备的工具和材料有哪些?

    万用表 xff1a 也叫多用表 一般可用于电压 电流 电阻的测量 有的还具 有电容 电感 频率测量等功能 电烙铁 xff1a 这个不用多说 xff0c 主要是用来焊接元器件 xff0c 有时也拿来烫烫硅胶 或者塑料什么的 根据加热元件的位置
  • 腾讯笔试

    1 字典序最小 牛牛有个无环的单链表 xff0c 牛可以不停的旋转这个链表 xff0c 比如链表 1 gt 2 gt 3 gt 4 经过旋转后可以变成以下4种链表 4 gt 1 gt 2 gt 3 3 gt 4 gt 1 gt 2 2 gt
  • STM32学习心得(第一天)

    作为一名刚接触STM32的初学者 xff0c 今天通过观看网站上的视频 xff0c 对STM32有了最基础的了解 xff0c 并学到了一些STM32的学习方法 xff0c 自我感觉收获不错 一 学习方法 1 两个学习网址 xff1a 开源电
  • 组原7_程序查询和程序中断方式

    目录 1 I O 方式简介 2 程序查询方式 3 程序中断方式 1 I O 方式简介 2 程序查询方式 程序查询方式流程图 程序查询方式接口结构 一次只能传送一个字的原因在于 xff1a 这种方式下 xff0c 外设传过来的数据是放在寄存器
  • k-近邻实现手写数字识别

    1 k 近邻工作原理 简单地说 xff0c K近邻算法采用测量不同特征值之间的距离方法进行分类 该算法具有一下特点 优点 xff1a 精度高 对异常值不敏感 无数据输入假定 缺点 xff1a 计算复杂度高 空间复杂度高 K近邻算法的工作原理
  • 吴恩达教你读论文:持续而缓慢的学习,才是正道

    转载这篇文章 xff0c 主要是有两句话特别认同 xff1a 持续而缓慢的学习 xff0c 而不是临时抱佛脚 xff0c 才能带来长久的成长 吴恩达 智慧不是学校教育的产物 xff0c 而是终身学习的产物 阿尔伯特 爱因斯坦 以下为原文 x
  • The Lighting Handbook, Tenth Edition 读书札记

    这本照明书可以说是经典了 xff0c 对照明从微观到宏观 xff0c 从理性到感性 xff0c 从物理到艺术洋洋洒洒做了比较充分和严谨的说明 xff0c 书中引用的论文也是浩浩荡荡 xff0c 可以说是一本集结了众多头脑 xff0c 闪烁着
  • 国家电网公司标准化建设成果应用目录(2015)参考书目

    国家电网标准化图集有很多 xff0c 但有时找的时候又很难记住书名 xff0c 因此把2015年之前的书籍目录摘录出来以便查找 目前是最先的版本了 xff0c 另外有一些06年的废止的分册不再列出了 2016年又增加了一本 国家电网公司输变

随机推荐

  • pyecharts——WordCloud词云图

    转自 xff1a pyecharts学习笔记 WordCloud词云图 码农家园 基本 词云图 注意数据格式 xff0c word1 count1 word2 count2 xff0c 可使用 counter 做词频统计 xff0c 生成这
  • 一个中文词云项目的使用总结

    一个中文词云项目的使用总结 用一个pa wordcloud项目来生成词云图的时候碰到了好几个问题 xff0c 一个pillow库安装问题 xff0c 卸载重新安装了最新版本 xff0c 就是numpy版本不匹配问题 xff0c 安装了对应p
  • 圆周率怎么计算来的?教你利用欧拉恒等式,生成圆周率万能公式!

    原文链接 xff1a http www twoeggz com news 4791962 html 在古代 xff0c 缺少数学技巧的情况下 xff0c 圆周率的计算是相当困难的 xff0c 我们国家伟大的数学家 xff0c 天文学家祖冲之
  • 影片avi转rmvb教程

    昨天被迫压制 MS IGLOO 正好学习了下影片avi转rmvb的技术 找来找去发现篇文章似乎不错 现在根据自己的操作过程 xff0c 加点操作心得再内 xff0c 保留一篇备用 xff01 首先还是要有专门压制的的软件 xff0c 之前我
  • 手机摄像头的等效焦距

    笔者随意拿出一张最近评测文章中的样张 xff0c EXIF信息就位于照片的下方 我们看到 xff0c 光圈 ISO感光度 曝光时间 曝光补偿这样的参数都比较好理解 xff0c 唯独这个焦距确实让不少人生疑 焦距 4mm 光圈 f 2 4 I
  • 关于3D打印文件格式:STL、OBJ、AMF、3MF的详解

    很多人对3D打印的数据格式颇有微词 xff0c 辛辛苦苦用三维软件设计好的作品 xff0c 一转换成3D打印格式 xff0c 基本就从白天鹅变成丑小鸭了 xff0c 既没有颜色 xff0c 数据也不完整 xff0c 形状重叠表面破损那是常有
  • 在线绘制函数图像和在线图标绘制网址

    经过寻找 xff0c 找到了几个在线绘制函数图像的网址 xff0c 可以不用matlab和geogebra软件绘制了 数学函数图像 xff1a 第一个 xff1a Desmos 首推 第二个 xff1a fooplot 可以绘制分段函数比如
  • geogebra中函数的定义域的输入

    ggb中函数的输入有如下几种方式 xff1a 一 如果if做法 1 区间函数 xff1a 做出函数在某区间上的图象 xff1a f x 61 if x gt 61 0 amp amp x lt 61 2 x 2 43 2x 1 2 分段函数
  • 升级Ubuntu内核

    自己下载deb或使用某些其他工具 xff0c 无脑dpkg deb会导致Depends libc6 gt 61 2 33 but 2 31 ubuntu9 2 is to be installed的错误 xff08 猜测该错误产生的原因是没
  • 在ROS的noetic版本中通过rosrun运行python文件

    xff08 1 xff09 不要将python文件放入scr目录中 xff0c 否则后续编译工作空间会报如图所示的错误 首先要在功能包文件夹 xff08 catkin ws src learnning topic xff09 中创建一个sc
  • linux音量调节

    转自 xff1a https www jianshu com p fc8c8cad67d6 一 alsa设置默认声卡 alsa设置默认声卡 理解和使用Alsa的配置文件 alsa的配置文件是alsa conf位于 usr share als
  • FutureTask实际应用案例

    GetResultTask java package com cwp data service service task import com cwp data intelligence common exception RRExcepti
  • 异常检测算法综述

    一 异常检测 随着人工智能的火热 xff0c 运维人员也开始考虑将算法引入运维领域 xff0c 对传统DevOps的核心功能进行优化改进 异常检测是运维不可或缺的重要要功能模块之一 xff0c 可以提升企业运维能力和效率 xff0c 释放运
  • 每日一书丨嵌入式C语言自我修养:从芯片、编译器到操作系统

    最近 xff0c 阅读了王工 xff08 王利涛 xff09 赠送的一本由他编著的书籍 嵌入式C语言自我修养 xff0c 感觉写的挺不错 今天分享一下这本书籍 嵌入式C语言自我修养 xff1a 从芯片 编译器到操作系统 从芯片 编译器到操作
  • JSP提交仍然停留在当前页面

    在C S结构中 xff0c 用户提交内容以后 xff0c 系统任停留在当前页面上 xff0c 直到服务返回处理成功或者失败的提示 而用户录入的信息 xff0c 除非程序清除 xff0c 否则不会自动消失 xff0c 方便用户修改 为了解决这
  • FreeRTOS Queue

    变量定义 span class token keyword typedef span span class token keyword void span span class token operator span QueueHandle
  • 专门讲解无人机航拍图像处理的书【包括图像拼接!!!】

    最近正式开始做课设啦 xff0c 博主在网上搜集到有专门的书讲解无人机航拍图像的处理 xff0c 包括图像拼接 xff01 xff01 xff01 更非常激动的是博主在图书馆把两本书都找到了 xff0c 俺滴学校i了i了 两本书如下所示 x
  • 1.2 向量与线性代数

    向量与线性代数 图形学基础向量向量点乘向量叉乘矩阵 图形学基础 基础数学 xff1a 线性代数 统计学 微积分基础物理 xff1a 其他课程 xff1a 信号处理 数学分析一点点 xff1a 美学课程 向量 方向长度单位向量向量加法 向量点
  • 2.1 变换

    矩阵变换 二维变换齐次坐标齐次坐标下的二维变换矩阵逆变换 xff08 逆矩阵 xff09 复合变换三维空间仿射变换 modeling and viewing 模型变换和视角变换 二维变换 尺度变换 Scale 镜像变换 切变变换 旋转变换
  • 2.2 变换(模型、视图、投影)

    变换 xff08 模型 视图 投影 xff09 三维变换观测变换 xff08 Viewing transformation xff09 视图 xff08 View xff09 定义相机如何将相机移动到约定俗成位置 投影 xff08 Proj