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

坂田杨美企业网站建设中色十二冶金建设有限公司网站

坂田杨美企业网站建设,中色十二冶金建设有限公司网站,建网站与建网页的区别,汉字叔叔花了多少钱做网站本节课程视频地址#xff1a;https://www.bilibili.com/video/BV1X7411F744/?p4 补充上一节课的一个内容#xff0c;旋转矩阵的逆矩阵是它的转置#xff0c;也就是说有R−θRθ−1RθTR_{-\theta} R_\theta^{-1}R_\theta^TR−θ​Rθ−1​RθT​ 上节课讲了#xff0c;…本节课程视频地址https://www.bilibili.com/video/BV1X7411F744/?p4 补充上一节课的一个内容旋转矩阵的逆矩阵是它的转置也就是说有R−θRθ−1RθTR_{-\theta} R_\theta^{-1}R_\theta^TR−θ​Rθ−1​RθT​ 上节课讲了二维变换中的绕原点的旋转、缩放、切变以及齐次坐标还有通过简单变换组合成复杂变换。 这节课先讲三维变换然后讲困难且重要的观测变换Viewing Transformation 文章目录三维变换3D Transformation缩放平移旋转Rodrigues 旋转公式观测变换 (Viewing transformation)视图变换 (View transformation)投影变换Perspective Projection正交投影透视投影三维变换3D Transformation 三维的齐次坐标 点(x,y,z,1)T(x,y,z,1)^T(x,y,z,1)T向量(x,y,z,0)T(x,y,z,0)^T(x,y,z,0)T 注(x,y,z,w)其中w!0 表示的是点(x/w,y/w,z/w) 齐次坐标使用4维矩阵来表示仿射变换 [x′y′z′1][abctxdeftyghitz0001]⋅[xyz1]\begin{bmatrix} x\\ y \\ z \\ 1 \end{bmatrix} \begin{bmatrix} abct_x\\ deft_y\\ ghit_z \\ 0001 \end{bmatrix} \cdot \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix} ​x′y′z′1​​​adg0​beh0​cfi0​tx​ty​tz​1​​⋅​xyz1​​ 注仿射变换中是先线性变换也就是绕原点所作的变换再平移变换。 缩放 [x′y′z′1][sx0000sy0000sz00001]⋅[xyz1]\begin{bmatrix} x\\ y \\ z \\ 1 \end{bmatrix} \begin{bmatrix} s_x000\\ 0s_y00\\ 00s_z0\\ 0001 \end{bmatrix} \cdot \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix} ​x′y′z′1​​​sx​000​0sy​00​00sz​0​0001​​⋅​xyz1​​ 平移 [x′y′z′1][100tx010ty001tz0001]⋅[xyz1]\begin{bmatrix} x\\ y \\ z \\ 1 \end{bmatrix} \begin{bmatrix} 100t_x\\ 010t_y\\ 001t_z\\ 0001 \end{bmatrix} \cdot \begin{bmatrix} x\\ y\\ z\\ 1 \end{bmatrix} ​x′y′z′1​​​1000​0100​0010​tx​ty​tz​1​​⋅​xyz1​​ 旋转 三维的旋转分为绕x轴旋转、绕y轴旋转和绕z轴旋转。 Rx(α)[10000cosα−sinα00sinαcosα00001]R_x(\alpha) \begin{bmatrix} 1000\\ 0cos\alpha-sin\alpha0\\ 0sin\alphacos\alpha0\\ 0001 \end{bmatrix}\\ Rx​(α)​1000​0cosαsinα0​0−sinαcosα0​0001​​ Ry(α)[cosα0sinα00100−sinα0cosα00001]R_y(\alpha) \begin{bmatrix} cos\alpha0sin\alpha0\\ 0100\\ -sin\alpha0cos\alpha0\\ 0001 \end{bmatrix} Ry​(α)​cosα0−sinα0​0100​sinα0cosα0​0001​​ Rz(α)[cosα−sinα00−sinαcosα0000100001]R_z(\alpha) \begin{bmatrix} cos\alpha-sin\alpha00\\ -sin\alphacos\alpha00\\ 0010\\ 0001 \end{bmatrix} Rz​(α)​cosα−sinα00​−sinαcosα00​0010​0001​​ 注意旋转矩阵Ry(α)R_y(\alpha)Ry​(α)的sinαsin\alphasinα的正负号是和另外两个相反的。其实没有反因为这是一个右手系的坐标轴绕x轴逆时针旋转的方向是在y0z平面中y轴旋转到z轴的方向绕z轴旋转的方向是在x0y平面中x轴旋转到y轴的方向而绕y轴旋转的方向在z0x平面中是从z轴旋转到x轴的方向。以x0y平面的旋转为例x′xcosα−ysinαx xcos\alpha - ysin\alphax′xcosα−ysinα即要得到x′xx′需要乘上y轴原始坐标的−sinα-sin\alpha−sinα。所以在z0x平面内要得到z轴所在坐标z′zcosα−xsinαz zcos\alpha - xsin\alphaz′zcosα−xsinα。清晰的记忆方法以绕x轴旋转为例绕x轴旋转在y0z平面内是从y轴到z轴的方向y′ycos⁡α−zsin⁡αy y\cos\alpha - z\sin\alphay′ycosα−zsinα即转离y轴的方向就减$z’ z\cos\alpha y\sin\alpha $ 即朝z轴转的方向就加。 Rodrigues 旋转公式 绕旋转轴 n⃗\vec{n}n 旋转角度 α\alphaα 形式一 R(n⃗,α)cos(α)I(1−cos(α))n⃗⋅n⃗Tsin⁡α⋅[0−nznynz0−nx−nynx0]R(\vec{n},\alpha)cos(\alpha) I (1-cos(\alpha)) \vec{n}\cdot \vec{n}^T \sin\alpha\cdot \begin{bmatrix} 0 -n_z n_y \\ n_z 0 -n_x \\ -n_y n_x 0 \\ \end{bmatrix} R(n,α)cos(α)I(1−cos(α))n⋅nTsinα⋅​0nz​−ny​​−nz​0nx​​ny​−nx​0​​ 形式二 R(n⃗,α)Isin⁡α⋅[0−nznynz0−nx−nynx0](1−cos(α))⋅[0−nznynz0−nx−nynx0]2R(\vec{n},\alpha) I \sin\alpha\cdot \begin{bmatrix} 0 -n_z n_y \\ n_z 0 -n_x \\ -n_y n_x 0 \\ \end{bmatrix} (1-cos(\alpha))\cdot{\begin{bmatrix} 0 -n_z n_y \\ n_z 0 -n_x \\ -n_y n_x 0 \\ \end{bmatrix}}^2 R(n,α)Isinα⋅​0nz​−ny​​−nz​0nx​​ny​−nx​0​​(1−cos(α))⋅​0nz​−ny​​−nz​0nx​​ny​−nx​0​​2 证明 https://www.cnblogs.com/wtyuan/p/12324495.html 观测变换 (Viewing transformation) 视图变换 (View transformation) 什么是视图变换 想象一下拍照 首先要找一个好的背景把人的位置和人与背景的相对位置安排好模型变换然后要找一个好的角度视图变换最后按快门投影变换。 定义相机 位置向量 Postion: e⃗\vec{e}e朝向 Look-at direction: g⃗\vec{g}g​相机向上的方向 Up direction (垂直于朝向) : t⃗\vec{t}t 约定相机永远放在原点相机永远以y为向上方向相机永远朝-z方向看。 也就是进行视图变换时要将所有对象和相机一起做变换直到相机在原点朝向-z以y为正方向。 如何将相机从它原来的位置移到约定位置 平移 e⃗\vec{e}e到原点旋转 g⃗\vec{g}g​ 到 -z 方向旋转 t⃗\vec{t}t 到 y 方向旋转 g⃗×t⃗\vec{g} \times \vec{t}g​×t 到 x 方向 如何求出将相机旋转到约定位置的旋转矩阵 先平移到原点: Tview[100−xe010−ye001−ze0001]T_{view} \begin{bmatrix} 1 0 0 -x_e \\ 0 1 0 -y_e \\ 0 0 1 -z_e \\ 0 0 0 1 \end{bmatrix} Tview​​1000​0100​0010​−xe​−ye​−ze​1​​ 再考虑它的逆旋转找到三个特殊向量的旋转即 x^\hat{x}x^ 到 g^×t^\hat{g} \times \hat{t}g^​×t^, y^\hat{y}y^​ 到 t^\hat {t}t^z^\hat{z}z^ 到 −g^-\hat{g}−g^​就能找到这个逆旋转的旋转矩阵 Rreview−1[xg^×t^xt^x−g^0yg^×t^yt^y−g^0zg^×t^zt^z−g^00001]R_{review}^{-1} \begin{bmatrix} x_{\hat{g}\times\hat{t}} x_{\hat{t}} x_{-\hat{g}} 0\\ y_{\hat{g}\times\hat{t}} y_{\hat{t}} y_{-\hat{g}} 0\\ z_{\hat{g}\times\hat{t}} z_{\hat{t}} z_{-\hat{g}} 0\\ 0 0 0 1 \end{bmatrix} Rreview−1​​xg^​×t^​yg^​×t^​zg^​×t^​0​xt^​yt^​zt^​0​x−g^​​y−g^​​z−g^​​0​0001​​ 旋转矩阵是正交矩阵上面这个矩阵显然符合旋转矩阵的逆矩阵就是它的转置 Rreview[xg^×t^yg^×t^zg^×t^0xt^yt^zt^0x−g^y−g^z−g^00001]R_{review} \begin{bmatrix} x_{\hat{g}\times\hat{t}} y_{\hat{g}\times\hat{t}} z_{\hat{g}\times\hat{t}} 0 \\ x_{\hat{t}} y_{\hat{t}} z_{\hat{t}} 0 \\ x_{-\hat{g}} y_{-\hat{g}} z_{-\hat{g}} 0 \\ 0 0 0 1 \end{bmatrix} Rreview​​xg^​×t^​xt^​x−g^​​0​yg^​×t^​yt^​y−g^​​0​zg^​×t^​zt^​z−g^​​0​0001​​ 总结将所有对象和相机一起做变换直到相机在原点朝向-z以y为正方向。 这就是视图变换。 投影变换Perspective Projection 正交投影Orthographic projection 透视投影Perspective projection 区别正交投影没有近大远小而透视投影有。 正交投影 做法一 假设已经进行了视图变换即相机在原点朝向-z以y为向上方向 第一步把所有点的z坐标变为0 第二步将得到的二维平面坐标做平移和缩放让它们装在[−1,−1]2[-1,-1]^2[−1,−1]2 这个正方形里。至于为什么要进行这一步操作这是一个约定俗成的办法可以方便之后的操作 做法二(正规做法 实际的计算机图形学操作中还有一个比简单地把z扔掉更方便的做法 同样假设已经进行了视图变换即相机在原点朝向-z以y为向上方向 假设此时所有物体装在一个 [l,r]×[b,t]×[f,n][l, r]\times[b,t] \times [f, n][l,r]×[b,t]×[f,n] 的长方体内将这个长方体映射到 [−1,1]3[-1, 1]^3[−1,1]3 的正方体 先平移再缩放 Mortho[2r−l00002t−b00002n−f00001][100−rl2010−tb2001−nf20001]M_{ortho} \begin{bmatrix} \frac{2}{r-l} 0 0 0 \\ 0 \frac{2}{t-b} 0 0 \\ 0 0 \frac{2}{n-f} 0 \\ 0 0 0 1 \end{bmatrix} \begin{bmatrix} 1 0 0 -\frac{rl}{2}\\ 0 1 0 -\frac{tb}{2}\\ 0 0 1 -\frac{nf}{2}\\ 0 0 0 1 \end{bmatrix} Mortho​​r−l2​000​0t−b2​00​00n−f2​0​0001​​​1000​0100​0010​−2rl​−2tb​−2nf​1​​ 透视投影 回顾齐次坐标的一个重要性质 (x,y,z,1)(x,y,z,1)(x,y,z,1)表示一个点 (kx,ky,kz,k!0)(kx,ky,kz,k!0)(kx,ky,kz,k!0)也表示该点 (xz,yz,z2,z!0)(xz,yz,z^2,z!0)(xz,yz,z2,z!0)也表示该点。 做法 将一个截头锥体“挤压”到一个长方体 如何“挤压”呢 提前告诉你这个“挤压”可以用一个矩阵表示一般叫投影变换矩阵那么这个矩阵怎么求呢 观察该“挤压”的特点 x坐标和 y坐标很明显有相似关系 y′nzy,x′nzxy \frac{n}{z}y,\ \ \ x \frac{n}{z}xy′zn​y,   x′zn​x z坐标怎么变目前还不知道用齐次坐标表示 [xyz1]→[nx/zny/zunknown1][nxnyunknownz]\begin{bmatrix} x\\y\\z\\1 \end{bmatrix}\rightarrow \begin{bmatrix} nx/z\\ny/z\\unknown\\1 \end{bmatrix} \begin{bmatrix} nx\\ny\\unknown\\z \end{bmatrix} ​xyz1​​→​nx/zny/zunknown1​​​nxnyunknownz​​ 这样已经可以得到这个变换矩阵的一大部分了 Mpersp→ortho[n0000n00????00n0]M_{persp\rightarrow ortho} \begin{bmatrix} n 0 0 0\\ 0 n 0 0\\ ? ? ? ?\\ 0 0 n 0 \end{bmatrix} Mpersp→ortho​​n0?0​0n?0​00?n​00?0​​ 那么该矩阵的第三行怎么求 利用两点 近平面上的点不会发生改变 [xyn1]→[xyn1][nxnyn2n]\begin{bmatrix} x\\y\\n\\1 \end{bmatrix} \rightarrow \begin{bmatrix} x\\y\\n\\1 \end{bmatrix} \begin{bmatrix} nx\\ ny\\ n^2\\ n \end{bmatrix} ​xyn1​​→​xyn1​​​nxnyn2n​​ 因为n2n^2n2与xxx无关所以第三行的第一个和第二个元素是0也就是说对于透视投影矩阵的第三行有 [00AB][xyn1]n2\begin{bmatrix} 00AB \end{bmatrix} \begin{bmatrix} x\\y\\n\\1 \end{bmatrix}n^2 [0​0​A​B​]​xyn1​​n2 远平面上与z轴相交的点不会改变 [00f1]→[00f1][00f2f]\begin{bmatrix} 0\\0\\f\\1 \end{bmatrix}\rightarrow \begin{bmatrix} 0\\0\\f\\1 \end{bmatrix} \begin{bmatrix} 0\\0\\f^2\\f \end{bmatrix} ​00f1​​→​00f1​​​00f2f​​ 也就是 [00AB][00f2f]f2\begin{bmatrix} 0 0 A B \end{bmatrix} \begin{bmatrix} 0\\0\\f^2\\f \end{bmatrix} f^2 [0​0​A​B​]​00f2f​​f2 可以建立方程组求解A和B了 AnBn2AfBf2AnBn^2\\ AfBf^2 AnBn2AfBf2 解得 Anf,B−nfA nf,\ \ \ B -nf Anf,   B−nf 得到该矩阵为 Mpersp→ortho[n0000n0000nf−nf00n0]M_{persp\rightarrow ortho} \begin{bmatrix} n 0 0 0\\ 0 n 0 0\\ 0 0 nf -nf\\ 0 0 n 0 \end{bmatrix} Mpersp→ortho​​n000​0n00​00nfn​00−nf0​​ 最后 MperspMorthoMpersp→orthoM_{persp} M_{ortho}M_{persp\rightarrow ortho} Mpersp​Mortho​Mpersp→ortho​ 问题对于截头锥体中间的点它的z坐标怎么变 [n0000n0000nf−nf00n0][xyz1][nxnynzfz−nfz]\begin{bmatrix} n 0 0 0\\ 0 n 0 0\\ 0 0 nf -nf\\ 0 0 n 0 \end{bmatrix} \begin{bmatrix} x\\y\\z\\1 \end{bmatrix} \begin{bmatrix} nx\\ny\\nzfz-nf\\z \end{bmatrix} ​n000​0n00​00nfn​00−nf0​​​xyz1​​​nxnynzfz−nfz​​ 记 f(z)nzfz−nfz−z1z[−z2(nf)z−nf]f(z) \frac{nzfz-nf}{z}-z \frac{1}{z}[-z^2(nf)z -nf] f(z)znzfz−nf​−zz1​[−z2(nf)z−nf] 对于中括号中的二次函数开口向下且两个零点为zf和zn所以中括号中的二次函数在fnz这个区间里大于0又z0所以f(z)小于0即z的坐标会变小(朝远平面方向变。
http://www.tj-hxxt.cn/news/230317.html

相关文章:

  • 国家级建设网站wordpress newsroom
  • 网站外链建设书籍mediawiki wordpress
  • 公司自己买服务器建设网站湖北住房和城乡建设厅官方网站
  • 陕西服装网站建设wordpress 迁移后台空白
  • vps建设网站别人访问不了南通网站快速收录
  • 中国十大热门网站排名建设银行网站不能登录
  • 如何用ps设计网站首页重庆门户网
  • 建设网站基础知识给网站做rss
  • 360免费视频网站建设免备案域名免费申请
  • 虚拟主机对网站seo有哪些影响备案网站有哪些
  • 微网站如何建设方案怎么样弄自己店的小程序
  • 网站经营模式VIP视频网站有得做吗
  • 石家庄网站seo外包福州关键词排名软件
  • 北京哪家公司做网站广西建设厅官网站首页
  • 做哪个外贸网站不用交费wed网站
  • 山西网站建设推荐哈尔滨网站建设培训学校
  • 网站开发支持环境网站开发的关键
  • 做网站能设置关键词在百度中搜索到营销课程培训都有哪些
  • 网站模板功能域名信息备案管理系统查询
  • 如何做个人网站东莞陈村网站制作
  • 网页网站开发公司网站建设业务员前景
  • 做网站都去哪申请网址旅游网站哪个好
  • 成品免费网站源码wordpress删除缓存会删掉文件吗
  • 张家港做网站的公司window安装wordpress
  • dw做网站字体 别人 电脑承德网站制作方案
  • 怎么做自己的手机网站吉林省吉林市区号
  • 南通网站推广排名兰州网站的建设
  • 网站关键词代码怎么做天津外贸营销型网站建设
  • 南京网站建设希丁哥网址查询器
  • 广州移动 网站设计网站建设公司怎么赚钱