当前位置: 首页 > news >正文

宁波专业网站建设模板服务食品网站的建设背景

宁波专业网站建设模板服务,食品网站的建设背景,对网站做打包备份处理,陕西 网站建设一、问题提出 在GAMES101-Lecture4 Transformation Matrices 一节中#xff0c;闫老师介绍了正交投影和透视投影。 在讲透视投影变换矩阵 M p e r s p → o r t h o M_{persp→ortho} Mpersp→ortho​时#xff0c;同学们对矩阵中的z分量是变化的还是不变的有很多争论。即下…一、问题提出 在GAMES101-Lecture4 Transformation Matrices 一节中闫老师介绍了正交投影和透视投影。 在讲透视投影变换矩阵 M p e r s p → o r t h o M_{persp→ortho} Mpersp→ortho​时同学们对矩阵中的z分量是变化的还是不变的有很多争论。即下图中z分量经过投影变换后的z底是保持不变依旧等于z还是unknown大家有不同的看法。基于查阅的资料我将在本文中谈一下自己对于这个问题的理解并对投影变换矩阵的计算公式进行解释。 二、投影变换 1. 正交投影 Orthographic Projection (1). 正交投影目标 将指定立方体内部的点映射变换到正则立方体canonical cube 内。正则立方体是一个中心点在原点(x,y,z)三个分量都在[-1,1]范围内的正方体。 如将下图所示左侧立方体内部的点先经过平移Translate再经过放缩Scale变换后即可投影到正则立方体内。 (2). 正交投影矩阵 M o r t h o M_{ortho} Mortho​ 正交投影矩阵可以由平移矩阵和放缩矩阵相乘得到 2. 透视投影 (1). 透视投影目标 将视体内部的点映射变换到**正则立方体canonical cube**内。视体 通常是一个 方平截头体可由fov, aspect_ratio, zNear和zFar这几个参数确定。 如下图所示 (2). 透视投影步骤 前面已经简单介绍过正交投影了正交投影相对简单只要进行平移放缩两次变换即可得到。透视投影 相对复杂 透视投影包含两步 将视体变换为立方体 First “squish” the frustum into a cuboid (n - n, f - f) ( M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho) 进行正交投影将立方体变换到正则立方体Do orthographic projection ( M o r t h o M_{ortho} Mortho​) 为什么不直接使用平移放缩非仿射变换 求得透视投影矩阵而是需要先将透视投影转为立方体再进行一次正交投影这两步这两步称之为透视规范化 这是因为 规范化使得只需要一个流水线体系就可以进行透视投影和正交投影尽可能位于四维齐次空间中以便保持隐藏面消除和明暗处理所需要的三维信息。透视投影的第一步将视体转到立方体依旧保持各点的z分量信息便于之后进行深度处理等操作简化了裁剪的操作。第一步转为立方体后由于立方体的边都与世界坐标系的x,y,z轴平行因此可以方便地裁剪掉立方体外的点 (3). 透视投影矩阵 在计算透视投影矩阵之前需要明确一点目标投影矩阵M必须是一个固定的矩阵针对视体内的任何一点都使用相同的一个矩阵条件(1)。 我们称第一步中从视体变换到立方体的矩阵 M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho为透视规范化矩阵。 对于空间内的点(x,y,z)这里的x,y,z是变量因为空间需要进行投影变换的点不只一个其变换后的点为(x,y,z)。 其中 x ′ n z x , y ′ n z y , z ′ ? x\frac{n}{z}x, y\frac{n}{z}y, z? x′zn​x,y′zn​y,z′? a. 假设令z不变 即 x ′ n z x , y ′ n z y , z ′ z x\frac{n}{z}x, y\frac{n}{z}y, zz x′zn​x,y′zn​y,z′z 我们可以逆向算出对应的透视规范化矩阵 M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho M p e r s p → o r t h o ( n / z 0 0 0 0 n / z 0 0 0 0 1 0 0 0 0 1 ) M{persp→ortho} \begin{pmatrix} n/z 0 0 0 \\ 0 n/z 0 0 \\ 0 0 1 0\\ 0 0 0 1 \end{pmatrix} Mpersp→ortho ​n/z000​0n/z00​0010​0001​ ​ 矩阵中nzNear是一个常数然而矩阵中的z是一个变量即n/z中的z对于视体中的每一个不同的点都需要一个特定的z值这并不满足条件(1)不是我们想要的我们想要一个固定的、不随目标点变化的矩阵。 b. 假设令z改变 根据a.中的分析可以得出假如令zz那么对于视体中的每个点都需要一个透视规范化矩阵M不能满足条件(1)。 因此我们需要令透视正则变换后的各点z值发生变化以消除透视规范化矩阵M中的变量z。 一个简单的方式是我们先假设此时不知道z等于什么并令x,y和齐次坐标中的w都乘以z。那么 透视规范化矩阵 M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho 可以写为 M p e r s p → o r t h o ( n 0 0 0 0 n 0 0 ? ? A B 0 0 1 0 ) M{persp→ortho} \begin{pmatrix} n 0 0 0 \\ 0 n 0 0 \\ ? ? A B\\ 0 0 1 0 \end{pmatrix} Mpersp→ortho ​n0?0​0n?0​00A1​00B0​ ​ 另外由于在投影变换后还需要进行阴影遮挡判断、隐藏面消除和明暗处理等操作因此我们需要保证原始空间中z值小的点在投影正则化变换后的z值依旧小原始空间中z值大的点在投影正则化变换后的z值依旧大条件(2)。 条件(2)也说明z只能跟原始点齐次坐标中的z和w相关跟x,y无关因此可以得到那么透视规范化矩阵 M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho 可以写为 M p e r s p → o r t h o ( n 0 0 0 0 n 0 0 0 0 A B 0 0 1 0 ) M{persp→ortho} \begin{pmatrix} n 0 0 0 \\ 0 n 0 0 \\ 0 0 A B\\ 0 0 1 0 \end{pmatrix} Mpersp→ortho ​n000​0n00​00A1​00B0​ ​ 除此以外我们还需要令原来在zzNear平面上的点经过变换后依旧在zzNear平面上原来在zzFar平面上的点依旧在zzFar平面上。这是因为我们需要保证 边界上的点变换后依旧在边界上条件(3)。 假如不能保证满足条件(3)那么在经过投影正则化变化后有可能原来在zFar外面的点在变换后到了立方体内了原本 视体 外需要被裁剪掉的点变换到了立方体内这可能导致裁剪错误。 因此根据条件(3)可以得到下面两个公式 ( 0 0 A B ) ∗ ( x y n 1 ) n 2 (0\ 0\ A\ B) * \begin{pmatrix} x \\ y \\ n \\ 1 \end{pmatrix} n^2 (0 0 A B)∗ ​xyn1​ ​n2 同时 ( 0 0 A B ) ∗ ( x y f 1 ) f 2 (0\ 0\ A\ B) * \begin{pmatrix} x \\ y \\ f \\ 1 \end{pmatrix} f^2 (0 0 A B)∗ ​xyf1​ ​f2 根据这两个公式即可求得 A n f , B − n f Anf, B-nf Anf,B−nf 这就是投影变换中 M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho的由来。 3. 总结 投影变换的目标是根据给出的 视体 参数fov, aspect_ratio, zNear, zFar等参数计算得到一个投影变换矩阵M这个矩阵需要满足三个条件 条件(1)这个矩阵是唯一固定的即这个矩阵中的元素值只跟视体相关跟视体中点的坐标无关条件(2)经过变换后必须保证各个点的z值相对关系不变即假如点a的z值大于点b的z值那么经过变换点a的z依旧大于点b变换后的z。那么z不能与(x,y,z,w)中的x,y相关只能由z,w确定条件(3)视体边界面zzNear平面和zzFar平面上点的经过变换后依旧在立方体边界面上 为了满足条件(1)z不能等于z除了zzNear和zzFar平面上的点。 为了满足条件(2) M p e r s p → o r t h o M{persp→ortho} Mpersp→ortho第三行 ( ? ? A B ) (?\ ?\ A\ B) (? ? A B) 前两个元素需要等于0。 为了满足条件(3) A n f , B − n f Anf, B-nf Anf,B−nf。 三、参考 1.计算机图形学第六章观察-黄章进-中国科学技术大学 2.GAMES101-Lecture 4:Transformation Matrices
http://www.w-s-a.com/news/228894/

相关文章:

  • 电子商务网站建设期末试题08答案互联网怎么做
  • 规范门户网站的建设和管理办法微信网站开发公司电话
  • 免费行情网站凡客的官网
  • 做网站运营的女生多吗海淀企业网站建设
  • 网站运行环境配置网站建设个一般需要花费多少钱
  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站
  • 公司网站后台登陆网站放到云服务器上怎么做
  • 济南 网站定制做网站购买域名
  • 代理分佣后台网站开发怎么用源码做网站视频
  • 天津网站建设招标wordpress七牛图片插件
  • 建设合同施工合同示范文本汕头市网络优化推广平台
  • 网站关键词修改老王搜索引擎入口
  • 那个网站做搬家推广比较好建设部网站办事大厅栏目
  • 做企业销售分析的网站广州网站设计建设
  • 建站流程wordpress怎么开伪静态
  • 服务器不是自己的做违法网站videopro wordpress
  • 北京建网站的公司哪个比较好网站开通告知书
  • 网站负责人 主体负责人黑龙江 建设监理协会网站
  • 手机网站焦点图代码建设工程质量检测网站
  • 墙绘做网站推广有作用没html网页制作用什么软件
  • 企业做网站有用吗网站推广的常用方法有哪些?
  • 景安做网站教程互联网小程序开发
  • 桂林北站离阳朔多远贵州省建设厅住房和城乡建设官网二建考试
  • 浙江省建设厅 网站是多少wordpress淘宝客一键
  • 网站流量少怎么做5个不好的网站
  • 随州网站建设有限公司个人申请注册公司需要多少钱
  • 东莞做商城网站建设wordpress批量下载外链图片
  • 新网站建设运营年计划书仓山区建设局招标网站
  • 网站开发天津网站建设项目组织图