【GAMES101】04 Viewing Transformation

news2024/11/17 13:20:26

1.View/Camera Transformation(视图变换)

1、将准备拍摄的对象移动到场景中指定位置。(模型变换,Model Transform) - 模型导入场景中从模型坐标系转换成世界坐标系
2、将相机移动到准备拍摄的位置,将它对准某个方向。(视图变换,View Transform)- 从世界坐标系转换成相机坐标系
3、设置相机的焦距,或者调整缩放比例。(投影变换,Projection Transform)
(跟现实做的变换一样,简称MVP变换)

怎么进行视图变换(如何确定相机的摆放)

  • 定义相机的位置
  • 往哪看
  • 相机向上的方向(固定相机的旋转 )

 相当于定义了一个坐标系,将相机移动到一个固定的位置上,可以使操作简化(相机原点在000,相机y轴向上,永远往-z轴看)。

(图的意思是,不好求将摄像机旋转到原点的矩阵,可以逆过来将原点位置的摄像机旋转到e的位置的矩阵,再求逆矩阵
Q:如何求逆矩阵呢
A:旋转矩阵就是正交矩阵,即求它的转置矩阵就是逆矩阵了


Summary:
①相机物体都应用同样的变换,只要相机能移动到规定的位置上,那么物体自然就落在需要它们所在的位置上。
②模型变换和视图变换经常被一起叫作模型视图变换(Also know as ModelView Translation)。

2.Projection transformation (投影变换)

投影变换主要分为正交投影透视投影。这两者的区别,透视投影的投影结果是“近大远小”;正交投影的投影结果是模型相对大小不变。透视投影的结果,与我们人眼看见物品的方式是一样的。正交投影一般应用于工程作图,如建房蓝图等。

 

  •  透视投影(Perspective Projection):摄像机认为是一个点,在空间中连出一个四棱锥,这个区域内的所有东西都显示在一个平面上。
  • 正交投影(Orthographic Projection):假设相机离得无限远,(假如将透视投影的相机拿得无限远的时候,这时候近处平面与远处平面的物体大小是几乎完全一样)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/486186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络】-- TCP协议

其中TCP就属于传输层,并且端口号也是在传输层起作用。 目录 TCP协议报头 可靠性 32位序号 16位窗口大小 六个标记位 三次握手四次挥手 RST PSH URG 16位紧急指针 FIN socksetopt 可靠性机制 确认应答(ACK)机制 超时重传机制 连接管理机制 三大机…

03-角色维护 尚筹网

一、分页操作 目标 将角色数据进行分页显示 思路 点击后台主页面的权限管理->角色维护,通过view-controller进入角色分页显示的页面,浏览器加载页面的数据并初始化一些数据(页码、页大小、关键词等),调用分页函…

基于Open3D的点云处理3-可视化

可视化接口 API open3d.visualization.draw_geometries(*args, **kwargs)重载函数1 draw_geometries(geometry_list, window_name’Open3D’, width1920, height1080, left50, top50, point_show_normalFalse, mesh_show_wireframeFalse, mesh_show_back_faceFalse)geometry…

B树

文章目录 B树的定义和性质为什么需要B树B树的定义 B树的模拟实现节点的数据结构B树的插入B树的删除 B树的模拟实现 B树的定义和性质 我们之前已经对 平衡搜索二叉树有了一定的了解,学习了两种树——AVL树 和 红黑树,下面介绍一下B树 为什么需要B树 数…

Nacos 服务网格⽣态

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…

为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu

编译内核 因为一加七的内核版本是4.14,所以想使用kernelsu,需要自己将kernelsu编译到内核里。 我使用的系统是:LineageOS17.1,对于之后的lineage版本同样适用,只是拉取的源代码不一样。刷机教程请看:wsl2…

vue diff算法与虚拟dom知识整理(3) 了解h函数和虚拟节点概念 实现虚拟节点上dom树

虚拟dom之前我们也有了基本的了解 简单说 就是用js数据结构来描述html的dom结构树 首先 为什么要用虚拟dom啊? 官方给出的回答是 diff最小量精细化算法是发生在虚拟dom上的 也就是 我们之前说的 节点与节点比较 并不是发生在html元素上的 而是发生在js中的虚拟dom上…

【C++学习】类和对象--多态【待补充】

多态的基本语法 多态是C面向对象三大特性之一 静态多态: 函数重载和运算符重载属于静态多态,复用函数名(函数地址早绑定,编译阶段确定函数地址) 动态多态: 派生类和虚函数实现运行时多态(函数地…

centos7.6 yum 安装mysql

目录 1. 删 mariadb / 自带MySQL 2 安装wget命名 3 下载并安装MySQL官方的 Yum Repository 4 使用yum安装mysql 5 启动 6 获取密码 7 登录 -> 没有获取到 就直接按回车 不输入 8 设置密码 及权限 --> root 账号所有语句报错 9 参考 1. 删 mariadb / 自带MySQL…

《计算机网络——自顶向下方法》精炼——2.7.2(TCP套接字编程)

“学习的敌人是自己的满足。” —— 叶圣陶 文章目录 TCP套接字编程TCP套接字编程概述客户进程服务器进程 TCP套接字编程 TCP套接字编程概述 TCP是一个面向连接的运输层协议,因此可以分为发起连接的阶段和传输阶段。 发起连接时,客户进程创建一个客户…

【LeetCode】221.最大正方形

221.最大正方形(中等) 题解 对于在矩阵内搜索正方形或长方形的题型,一种常见的做法是:定义一个二维 dp 数组,其中 dp[i][j] 表示满足题目条件的、以(i,j)为右下角的正方形或长方形属性。在本题中…

【备战蓝桥杯国赛-国赛真题】费用报销

题目链接:https://www.dotcpp.com/oj/problem2696.html 思路 读完题,再看一眼数据范围,这道题的做法也就确定了——DP。 DP的题目往往很容易辨识出来,所以我们就往DP上想了,第一要素是选出的所有票据里面&#xff0c…

【LeetCode】64. 最小路径和

64. 最小路径和(中等) 方法一:常规动态规划 思路 定义一个二维 dp 数组,其中 dp[i][j]表示从左上角开始到(i, j)位置的最优路径的数字和。因为每次都只能向下或者向右移动,所以很容易发现 dp数组…

汽车行业V模型开发详解

在新能源汽车开发过程中,通常会采用V模型(V-Model)进行系统开发。V模型是一种基于需求分析、体系架构设计、硬件和软件开发、集成测试以及产品验证的系统工程方法。 下面简要介绍新能源汽车V模型开发的主要阶段: V模型开发&…

encrypted勒索病毒攻击nas服务器,服务器中了勒索病毒解密数据恢复

近年来,勒索病毒的攻击技术不断升级,各种加密型的病毒不断出现,给我们工作和生活带来了很大困扰。其中,encrypted勒索病毒攻击NAS网络存储设备已经变得越来越常见。而这次我们将为大家探讨如何预防encrypted勒索病毒攻击NAS服务器…

springboot+vue教师人事档案管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的教师人事档案管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xff1…

架构集群部署

这是一个简单的集群框架 192.168.142.10做负载均衡(主) 192.168.142.20(副) 先做keepalive 两台nginx做七层反向代理(动静分离) 192.168.142.30 192.168.142.40 部署tomcat做多实例部署 192.168.14…

linux驱动开发 - 11_Linux 下的驱动分离与分层

文章目录 11. Linux 下的驱动分离与分层1 驱动的分隔与分离2 驱动的分层 11. Linux 下的驱动分离与分层 1 驱动的分隔与分离 linux是一个成熟、复杂、庞大的操作系统,代码的重用性很重要,不然会在linux内核存在大量的无意义重复的代码。尤其的驱动程序…

进阶Spring(2)-BeanFactory和ApplicationContext实现

🏠个人主页:阿杰的博客 💪个人简介:大家好,我是阿杰,一个正在努力让自己变得更好的男人👨 目前状况🎉:24届毕业生,奋斗在找实习的路上🌟 &#x1…

[Data structure]单链表常见算法题

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:数据结构。数据结构专栏主要是在讲解原理的基础上拿Java实现 ⭐如果觉得文章写的不错,欢迎点个关注一…