import{_ as d,c as a,a as l,b as Q,d as m,e as r,f as o,r as e,o as t}from"./app-BfM5Jnrn.js";const s="/assets/transformation_pipeline-YtoCz4fJ.png",g="/assets/view_transform-pr23mdSz.svg",h="/assets/proj_transform-CKWeqHdM.svg",H="/assets/proj_transform_1-YDn8lTVM.svg",p="/assets/proj_transform_2-wJzpGoAn.svg",i="/assets/proj_transform_3-qj92WLVu.svg",u={},c={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},f={style:{"vertical-align":"-3.863ex"},xmlns:"http://www.w3.org/2000/svg",width:"17.18ex",height:"8.857ex",role:"img",focusable:"false",viewBox:"0 -2207.5 7593.5 3915","aria-hidden":"true"},V={class:"MathJax",jax:"SVG",style:{position:"relative"}},M={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.054ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 466 453","aria-hidden":"true"},L={class:"MathJax",jax:"SVG",style:{position:"relative"}},Z={style:{"vertical-align":"-0.457ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.244ex",height:"2.939ex",role:"img",focusable:"false",viewBox:"0 -1097 3201.7 1299","aria-hidden":"true"},x={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},w={style:{"vertical-align":"-6.976ex"},xmlns:"http://www.w3.org/2000/svg",width:"31.608ex",height:"15.083ex",role:"img",focusable:"false",viewBox:"0 -3583.4 13970.9 6666.9","aria-hidden":"true"},D={class:"MathJax",jax:"SVG",style:{position:"relative"}},v={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.274ex",height:"2.451ex",role:"img",focusable:"false",viewBox:"0 -833.2 3215.2 1083.2","aria-hidden":"true"},y={class:"MathJax",jax:"SVG",style:{position:"relative"}},j={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.526ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2000.7 1000","aria-hidden":"true"},b={class:"MathJax",jax:"SVG",style:{position:"relative"}},C={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.287ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2778.7 1000","aria-hidden":"true"},B={class:"MathJax",jax:"SVG",style:{position:"relative"}},A={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.365ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 3697.3 1000","aria-hidden":"true"},k={class:"MathJax",jax:"SVG",style:{position:"relative"}},O={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"9.11ex",height:"2.283ex",role:"img",focusable:"false",viewBox:"0 -759 4026.7 1009","aria-hidden":"true"},E={class:"MathJax",jax:"SVG",style:{position:"relative"}},R={style:{"vertical-align":"-0.439ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.138ex",height:"1.439ex",role:"img",focusable:"false",viewBox:"0 -442 503 636","aria-hidden":"true"},N={class:"MathJax",jax:"SVG",style:{position:"relative"}},F={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.19ex",height:"2.283ex",role:"img",focusable:"false",viewBox:"0 -759 3620 1009","aria-hidden":"true"},S={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},J={style:{"vertical-align":"-3.88ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.586ex",height:"8.891ex",role:"img",focusable:"false",viewBox:"0 -2215 3795 3930","aria-hidden":"true"},G={class:"MathJax",jax:"SVG",style:{position:"relative"}},X={style:{"vertical-align":"-0.65ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.857ex",height:"2.202ex",role:"img",focusable:"false",viewBox:"0 -686 5240.7 973.2","aria-hidden":"true"},z={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},P={style:{"vertical-align":"-5.613ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.452ex",height:"12.358ex",role:"img",focusable:"false",viewBox:"0 -2981 11249.6 5462","aria-hidden":"true"},I={class:"MathJax",jax:"SVG",style:{position:"relative"}},W={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"32.766ex",height:"2.283ex",role:"img",focusable:"false",viewBox:"0 -759 14482.5 1009","aria-hidden":"true"},q={class:"MathJax",jax:"SVG",style:{position:"relative"}},Y={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.052ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 465 453","aria-hidden":"true"},K={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},U={style:{"vertical-align":"-5.317ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.233ex",height:"11.765ex",role:"img",focusable:"false",viewBox:"0 -2850 11152.9 5200","aria-hidden":"true"},$={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},_={style:{"vertical-align":"-5.317ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.159ex",height:"11.765ex",role:"img",focusable:"false",viewBox:"0 -2850 12446.2 5200","aria-hidden":"true"},Q1={class:"MathJax",jax:"SVG",style:{position:"relative"}},T1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.03ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 3107.3 1000","aria-hidden":"true"},a1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},t1={style:{"vertical-align":"-5.317ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.222ex",height:"11.765ex",role:"img",focusable:"false",viewBox:"0 -2850 12474.2 5200","aria-hidden":"true"},m1={class:"MathJax",jax:"SVG",style:{position:"relative"}},l1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"24.004ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 10609.6 1000","aria-hidden":"true"},n1={class:"MathJax",jax:"SVG",style:{position:"relative"}},d1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"9.167ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4052 1000","aria-hidden":"true"},r1={class:"MathJax",jax:"SVG",style:{position:"relative"}},o1={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},e1={class:"MathJax",jax:"SVG",style:{position:"relative"}},s1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.041ex",height:"2.452ex",role:"img",focusable:"false",viewBox:"0 -833.9 11952.1 1083.9","aria-hidden":"true"},g1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},h1={style:{"vertical-align":"-5.412ex"},xmlns:"http://www.w3.org/2000/svg",width:"28.222ex",height:"11.955ex",role:"img",focusable:"false",viewBox:"0 -2892 12474.2 5283.9","aria-hidden":"true"},H1={class:"MathJax",jax:"SVG",style:{position:"relative"}},p1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"9.054ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4002 1000","aria-hidden":"true"},i1={class:"MathJax",jax:"SVG",style:{position:"relative"}},u1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.31ex",height:"2.283ex",role:"img",focusable:"false",viewBox:"0 -759 4556.9 1009","aria-hidden":"true"},c1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},f1={style:{"vertical-align":"-5.432ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.859ex",height:"11.995ex",role:"img",focusable:"false",viewBox:"0 -2900.9 12313.8 5301.9","aria-hidden":"true"},V1={class:"MathJax",jax:"SVG",style:{position:"relative"}},M1={style:{"vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.409ex",height:"1.464ex",role:"img",focusable:"false",viewBox:"0 -442 1506.7 647","aria-hidden":"true"},L1={class:"MathJax",jax:"SVG",style:{position:"relative"}},Z1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"9.952ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4399 1000","aria-hidden":"true"},x1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},w1={style:{"vertical-align":"-2.339ex"},xmlns:"http://www.w3.org/2000/svg",width:"12.899ex",height:"5.81ex",role:"img",focusable:"false",viewBox:"0 -1533.9 5701.6 2567.9","aria-hidden":"true"},D1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},v1={style:{"vertical-align":"-2.036ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.102ex",height:"5.204ex",role:"img",focusable:"false",viewBox:"0 -1400 4465 2300","aria-hidden":"true"},y1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},j1={style:{"vertical-align":"-5.317ex"},xmlns:"http://www.w3.org/2000/svg",width:"37.124ex",height:"11.765ex",role:"img",focusable:"false",viewBox:"0 -2850 16408.7 5200","aria-hidden":"true"},b1={class:"MathJax",jax:"SVG",style:{position:"relative"}},C1={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.052ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 465 453","aria-hidden":"true"},B1={class:"MathJax",jax:"SVG",style:{position:"relative"}},A1={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.052ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 465 453","aria-hidden":"true"},k1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},O1={style:{"vertical-align":"-11.538ex"},xmlns:"http://www.w3.org/2000/svg",width:"82.361ex",height:"24.208ex",role:"img",focusable:"false",viewBox:"0 -5600 36403.7 10700","aria-hidden":"true"},E1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},R1={style:{"vertical-align":"-7.857ex"},xmlns:"http://www.w3.org/2000/svg",width:"38.636ex",height:"16.846ex",role:"img",focusable:"false",viewBox:"0 -3973 17077.2 7446","aria-hidden":"true"},N1={class:"MathJax",jax:"SVG",style:{position:"relative"}},F1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.318ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 5886.6 1000","aria-hidden":"true"},S1={class:"MathJax",jax:"SVG",style:{position:"relative"}},J1={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"20.431ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 9030.6 1000","aria-hidden":"true"},G1={class:"MathJax",jax:"SVG",style:{position:"relative"}},X1={style:{"vertical-align":"-0.564ex"},xmlns:"http://www.w3.org/2000/svg",width:"16.396ex",height:"2.26ex",role:"img",focusable:"false",viewBox:"0 -749.5 7247.1 999","aria-hidden":"true"},z1={class:"MathJax",jax:"SVG",style:{position:"relative"}},P1={style:{"vertical-align":"-0.564ex"},xmlns:"http://www.w3.org/2000/svg",width:"15.003ex",height:"2.26ex",role:"img",focusable:"false",viewBox:"0 -749.5 6631.1 999","aria-hidden":"true"},I1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},W1={style:{"vertical-align":"-6.794ex"},xmlns:"http://www.w3.org/2000/svg",width:"64.106ex",height:"14.718ex",role:"img",focusable:"false",viewBox:"0 -3502.7 28335.1 6505.5","aria-hidden":"true"},q1={class:"MathJax",jax:"SVG",style:{position:"relative"}},Y1={style:{"vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"32.404ex",height:"2.572ex",role:"img",focusable:"false",viewBox:"0 -841.7 14322.7 1136.7","aria-hidden":"true"},K1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},U1={style:{"vertical-align":"-4.14ex"},xmlns:"http://www.w3.org/2000/svg",width:"38.927ex",height:"9.412ex",role:"img",focusable:"false",viewBox:"0 -2330 17205.7 4160","aria-hidden":"true"},$1={class:"MathJax",jax:"SVG",style:{position:"relative"}},_1={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.937ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1740 705","aria-hidden":"true"},Q2={class:"MathJax",jax:"SVG",style:{position:"relative"}},T2={style:{"vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"2.758ex",height:"1.552ex",role:"img",focusable:"false",viewBox:"0 -686 1219 686","aria-hidden":"true"},a2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},t2={style:{"vertical-align":"-6.785ex"},xmlns:"http://www.w3.org/2000/svg",width:"61.102ex",height:"14.7ex",role:"img",focusable:"false",viewBox:"0 -3498.8 27006.9 6497.5","aria-hidden":"true"},m2={class:"MathJax",jax:"SVG",style:{position:"relative"}},l2={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"15.181ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6710.2 1000","aria-hidden":"true"},n2={class:"MathJax",jax:"SVG",style:{position:"relative"}},d2={style:{"vertical-align":"-0.583ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.817ex",height:"2.3ex",role:"img",focusable:"false",viewBox:"0 -759 6107.1 1016.5","aria-hidden":"true"},r2={class:"MathJax",jax:"SVG",style:{position:"relative"}},o2={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.112ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2259.7 1000","aria-hidden":"true"},e2={class:"MathJax",jax:"SVG",style:{position:"relative"}},s2={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.046ex",height:"2.283ex",role:"img",focusable:"false",viewBox:"0 -759 2672.1 1009","aria-hidden":"true"},g2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},h2={style:{"vertical-align":"-4.239ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.287ex",height:"9.609ex",role:"img",focusable:"false",viewBox:"0 -2373.5 3663 4247","aria-hidden":"true"},H2={class:"MathJax",jax:"SVG",style:{position:"relative"}},p2={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.276ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 4984 776","aria-hidden":"true"},i2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},u2={style:{"vertical-align":"-4.597ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.999ex",height:"10.326ex",role:"img",focusable:"false",viewBox:"0 -2532 6187.5 4564","aria-hidden":"true"},c2={class:"MathJax",jax:"SVG",style:{position:"relative"}},f2={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.922ex",height:"1.742ex",role:"img",focusable:"false",viewBox:"0 -759 849.5 770","aria-hidden":"true"},V2={class:"MathJax",jax:"SVG",style:{position:"relative"}},M2={style:{"vertical-align":"-0.583ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.559ex",height:"2.3ex",role:"img",focusable:"false",viewBox:"0 -759 8645 1016.5","aria-hidden":"true"},L2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},Z2={style:{"vertical-align":"-7.374ex"},xmlns:"http://www.w3.org/2000/svg",width:"37.15ex",height:"15.879ex",role:"img",focusable:"false",viewBox:"0 -3759.3 16420.4 7018.5","aria-hidden":"true"},x2={class:"MathJax",jax:"SVG",style:{position:"relative"}},w2={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.922ex",height:"1.742ex",role:"img",focusable:"false",viewBox:"0 -759 849.5 770","aria-hidden":"true"},D2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},v2={style:{"vertical-align":"-11.538ex"},xmlns:"http://www.w3.org/2000/svg",width:"91.972ex",height:"24.208ex",role:"img",focusable:"false",viewBox:"0 -5600 40651.5 10700","aria-hidden":"true"},y2={class:"MathJax",jax:"SVG",style:{position:"relative"}},j2={style:{"vertical-align":"-0.564ex"},xmlns:"http://www.w3.org/2000/svg",width:"16.396ex",height:"2.26ex",role:"img",focusable:"false",viewBox:"0 -749.5 7247.1 999","aria-hidden":"true"},b2={class:"MathJax",jax:"SVG",style:{position:"relative"}},C2={style:{"vertical-align":"-0.564ex"},xmlns:"http://www.w3.org/2000/svg",width:"15.003ex",height:"2.26ex",role:"img",focusable:"false",viewBox:"0 -749.5 6631.1 999","aria-hidden":"true"},B2={class:"MathJax",jax:"SVG",style:{position:"relative"}},A2={style:{"vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.481ex",height:"2.059ex",role:"img",focusable:"false",viewBox:"0 -705 3306.6 910","aria-hidden":"true"},k2={class:"MathJax",jax:"SVG",style:{position:"relative"}},O2={style:{"vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.481ex",height:"2.059ex",role:"img",focusable:"false",viewBox:"0 -705 3306.6 910","aria-hidden":"true"},E2={class:"MathJax",jax:"SVG",style:{position:"relative"}},R2={style:{"vertical-align":"-0.439ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.886ex",height:"1.855ex",role:"img",focusable:"false",viewBox:"0 -626 3043.6 820","aria-hidden":"true"},N2={class:"MathJax",jax:"SVG",style:{position:"relative"}},F2={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.619ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 4693.6 776","aria-hidden":"true"},S2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},J2={style:{"vertical-align":"-6.897ex"},xmlns:"http://www.w3.org/2000/svg",width:"58.006ex",height:"14.925ex",role:"img",focusable:"false",viewBox:"0 -3548.5 25638.7 6596.9","aria-hidden":"true"};function G2(X2,T){const n=e("RouteLink");return t(),a("div",null,[T[196]||(T[196]=l('

几何变换(四)


8. 视图变换管线概览

一个物体从独立的物体最终转换为2D图像,期间经过如下坐标变换

9. 摄像机视图变换(Viewing/Camera Transformation)

9.1 定义

视图变换是将物体的世界坐标系转换到摄像机的坐标系

摄像机坐标系以观察点(eye)为原点,向前方向为-z轴,x轴指向右侧(右手坐标系) 所以

',11)),Q("mjx-container",c,[(t(),a("svg",f,T[0]||(T[0]=[l('',1)]))),T[1]||(T[1]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"z"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mi",null,"l"),Q("mi",null,"o"),Q("mi",null,"o"),Q("mi",null,"k"),Q("mi",null,"a"),Q("mi",null,"t"),Q("mo",null,"−"),Q("mi",null,"e"),Q("mi",null,"y"),Q("mi",null,"e")])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"x"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mrow",null,[Q("mi",null,"u"),Q("mi",null,"p")]),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"×"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"z"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"y"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"z"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,"×"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"x"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])])])])])],-1))]),T[197]||(T[197]=Q("h3",{id:"_9-2-计算",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_9-2-计算"},[Q("span",null,"9.2 计算")])],-1)),Q("p",null,[T[7]||(T[7]=m("根据")),r(n,{to:"/note/graphics/math/transform_02.html#_6-2-3-%E7%BB%84%E5%90%88%E5%90%8E%E7%9A%84%E5%9D%90%E6%A0%87%E8%BD%AC%E6%8D%A2%E7%9F%A9%E9%98%B5"},{default:o(()=>T[2]||(T[2]=[m("坐标系变换公式")])),_:1}),T[8]||(T[8]=m(",设摄像机在世界坐标系中的位置为")),Q("mjx-container",V,[(t(),a("svg",M,T[3]||(T[3]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D452",d:"M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z"})])])],-1)]))),T[4]||(T[4]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"e")])],-1))]),T[9]||(T[9]=m(",摄像机的三个轴的单位轴向量为")),Q("mjx-container",L,[(t(),a("svg",Z,T[5]||(T[5]=[l('',1)]))),T[6]||(T[6]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("msup",null,[Q("mi",{mathvariant:"bold-italic"},"i"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,","),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("msup",null,[Q("mi",{mathvariant:"bold-italic"},"j"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,","),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("msup",null,[Q("mi",{mathvariant:"bold-italic"},"k"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},"→")])])])],-1))]),T[10]||(T[10]=m("视图变换矩阵为"))]),Q("mjx-container",x,[(t(),a("svg",w,T[11]||(T[11]=[l('',1)]))),T[12]||(T[12]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",null,"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mi",null,"v"),Q("mi",null,"i"),Q("mi",null,"e"),Q("mi",null,"w")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"i"),Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"i"),Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"i"),Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mo",null,"−"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"e"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"⋅"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"i"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"j"),Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"j"),Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"j"),Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mo",null,"−"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"e"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"⋅"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"j"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"k"),Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"k"),Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("msubsup",null,[Q("mi",null,"k"),Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mo",null,"−"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"e"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",null,"⋅"),Q("msup",null,[Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mover",null,[Q("mi",{mathvariant:"bold-italic"},"k"),Q("mo",{stretchy:"false"},"→")])]),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),T[198]||(T[198]=Q("h2",{id:"_10-透视投影变换-perspective-projective-transformations",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_10-透视投影变换-perspective-projective-transformations"},[Q("span",null,"10. 透视投影变换(Perspective Projective Transformations)")])],-1)),T[199]||(T[199]=Q("h3",{id:"_10-1-定义",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_10-1-定义"},[Q("span",null,"10.1 定义")])],-1)),Q("p",null,[T[15]||(T[15]=m("投影变换是将物体从摄像机坐标系转换到标准设备坐标系(NDC),也就是坐标值在一个")),Q("mjx-container",D,[(t(),a("svg",v,T[13]||(T[13]=[l('',1)]))),T[14]||(T[14]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mo",null,"−"),Q("mn",null,"1"),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mn",null,"3")])])],-1))]),T[16]||(T[16]=m("的盒子里(Canonical view volume) 可以将这个过程分为两步,首先构造一个坐标转换,将摄像机的摄影范围构成的视锥体(Frustum)变形成一个立方体(Cuboid),然后再将这个立方体转化为成标准设备坐标系下(NDC)的标准观察体CCV(Canonical View Volume)"))]),T[200]||(T[200]=Q("figure",null,[Q("img",{src:h,alt:"",tabindex:"0",loading:"lazy"}),Q("figcaption")],-1)),Q("p",null,[T[21]||(T[21]=m("NDC坐标系在不同的系统上有不同的约定,在DirectX中,近平面到远平面映射到")),Q("mjx-container",y,[(t(),a("svg",j,T[17]||(T[17]=[l('',1)]))),T[18]||(T[18]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mn",null,"0"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[22]||(T[22]=m(",在OpenGL则是把近平面到远平面映射到")),Q("mjx-container",b,[(t(),a("svg",C,T[19]||(T[19]=[l('',1)]))),T[20]||(T[20]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mo",null,"−"),Q("mn",null,"1"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[23]||(T[23]=m(",但一般都把NDC坐标系设为左手坐标系。"))]),T[201]||(T[201]=l('

10.2 求解过程

10.2.1 从视锥体到立方体

',3)),Q("p",null,[T[32]||(T[32]=m("设摄像机坐标系中的点")),Q("mjx-container",B,[(t(),a("svg",A,T[24]||(T[24]=[l('',1)]))),T[25]||(T[25]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"p"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"z"),Q("mo",{stretchy:"false"},")")])],-1))]),T[33]||(T[33]=m(",转换后的坐标为")),Q("mjx-container",k,[(t(),a("svg",O,T[26]||(T[26]=[l('',1)]))),T[27]||(T[27]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"("),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("msup",null,[Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("msup",null,[Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},")")])],-1))]),T[34]||(T[34]=m(",由定义可知")),Q("mjx-container",E,[(t(),a("svg",R,T[28]||(T[28]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D45D",d:"M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"})])])],-1)]))),T[29]||(T[29]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"p")])],-1))]),T[35]||(T[35]=m("投影到摄像机近裁剪面上的点为")),Q("mjx-container",N,[(t(),a("svg",F,T[30]||(T[30]=[l('',1)]))),T[31]||(T[31]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mi",null,"p"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},"("),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("msup",null,[Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{stretchy:"false"},")")])],-1))]),T[36]||(T[36]=m(",由相似三角形可知"))]),Q("mjx-container",S,[(t(),a("svg",J,T[37]||(T[37]=[l('',1)]))),T[38]||(T[38]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"y")]),Q("mi",null,"z")])])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"x")]),Q("mi",null,"z")])])])])])],-1))]),Q("p",null,[T[41]||(T[41]=m("设这个转换矩阵为")),Q("mjx-container",G,[(t(),a("svg",X,T[39]||(T[39]=[l('',1)]))),T[40]||(T[40]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ortho")])])])],-1))]),T[42]||(T[42]=m(", 可知"))]),Q("mjx-container",z,[(t(),a("svg",P,T[43]||(T[43]=[l('',1)]))),T[44]||(T[44]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ortho")])]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"z")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"x")]),Q("mi",null,"z")])])]),Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"y")]),Q("mi",null,"z")])])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[49]||(T[49]=m("对于表示一个点的其次坐标,所有数值乘以一个同样的数,所表达的意义相同,所以")),Q("mjx-container",I,[(t(),a("svg",W,T[45]||(T[45]=[l('',1)]))),T[46]||(T[46]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"n"),Q("mi",null,"x"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"z"),Q("mo",null,","),Q("mi",null,"n"),Q("mi",null,"y"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"z"),Q("mo",null,","),Q("msup",null,[Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]"),Q("mo",null,"="),Q("mo",{stretchy:"false"},"["),Q("mi",null,"n"),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"n"),Q("mi",null,"y"),Q("mo",null,","),Q("msup",null,[Q("mi",null,"z"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mi",null,"z"),Q("mo",null,","),Q("mi",null,"z"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[50]||(T[50]=m(",这里先暂时忽略")),Q("mjx-container",q,[(t(),a("svg",Y,T[47]||(T[47]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D467",d:"M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"})])])],-1)]))),T[48]||(T[48]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"z")])],-1))]),T[51]||(T[51]=m("轴,可以得到"))]),Q("mjx-container",K,[(t(),a("svg",U,T[52]||(T[52]=[l('',1)]))),T[53]||(T[53]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ortho")])]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"z")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"z")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),T[202]||(T[202]=Q("p",null,"由此可以推断出,这个矩阵的第1,2和4行",-1)),Q("mjx-container",$,[(t(),a("svg",_,T[54]||(T[54]=[l('',1)]))),T[55]||(T[55]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"z")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"z")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[58]||(T[58]=m("考虑特殊情况,近平面上的任意一点")),Q("mjx-container",Q1,[(t(),a("svg",T1,T[56]||(T[56]=[l('',1)]))),T[57]||(T[57]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[59]||(T[59]=m("经过这个矩阵转换后"))]),Q("mjx-container",a1,[(t(),a("svg",t1,T[60]||(T[60]=[l('',1)]))),T[61]||(T[61]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[70]||(T[70]=m("由于近平面上的点经过转换后坐标不变,所以")),Q("mjx-container",m1,[(t(),a("svg",l1,T[62]||(T[62]=[l('',1)]))),T[63]||(T[63]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"n"),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"n"),Q("mi",null,"y"),Q("mo",null,","),Q("mo",null,"?"),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},"]"),Q("mo",null,"="),Q("mo",{stretchy:"false"},"["),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"n"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[71]||(T[71]=m(",而")),Q("mjx-container",n1,[(t(),a("svg",d1,T[64]||(T[64]=[l('',1)]))),T[65]||(T[65]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"n"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[72]||(T[72]=m("作为其次坐标,所有数值都乘以")),Q("mjx-container",r1,[(t(),a("svg",o1,T[66]||(T[66]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"})])])],-1)]))),T[67]||(T[67]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"n")])],-1))]),T[73]||(T[73]=m(",可以得到")),Q("mjx-container",e1,[(t(),a("svg",s1,T[68]||(T[68]=[l('',1)]))),T[69]||(T[69]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"n"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]"),Q("mo",null,"=="),Q("mo",{stretchy:"false"},"["),Q("mi",null,"n"),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"n"),Q("mi",null,"y"),Q("mo",null,","),Q("msup",null,[Q("mi",null,"n"),Q("mn",null,"2")]),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[74]||(T[74]=m(",所以"))]),Q("mjx-container",g1,[(t(),a("svg",h1,T[75]||(T[75]=[l('',1)]))),T[76]||(T[76]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n"),Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"n"),Q("mn",null,"2")])])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[81]||(T[81]=m("同理,远平面上的任意一个点")),Q("mjx-container",H1,[(t(),a("svg",p1,T[77]||(T[77]=[l('',1)]))),T[78]||(T[78]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y"),Q("mo",null,","),Q("mi",null,"f"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[82]||(T[82]=m("转换后为")),Q("mjx-container",i1,[(t(),a("svg",u1,T[79]||(T[79]=[l('',1)]))),T[80]||(T[80]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("msup",null,[Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("mi",null,"f"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[83]||(T[83]=m(",可以得到"))]),Q("mjx-container",c1,[(t(),a("svg",f1,T[84]||(T[84]=[l('',1)]))),T[85]||(T[85]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")]),Q("mtd",null,[Q("mo",null,"?")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"y")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"f")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"y"),Q("mo",{"data-mjx-alternate":"1"},"′")])])]),Q("mtr",null,[Q("mtd",null,[Q("msup",null,[Q("mi",null,"f"),Q("mn",null,"2")])])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[90]||(T[90]=m("由此可知,第三行的数值和")),Q("mjx-container",V1,[(t(),a("svg",M1,T[86]||(T[86]=[l('',1)]))),T[87]||(T[87]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y")])],-1))]),T[91]||(T[91]=m("无关,一定是形如")),Q("mjx-container",L1,[(t(),a("svg",Z1,T[88]||(T[88]=[l('',1)]))),T[89]||(T[89]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"["),Q("mn",null,"0"),Q("mo",null,","),Q("mn",null,"0"),Q("mo",null,","),Q("mi",null,"A"),Q("mo",null,","),Q("mi",null,"B"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[92]||(T[92]=m("这样的形式,且"))]),Q("mjx-container",x1,[(t(),a("svg",w1,T[93]||(T[93]=[l('',1)]))),T[94]||(T[94]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"A"),Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"B"),Q("mo",null,"="),Q("msup",null,[Q("mi",null,"n"),Q("mn",null,"2")])])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"A"),Q("mi",null,"f"),Q("mo",null,"+"),Q("mi",null,"B"),Q("mo",null,"="),Q("msup",null,[Q("mi",null,"f"),Q("mn",null,"2")])])])])])],-1))]),T[203]||(T[203]=Q("p",null,"可以得到",-1)),Q("mjx-container",D1,[(t(),a("svg",v1,T[95]||(T[95]=[l('',1)]))),T[96]||(T[96]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"A")]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mi",null,"f"),Q("mo",null,"+"),Q("mi",null,"n")])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"B")]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"n"),Q("mi",null,"f")])])])])],-1))]),T[204]||(T[204]=Q("p",null,"得到这个转换矩阵为",-1)),Q("mjx-container",y1,[(t(),a("svg",j1,T[97]||(T[97]=[l('',1)]))),T[98]||(T[98]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ortho")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"n")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mi",null,"f"),Q("mo",null,"+"),Q("mi",null,"n")]),Q("mtd",null,[Q("mo",null,"−"),Q("mi",null,"n"),Q("mi",null,"f")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),T[205]||(T[205]=Q("h4",{id:"_10-2-2-从立方体到标准观察体",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_10-2-2-从立方体到标准观察体"},[Q("span",null,"10.2.2 从立方体到标准观察体")])],-1)),Q("p",null,[T[103]||(T[103]=m("这一步相对简单很多,只要将观察体的中心的")),Q("mjx-container",b1,[(t(),a("svg",C1,T[99]||(T[99]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D467",d:"M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"})])])],-1)]))),T[100]||(T[100]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"z")])],-1))]),T[104]||(T[104]=m("挪到原点,做一定的放缩,并且将")),Q("mjx-container",B1,[(t(),a("svg",A1,T[101]||(T[101]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D467",d:"M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"})])])],-1)]))),T[102]||(T[102]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"z")])],-1))]),T[105]||(T[105]=m("轴反转即可"))]),Q("mjx-container",k1,[(t(),a("svg",O1,T[106]||(T[106]=[l('',1)]))),T[107]||(T[107]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"ortho"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"w")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"h")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mo",null,"−"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"w")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"h")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])])])])],-1))]),T[206]||(T[206]=Q("h4",{id:"_10-2-3-合并后的矩阵",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_10-2-3-合并后的矩阵"},[Q("span",null,"10.2.3 合并后的矩阵")])],-1)),T[207]||(T[207]=Q("p",null,"最终得到合并后的投影矩阵为",-1)),Q("mjx-container",E1,[(t(),a("svg",R1,T[108]||(T[108]=[l('',1)]))),T[109]||(T[109]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"ortho"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])]),Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ortho")])])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mn",null,"2"),Q("mi",null,"n")]),Q("mi",null,"w")])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mn",null,"2"),Q("mi",null,"n")]),Q("mi",null,"h")])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"f")]),Q("mrow",null,[Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f")])])]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mn",null,"2"),Q("mi",null,"n"),Q("mi",null,"f")]),Q("mrow",null,[Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])])])])],-1))]),T[208]||(T[208]=Q("p",null,"在大部分工程项目中,摄像机的输入参数一般是如下几个",-1)),Q("ul",null,[Q("li",null,[T[112]||(T[112]=m("宽高比 ")),Q("mjx-container",N1,[(t(),a("svg",F1,T[110]||(T[110]=[l('',1)]))),T[111]||(T[111]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"a"),Q("mi",null,"s"),Q("mi",null,"p"),Q("mi",null,"e"),Q("mi",null,"c"),Q("mi",null,"t"),Q("mo",null,"="),Q("mi",null,"w"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mi",null,"h")])],-1))])]),Q("li",null,[T[115]||(T[115]=m("视场角fov,")),Q("mjx-container",S1,[(t(),a("svg",J1,T[113]||(T[113]=[l('',1)]))),T[114]||(T[114]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"tan"),Q("mo",{"data-mjx-texclass":"NONE"},"⁡"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"f"),Q("mi",null,"o"),Q("mi",null,"v"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mo",{stretchy:"false"},")"),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"h"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mi",null,"n")])],-1))])]),Q("li",null,[T[118]||(T[118]=m("近裁剪距离 ")),Q("mjx-container",G1,[(t(),a("svg",X1,T[116]||(T[116]=[l('',1)]))),T[117]||(T[117]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"|"),Q("mi",null,"n"),Q("mo",{"data-mjx-texclass":"CLOSE"},"|")]),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"n")])],-1))])]),Q("li",null,[T[121]||(T[121]=m("远裁剪距离 ")),Q("mjx-container",z1,[(t(),a("svg",P1,T[119]||(T[119]=[l('',1)]))),T[120]||(T[120]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"|"),Q("mi",null,"f"),Q("mo",{"data-mjx-texclass":"CLOSE"},"|")]),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"f")])],-1))])])]),T[209]||(T[209]=Q("p",null,"将这些值带入上面的公式,可以得到",-1)),Q("mjx-container",I1,[(t(),a("svg",W1,T[122]||(T[122]=[l('',1)]))),T[123]||(T[123]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mo",null,"−"),Q("mn",null,"1")]),Q("mrow",null,[Q("mtext",null,"aspect"),Q("mo",null,"."),Q("mi",null,"tan"),Q("mo",{"data-mjx-texclass":"NONE"},"⁡"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"f"),Q("mi",null,"o"),Q("mi",null,"v"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mo",{stretchy:"false"},")")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mo",null,"−"),Q("mn",null,"1")]),Q("mrow",null,[Q("mi",null,"tan"),Q("mo",{"data-mjx-texclass":"NONE"},"⁡"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"f"),Q("mi",null,"o"),Q("mi",null,"v"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mo",{stretchy:"false"},")")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")]),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mo",null,"−"),Q("mn",null,"2"),Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"."),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")]),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),Q("p",null,[T[126]||(T[126]=m("一般来说,当针对一个空间点做矩阵转换时,如果")),Q("mjx-container",q1,[(t(),a("svg",Y1,T[124]||(T[124]=[l('',1)]))),T[125]||(T[125]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mo",{stretchy:"false"},"["),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"x")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"y")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"z")]),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")]),Q("mo",null,"="),Q("mo",{stretchy:"false"},"["),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"x")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"y")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"z")]),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")])])],-1))]),T[127]||(T[127]=m(",那么"))]),Q("mjx-container",K1,[(t(),a("svg",U1,T[128]||(T[128]=[l('',1)]))),T[129]||(T[129]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mo",{stretchy:"false"},"("),Q("mi",null,"k"),Q("mi",{mathvariant:"bold-italic"},"M"),Q("mo",{stretchy:"false"},")"),Q("mo",{stretchy:"false"},"["),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"x")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"y")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"u"),Q("mi",null,"z")]),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mi",null,"k"),Q("mo",{stretchy:"false"},"["),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"x")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"y")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"z")]),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mo",{stretchy:"false"},"["),Q("mi",null,"k"),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"x")]),Q("mo",null,","),Q("mi",null,"k"),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"y")]),Q("mo",null,","),Q("mi",null,"k"),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"z")]),Q("mo",null,","),Q("mi",null,"k"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mo",{stretchy:"false"},"["),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"x")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"y")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"v"),Q("mi",null,"z")]),Q("mo",null,","),Q("mn",null,"1"),Q("msup",null,[Q("mo",{stretchy:"false"},"]"),Q("mi",null,"T")])])])])])],-1))]),Q("p",null,[T[134]||(T[134]=m("可知")),Q("mjx-container",$1,[(t(),a("svg",_1,T[130]||(T[130]=[l('',1)]))),T[131]||(T[131]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"k"),Q("mi",{mathvariant:"bold-italic"},"M")])],-1))]),T[135]||(T[135]=m("在针对空间点转换矩阵中等同于")),Q("mjx-container",Q2,[(t(),a("svg",T2,T[132]||(T[132]=[Q("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[Q("g",{"data-mml-node":"math"},[Q("g",{"data-mml-node":"mi"},[Q("path",{"data-c":"1D474",d:"M258 624H231Q214 624 208 626T199 639Q203 678 216 684Q220 686 347 686H473Q474 685 478 682T484 677Q487 673 535 413L584 153L608 187Q631 221 672 281T761 410Q935 663 943 671Q949 678 962 686H1082H1166Q1201 686 1210 683T1219 668Q1215 632 1203 626Q1199 624 1149 624H1100L1031 344Q960 64 960 63T1004 62H1031Q1063 62 1063 44Q1060 7 1046 2Q1042 0 1034 0Q1030 0 990 1T875 2Q804 2 767 1T725 0H723Q707 0 703 15Q707 54 720 60Q724 62 773 62H822Q961 618 961 619L754 318Q546 15 543 12Q531 0 510 0Q500 0 495 0T484 5T477 19Q477 20 421 315L367 604L299 335Q234 72 234 68Q234 62 302 62Q334 62 334 46Q332 8 317 2Q313 0 306 0Q301 0 267 1T181 2Q125 2 96 1T63 0Q48 0 43 15Q43 19 47 35Q52 55 57 58T94 62Q147 64 164 69L233 345Q302 619 302 622Q302 624 258 624Z"})])])],-1)]))),T[133]||(T[133]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",{mathvariant:"bold-italic"},"M")])],-1))]),T[136]||(T[136]=m(",所以为了表达方便,经常将上面得到的这个矩阵乘以-1,得到"))]),Q("mjx-container",a2,[(t(),a("svg",t2,T[137]||(T[137]=[l('',1)]))),T[138]||(T[138]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"persp"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"1"),Q("mrow",null,[Q("mtext",null,"aspect"),Q("mo",null,"."),Q("mi",null,"tan"),Q("mo",{"data-mjx-texclass":"NONE"},"⁡"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"f"),Q("mi",null,"o"),Q("mi",null,"v"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mo",{stretchy:"false"},")")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"1"),Q("mrow",null,[Q("mi",null,"tan"),Q("mo",{"data-mjx-texclass":"NONE"},"⁡"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"f"),Q("mi",null,"o"),Q("mi",null,"v"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2"),Q("mo",{stretchy:"false"},")")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")]),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mn",null,"2"),Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"."),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")]),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))]),T[210]||(T[210]=Q("h4",{id:"_10-2-4-深度插值",tabindex:"-1"},[Q("a",{class:"header-anchor",href:"#_10-2-4-深度插值"},[Q("span",null,"10.2.4 深度插值")])],-1)),T[211]||(T[211]=Q("figure",null,[Q("img",{src:p,alt:"",tabindex:"0",loading:"lazy"}),Q("figcaption")],-1)),Q("p",null,[T[147]||(T[147]=m("设摄像机坐标系中有一个线段")),Q("mjx-container",m2,[(t(),a("svg",l2,T[139]||(T[139]=[l('',1)]))),T[140]||(T[140]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"("),Q("msub",null,[Q("mi",null,"x"),Q("mn",null,"1")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"z"),Q("mn",null,"1")]),Q("mo",{stretchy:"false"},")"),Q("mo",null,","),Q("mo",{stretchy:"false"},"("),Q("msub",null,[Q("mi",null,"x"),Q("mn",null,"2")]),Q("mo",null,","),Q("msub",null,[Q("mi",null,"z"),Q("mn",null,"2")]),Q("mo",{stretchy:"false"},")")])],-1))]),T[148]||(T[148]=m(",在摄像机近平面上的投影为")),Q("mjx-container",n2,[(t(),a("svg",d2,T[141]||(T[141]=[l('',1)]))),T[142]||(T[142]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"("),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"1"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},")"),Q("mo",null,","),Q("mo",{stretchy:"false"},"("),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"2"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},")")])],-1))]),T[149]||(T[149]=m(",线段上有一点为")),Q("mjx-container",r2,[(t(),a("svg",o2,T[143]||(T[143]=[l('',1)]))),T[144]||(T[144]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"("),Q("mi",null,"x"),Q("mo",null,","),Q("mi",null,"z"),Q("mo",{stretchy:"false"},")")])],-1))]),T[150]||(T[150]=m(",投影为")),Q("mjx-container",e2,[(t(),a("svg",s2,T[145]||(T[145]=[l('',1)]))),T[146]||(T[146]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mo",{stretchy:"false"},"("),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,","),Q("mi",null,"n"),Q("mo",{stretchy:"false"},")")])],-1))]),T[151]||(T[151]=m(" 可知"))]),Q("mjx-container",g2,[(t(),a("svg",h2,T[152]||(T[152]=[l('',1)]))),T[153]||(T[153]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mi",null,"x"),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mo",null,"="),Q("mfrac",null,[Q("mi",null,"z"),Q("mi",null,"n")])])]),Q("mtr",null,[Q("mtd",null,[Q("mi",null,"x"),Q("mo",null,"="),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"z"),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mi",null,"n")])])])])])],-1))]),Q("p",null,[T[156]||(T[156]=m("设线段的方程为")),Q("mjx-container",H2,[(t(),a("svg",p2,T[154]||(T[154]=[l('',1)]))),T[155]||(T[155]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"a"),Q("mi",null,"x"),Q("mo",null,"+"),Q("mi",null,"b"),Q("mi",null,"z"),Q("mo",null,"="),Q("mi",null,"c")])],-1))]),T[157]||(T[157]=m(",带入可得"))]),Q("mjx-container",i2,[(t(),a("svg",u2,T[158]||(T[158]=[l('',1)]))),T[159]||(T[159]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mi",null,"a"),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"z"),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mi",null,"n")]),Q("mo",null,"+"),Q("mi",null,"b"),Q("mi",null,"z"),Q("mo",null,"="),Q("mi",null,"c")])]),Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"1"),Q("mi",null,"z")]),Q("mo",null,"="),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"a"),Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mrow",null,[Q("mi",null,"c"),Q("mi",null,"n")])]),Q("mo",null,"+"),Q("mfrac",null,[Q("mi",null,"b"),Q("mi",null,"c")])])])])])],-1))]),Q("p",null,[T[164]||(T[164]=m("当投影点")),Q("mjx-container",c2,[(t(),a("svg",f2,T[160]||(T[160]=[l('',1)]))),T[161]||(T[161]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])])],-1))]),T[165]||(T[165]=m("在投影线段上线性移动时,")),Q("mjx-container",V2,[(t(),a("svg",M2,T[162]||(T[162]=[l('',1)]))),T[163]||(T[163]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,"="),Q("mo",{stretchy:"false"},"("),Q("mn",null,"1"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"1"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,"+"),Q("mi",null,"t"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"2"),Q("mo",{"data-mjx-alternate":"1"},"′")])])],-1))]),T[166]||(T[166]=m(",可得"))]),Q("mjx-container",L2,[(t(),a("svg",Z2,T[167]||(T[167]=[l('',1)]))),T[168]||(T[168]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"1"),Q("mi",null,"z")])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mfrac",null,[Q("mi",null,"a"),Q("mrow",null,[Q("mi",null,"c"),Q("mi",null,"n")])]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"("),Q("mo",{stretchy:"false"},"("),Q("mn",null,"1"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"1"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",null,"+"),Q("mi",null,"t"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"2"),Q("mo",{"data-mjx-alternate":"1"},"′")]),Q("mo",{"data-mjx-texclass":"CLOSE"},")")]),Q("mo",null,"+"),Q("mfrac",null,[Q("mi",null,"b"),Q("mi",null,"c")])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mo",{stretchy:"false"},"("),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"a"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"1"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mrow",null,[Q("mi",null,"c"),Q("mi",null,"n")])]),Q("mo",null,"+"),Q("mfrac",null,[Q("mi",null,"b"),Q("mi",null,"c")]),Q("mo",{stretchy:"false"},")"),Q("mo",{stretchy:"false"},"("),Q("mn",null,"1"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")"),Q("mo",null,"+"),Q("mo",{stretchy:"false"},"("),Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"a"),Q("msubsup",null,[Q("mi",null,"x"),Q("mn",null,"2"),Q("mo",{"data-mjx-alternate":"1"},"′")])]),Q("mrow",null,[Q("mi",null,"c"),Q("mi",null,"n")])]),Q("mo",null,"+"),Q("mfrac",null,[Q("mi",null,"b"),Q("mi",null,"c")]),Q("mo",{stretchy:"false"},")"),Q("mi",null,"t")])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mfrac",null,[Q("mn",null,"1"),Q("msub",null,[Q("mi",null,"z"),Q("mn",null,"1")])]),Q("mo",{stretchy:"false"},"("),Q("mn",null,"1"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")"),Q("mo",null,"+"),Q("mfrac",null,[Q("mn",null,"1"),Q("msub",null,[Q("mi",null,"z"),Q("mn",null,"2")])]),Q("mi",null,"t")])])])])],-1))]),Q("p",null,[T[171]||(T[171]=m("也就是说,当投影点")),Q("mjx-container",x2,[(t(),a("svg",w2,T[169]||(T[169]=[l('',1)]))),T[170]||(T[170]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("msup",null,[Q("mi",null,"x"),Q("mo",{"data-mjx-alternate":"1"},"′")])])],-1))]),T[172]||(T[172]=m("在投影线段上线性移动时,原线段上的点的深度值的倒数是线性变换的"))]),T[212]||(T[212]=l('

11. 正交投影变换(Orthogonal Projection Transformations)

11.1 定义

正交投影没有“远大近小”的效果

11.2 求解过程

相比透视投影,正交投影只需要将一个立方体形状的摄影范围最终映射到标准设备坐标系(NDC)下的一个标准立方体(Cuboid)即可

',6)),Q("mjx-container",D2,[(t(),a("svg",v2,T[173]||(T[173]=[l('',1)]))),T[174]||(T[174]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[Q("mtr",null,[Q("mtd",null,[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"ortho"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])])]),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"l"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"t"),Q("mo",null,"−"),Q("mi",null,"b"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")]),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"l"),Q("mo",null,"+"),Q("mi",null,"r"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"t"),Q("mo",null,"+"),Q("mi",null,"b"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")]),Q("mtd",null,[Q("mo",null,"−"),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mn",null,"2")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])]),Q("mtr",null,[Q("mtd"),Q("mtd",null,[Q("mi"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnalign:"center",columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"l"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",{stretchy:"false"},"("),Q("mi",null,"l"),Q("mo",null,"+"),Q("mi",null,"r"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"l"),Q("mo",null,"−"),Q("mi",null,"r"),Q("mo",{stretchy:"false"},")")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"t"),Q("mo",null,"−"),Q("mi",null,"b"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",{stretchy:"false"},"("),Q("mi",null,"b"),Q("mo",null,"+"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"b"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mo",{stretchy:"false"},")")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mo",null,"−"),Q("mn",null,"2"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")]),Q("mtd",null,[Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mo",null,"/")]),Q("mo",{stretchy:"false"},"("),Q("mi",null,"n"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mo",{stretchy:"false"},")")])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])])])])],-1))]),T[213]||(T[213]=Q("p",null,"同理,在工程中一般标注一个正交投影摄像机的主要参数如下",-1)),Q("ul",null,[Q("li",null,[T[177]||(T[177]=m("近裁剪距离 ")),Q("mjx-container",y2,[(t(),a("svg",j2,T[175]||(T[175]=[l('',1)]))),T[176]||(T[176]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"|"),Q("mi",null,"n"),Q("mo",{"data-mjx-texclass":"CLOSE"},"|")]),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"n")])],-1))])]),Q("li",null,[T[180]||(T[180]=m("远裁剪距离 ")),Q("mjx-container",b2,[(t(),a("svg",C2,T[178]||(T[178]=[l('',1)]))),T[179]||(T[179]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"|"),Q("mi",null,"f"),Q("mo",{"data-mjx-texclass":"CLOSE"},"|")]),Q("mo",null,"="),Q("mo",null,"−"),Q("mi",null,"f")])],-1))])]),Q("li",null,[T[183]||(T[183]=m("左侧裁剪面坐标 ")),Q("mjx-container",B2,[(t(),a("svg",A2,T[181]||(T[181]=[l('',1)]))),T[182]||(T[182]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"l"),Q("mi",null,"e"),Q("mi",null,"f"),Q("mi",null,"t"),Q("mo",null,"="),Q("mi",null,"l")])],-1))])]),Q("li",null,[T[186]||(T[186]=m("右侧裁剪面坐标 ")),Q("mjx-container",k2,[(t(),a("svg",O2,T[184]||(T[184]=[l('',1)]))),T[185]||(T[185]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"l"),Q("mi",null,"e"),Q("mi",null,"f"),Q("mi",null,"t"),Q("mo",null,"="),Q("mi",null,"l")])],-1))])]),Q("li",null,[T[189]||(T[189]=m("上侧裁剪面坐标 ")),Q("mjx-container",E2,[(t(),a("svg",R2,T[187]||(T[187]=[l('',1)]))),T[188]||(T[188]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"p"),Q("mo",null,"="),Q("mi",null,"t")])],-1))])]),Q("li",null,[T[192]||(T[192]=m("下侧裁剪面坐标 ")),Q("mjx-container",N2,[(t(),a("svg",F2,T[190]||(T[190]=[l('',1)]))),T[191]||(T[191]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"b"),Q("mi",null,"o"),Q("mi",null,"t"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"m"),Q("mo",null,"="),Q("mi",null,"t")])],-1))]),T[193]||(T[193]=m(" 带入上面的公式可以得到"))])]),Q("mjx-container",S2,[(t(),a("svg",J2,T[194]||(T[194]=[l('',1)]))),T[195]||(T[195]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("msub",null,[Q("mi",{mathvariant:"bold-italic"},"M"),Q("mrow",{"data-mjx-texclass":"ORD"},[Q("mtext",null,"ortho"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"ccv")])]),Q("mo",null,"="),Q("mrow",{"data-mjx-texclass":"INNER"},[Q("mo",{"data-mjx-texclass":"OPEN"},"["),Q("mtable",{columnspacing:"1em",rowspacing:"4pt"},[Q("mtr",null,[Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"2"),Q("mrow",null,[Q("mi",null,"r"),Q("mi",null,"i"),Q("mi",null,"g"),Q("mi",null,"h"),Q("mi",null,"t"),Q("mo",null,"−"),Q("mi",null,"l"),Q("mi",null,"e"),Q("mi",null,"f"),Q("mi",null,"t")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"l"),Q("mi",null,"e"),Q("mi",null,"f"),Q("mi",null,"t"),Q("mo",null,"+"),Q("mi",null,"r"),Q("mi",null,"i"),Q("mi",null,"g"),Q("mi",null,"h"),Q("mi",null,"t")]),Q("mrow",null,[Q("mi",null,"l"),Q("mi",null,"e"),Q("mi",null,"f"),Q("mi",null,"t"),Q("mo",null,"−"),Q("mi",null,"r"),Q("mi",null,"i"),Q("mi",null,"g"),Q("mi",null,"h"),Q("mi",null,"t")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"2"),Q("mrow",null,[Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"p"),Q("mo",null,"−"),Q("mi",null,"b"),Q("mi",null,"o"),Q("mi",null,"t"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"m")])])]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"b"),Q("mi",null,"o"),Q("mi",null,"t"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"m"),Q("mo",null,"+"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"p")]),Q("mrow",null,[Q("mi",null,"b"),Q("mi",null,"o"),Q("mi",null,"t"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"m"),Q("mo",null,"−"),Q("mi",null,"t"),Q("mi",null,"o"),Q("mi",null,"p")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mfrac",null,[Q("mn",null,"2"),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])]),Q("mtd",null,[Q("mfrac",null,[Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"+"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")]),Q("mrow",null,[Q("mi",null,"n"),Q("mi",null,"e"),Q("mi",null,"a"),Q("mi",null,"r"),Q("mo",null,"−"),Q("mi",null,"f"),Q("mi",null,"a"),Q("mi",null,"r")])])])]),Q("mtr",null,[Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"0")]),Q("mtd",null,[Q("mn",null,"1")])])]),Q("mo",{"data-mjx-texclass":"CLOSE"},"]")])])],-1))])])}const P2=d(u,[["render",G2],["__file","transform_04.html.vue"]]),I2=JSON.parse('{"path":"/note/graphics/math/transform_04.html","title":"几何变换(四)","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"8. 视图变换管线概览","slug":"_8-视图变换管线概览","link":"#_8-视图变换管线概览","children":[]},{"level":2,"title":"9. 摄像机视图变换(Viewing/Camera Transformation)","slug":"_9-摄像机视图变换-viewing-camera-transformation","link":"#_9-摄像机视图变换-viewing-camera-transformation","children":[{"level":3,"title":"9.1 定义","slug":"_9-1-定义","link":"#_9-1-定义","children":[]},{"level":3,"title":"9.2 计算","slug":"_9-2-计算","link":"#_9-2-计算","children":[]}]},{"level":2,"title":"10. 透视投影变换(Perspective Projective Transformations)","slug":"_10-透视投影变换-perspective-projective-transformations","link":"#_10-透视投影变换-perspective-projective-transformations","children":[{"level":3,"title":"10.1 定义","slug":"_10-1-定义","link":"#_10-1-定义","children":[]},{"level":3,"title":"10.2 求解过程","slug":"_10-2-求解过程","link":"#_10-2-求解过程","children":[]}]},{"level":2,"title":"11. 正交投影变换(Orthogonal Projection Transformations)","slug":"_11-正交投影变换-orthogonal-projection-transformations","link":"#_11-正交投影变换-orthogonal-projection-transformations","children":[{"level":3,"title":"11.1 定义","slug":"_11-1-定义","link":"#_11-1-定义","children":[]},{"level":3,"title":"11.2 求解过程","slug":"_11-2-求解过程","link":"#_11-2-求解过程","children":[]}]}],"git":{},"filePathRelative":"note/graphics/math/transform_04.md"}');export{P2 as comp,I2 as data};