import{_ as d}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,a as l,b as Q,e as m,d as r,w as o,r as e,o as t}from"./app-zNUiodpH.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",c={},u={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},V={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"},f={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"},O={class:"MathJax",jax:"SVG",style:{position:"relative"}},k={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"},Y={class:"MathJax",jax:"SVG",style:{position:"relative"}},q={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"}},c1={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"},u1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},V1={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"},f1={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"},O1={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},k1={style:{"vertical-align":"-11.538ex"},xmlns:"http://www.w3.org/2000/svg",width:"82.496ex",height:"24.208ex",role:"img",focusable:"false",viewBox:"0 -5600 36463.1 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.771ex",height:"16.846ex",role:"img",focusable:"false",viewBox:"0 -3973 17136.6 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.241ex",height:"14.718ex",role:"img",focusable:"false",viewBox:"0 -3502.7 28394.5 6505.5","aria-hidden":"true"},Y1={class:"MathJax",jax:"SVG",style:{position:"relative"}},q1={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",width:"full",style:{"min-width":"83.462ex",position:"relative"}},t2={style:{"vertical-align":"-6.785ex","min-width":"83.462ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"14.7ex",role:"img",focusable:"false","aria-hidden":"true"},m2={class:"MathJax",jax:"SVG",display:"true",width:"full",style:{"min-width":"83.462ex",position:"relative"}},l2={style:{"vertical-align":"-6.785ex","min-width":"83.462ex"},xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"14.7ex",role:"img",focusable:"false","aria-hidden":"true"},n2={class:"MathJax",jax:"SVG",style:{position:"relative"}},d2={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"},r2={class:"MathJax",jax:"SVG",style:{position:"relative"}},o2={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"},e2={class:"MathJax",jax:"SVG",style:{position:"relative"}},s2={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"},g2={class:"MathJax",jax:"SVG",style:{position:"relative"}},h2={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"},H2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},p2={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"},i2={class:"MathJax",jax:"SVG",style:{position:"relative"}},c2={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"},u2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},V2={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"},f2={class:"MathJax",jax:"SVG",style:{position:"relative"}},M2={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"},L2={class:"MathJax",jax:"SVG",style:{position:"relative"}},Z2={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"},x2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},w2={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"},D2={class:"MathJax",jax:"SVG",style:{position:"relative"}},v2={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"},y2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},j2={style:{"vertical-align":"-13.009ex"},xmlns:"http://www.w3.org/2000/svg",width:"81.597ex",height:"27.149ex",role:"img",focusable:"false",viewBox:"0 -6250 36065.7 12000","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:"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"}},A2={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"},O2={class:"MathJax",jax:"SVG",style:{position:"relative"}},k2={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.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"},N2={class:"MathJax",jax:"SVG",style:{position:"relative"}},F2={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"},S2={class:"MathJax",jax:"SVG",style:{position:"relative"}},J2={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"},G2={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},X2={style:{"vertical-align":"-6.897ex"},xmlns:"http://www.w3.org/2000/svg",width:"58.14ex",height:"14.925ex",role:"img",focusable:"false",viewBox:"0 -3548.5 25698.1 6596.9","aria-hidden":"true"};function z2(P2,T){const n=e("RouteLink");return t(),a("div",null,[T[202]||(T[202]=l('
一个物体从独立的物体最终转换为2D图像,期间经过如下坐标变换

- Modeling transformation: 由局部坐标系(Local Space)转换为世界坐标系(World Space)
- Viewing transformation: 由世界坐标系(World Space)转换为摄像机坐标系(View Space)
- Projection transformation: 由摄像机坐标系(View Space)转换为标准设备坐标系NDC(Normalized Device Coordinate)
- Viewport transformation: 由NDC坐标系转换为视口坐标系(Screen coordinate System)
视图变换是将物体的世界坐标系转换到摄像机的坐标系

摄像机坐标系以观察点(eye)为原点,向前方向为-z轴,x轴指向右侧(右手坐标系)
所以
',11)),Q("mjx-container",u,[(t(),a("svg",V,[...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,"e"),Q("mi",null,"y"),Q("mi",null,"e"),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("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[203]||(T[203]=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("根据",-1)),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)])]),_:1}),T[8]||(T[8]=m(",设摄像机在世界坐标系中的位置为",-1)),Q("mjx-container",f,[(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(",摄像机的三个轴的单位轴向量为",-1)),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("视图变换矩阵为",-1))]),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[204]||(T[204]=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[205]||(T[205]=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),也就是坐标值在一个",-1)),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)",-1)),T[17]||(T[17]=Q("br",null,null,-1)),T[18]||(T[18]=m(" 可以将这个过程分为两步,首先构造一个坐标转换,将摄像机的摄影范围构成的视锥体(Frustum)变形成一个立方体(Cuboid),然后再将这个立方体转化为成标准设备坐标系下(NDC)的标准观察体CCV(Canonical View Volume)",-1))]),T[206]||(T[206]=Q("figure",null,[Q("img",{src:h,alt:"",tabindex:"0",loading:"lazy"}),Q("figcaption")],-1)),Q("p",null,[T[23]||(T[23]=m("NDC坐标系在不同的系统上有不同的约定,在DirectX中,近平面到远平面映射到",-1)),Q("mjx-container",y,[(t(),a("svg",j,[...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("mn",null,"0"),Q("mo",null,","),Q("mn",null,"1"),Q("mo",{stretchy:"false"},"]")])],-1))]),T[24]||(T[24]=m(",在OpenGL则是把近平面到远平面映射到",-1)),Q("mjx-container",b,[(t(),a("svg",C,[...T[21]||(T[21]=[l('',1)])])),T[22]||(T[22]=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[25]||(T[25]=m(",但一般都把NDC坐标系设为左手坐标系。",-1))]),T[207]||(T[207]=l('
',3)),Q("p",null,[T[34]||(T[34]=m("设摄像机坐标系中的点",-1)),Q("mjx-container",B,[(t(),a("svg",A,[...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("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[35]||(T[35]=m(",转换后的坐标为",-1)),Q("mjx-container",O,[(t(),a("svg",k,[...T[28]||(T[28]=[l('',1)])])),T[29]||(T[29]=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[36]||(T[36]=m(",由定义可知",-1)),Q("mjx-container",E,[(t(),a("svg",R,[...T[30]||(T[30]=[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[31]||(T[31]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"p")])],-1))]),T[37]||(T[37]=m("投影到摄像机近裁剪面上的点为",-1)),Q("mjx-container",N,[(t(),a("svg",F,[...T[32]||(T[32]=[l('',1)])])),T[33]||(T[33]=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[38]||(T[38]=m(",由相似三角形可知",-1))]),Q("mjx-container",S,[(t(),a("svg",J,[...T[39]||(T[39]=[l('',1)])])),T[40]||(T[40]=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[43]||(T[43]=m("设这个转换矩阵为",-1)),Q("mjx-container",G,[(t(),a("svg",X,[...T[41]||(T[41]=[l('',1)])])),T[42]||(T[42]=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[44]||(T[44]=m(", 可知",-1))]),Q("mjx-container",z,[(t(),a("svg",P,[...T[45]||(T[45]=[l('',1)])])),T[46]||(T[46]=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[51]||(T[51]=m("对于表示一个点的其次坐标,所有数值乘以一个同样的数,所表达的意义相同,所以",-1)),Q("mjx-container",I,[(t(),a("svg",W,[...T[47]||(T[47]=[l('',1)])])),T[48]||(T[48]=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[52]||(T[52]=m(",这里先暂时忽略",-1)),Q("mjx-container",Y,[(t(),a("svg",q,[...T[49]||(T[49]=[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[50]||(T[50]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"z")])],-1))]),T[53]||(T[53]=m("轴,可以得到",-1))]),Q("mjx-container",K,[(t(),a("svg",U,[...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("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[208]||(T[208]=Q("p",null,"由此可以推断出,这个矩阵的第1,2和4行",-1)),Q("mjx-container",$,[(t(),a("svg",_,[...T[56]||(T[56]=[l('',1)])])),T[57]||(T[57]=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[60]||(T[60]=m("考虑特殊情况,近平面上的任意一点",-1)),Q("mjx-container",Q1,[(t(),a("svg",T1,[...T[58]||(T[58]=[l('',1)])])),T[59]||(T[59]=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[61]||(T[61]=m("经过这个矩阵转换后",-1))]),Q("mjx-container",a1,[(t(),a("svg",t1,[...T[62]||(T[62]=[l('',1)])])),T[63]||(T[63]=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[72]||(T[72]=m("由于近平面上的点经过转换后坐标不变,所以",-1)),Q("mjx-container",m1,[(t(),a("svg",l1,[...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,"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[73]||(T[73]=m(",而",-1)),Q("mjx-container",n1,[(t(),a("svg",d1,[...T[66]||(T[66]=[l('',1)])])),T[67]||(T[67]=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[74]||(T[74]=m("作为其次坐标,所有数值都乘以",-1)),Q("mjx-container",r1,[(t(),a("svg",o1,[...T[68]||(T[68]=[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[69]||(T[69]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"n")])],-1))]),T[75]||(T[75]=m(",可以得到",-1)),Q("mjx-container",e1,[(t(),a("svg",s1,[...T[70]||(T[70]=[l('',1)])])),T[71]||(T[71]=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[76]||(T[76]=m(",所以",-1))]),Q("mjx-container",g1,[(t(),a("svg",h1,[...T[77]||(T[77]=[l('',1)])])),T[78]||(T[78]=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[83]||(T[83]=m("同理,远平面上的任意一个点",-1)),Q("mjx-container",H1,[(t(),a("svg",p1,[...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("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[84]||(T[84]=m("转换后为",-1)),Q("mjx-container",i1,[(t(),a("svg",c1,[...T[81]||(T[81]=[l('',1)])])),T[82]||(T[82]=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[85]||(T[85]=m(",可以得到",-1))]),Q("mjx-container",u1,[(t(),a("svg",V1,[...T[86]||(T[86]=[l('',1)])])),T[87]||(T[87]=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[92]||(T[92]=m("由此可知,第三行的数值和",-1)),Q("mjx-container",f1,[(t(),a("svg",M1,[...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("mi",null,"x"),Q("mo",null,","),Q("mi",null,"y")])],-1))]),T[93]||(T[93]=m("无关,一定是形如",-1)),Q("mjx-container",L1,[(t(),a("svg",Z1,[...T[90]||(T[90]=[l('',1)])])),T[91]||(T[91]=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[94]||(T[94]=m("这样的形式,且",-1))]),Q("mjx-container",x1,[(t(),a("svg",w1,[...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",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[209]||(T[209]=Q("p",null,"可以得到",-1)),Q("mjx-container",D1,[(t(),a("svg",v1,[...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("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[210]||(T[210]=Q("p",null,"得到这个转换矩阵为",-1)),Q("mjx-container",y1,[(t(),a("svg",j1,[...T[99]||(T[99]=[l('',1)])])),T[100]||(T[100]=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[211]||(T[211]=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[105]||(T[105]=m("这一步相对简单很多,只要将观察体的中心的",-1)),Q("mjx-container",b1,[(t(),a("svg",C1,[...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[106]||(T[106]=m("挪到原点,做一定的放缩,并且将",-1)),Q("mjx-container",B1,[(t(),a("svg",A1,[...T[103]||(T[103]=[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[104]||(T[104]=Q("mjx-assistive-mml",{unselectable:"on",display:"inline"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[Q("mi",null,"z")])],-1))]),T[107]||(T[107]=m("轴反转即可",-1))]),Q("mjx-container",O1,[(t(),a("svg",k1,[...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,"ortho"),Q("mo",{stretchy:"false"},"→"),Q("mtext",null,"cvv")])])]),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[212]||(T[212]=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[213]||(T[213]=Q("p",null,"最终得到合并后的投影矩阵为",-1)),Q("mjx-container",E1,[(t(),a("svg",R1,[...T[110]||(T[110]=[l('',1)])])),T[111]||(T[111]=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,"cvv")])])]),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,"cvv")])]),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[214]||(T[214]=Q("p",null,"在大部分工程项目中,摄像机的输入参数一般是如下几个",-1)),Q("ul",null,[Q("li",null,[T[114]||(T[114]=m("宽高比 ",-1)),Q("mjx-container",N1,[(t(),a("svg",F1,[...T[112]||(T[112]=[l('',1)])])),T[113]||(T[113]=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[117]||(T[117]=m("视场角fov,",-1)),Q("mjx-container",S1,[(t(),a("svg",J1,[...T[115]||(T[115]=[l('',1)])])),T[116]||(T[116]=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[120]||(T[120]=m("近裁剪距离 ",-1)),Q("mjx-container",G1,[(t(),a("svg",X1,[...T[118]||(T[118]=[l('',1)])])),T[119]||(T[119]=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[123]||(T[123]=m("远裁剪距离 ",-1)),Q("mjx-container",z1,[(t(),a("svg",P1,[...T[121]||(T[121]=[l('',1)])])),T[122]||(T[122]=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[215]||(T[215]=Q("p",null,"将这些值带入上面的公式,可以得到",-1)),Q("mjx-container",I1,[(t(),a("svg",W1,[...T[124]||(T[124]=[l('',1)])])),T[125]||(T[125]=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,"cvv")])]),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[128]||(T[128]=m("一般来说,当针对一个空间点做矩阵转换时,如果",-1)),Q("mjx-container",Y1,[(t(),a("svg",q1,[...T[126]||(T[126]=[l('',1)])])),T[127]||(T[127]=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[129]||(T[129]=m(",那么",-1))]),Q("mjx-container",K1,[(t(),a("svg",U1,[...T[130]||(T[130]=[l('',1)])])),T[131]||(T[131]=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[136]||(T[136]=m("可知",-1)),Q("mjx-container",$1,[(t(),a("svg",_1,[...T[132]||(T[132]=[l('',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",null,"k"),Q("mi",{mathvariant:"bold-italic"},"M")])],-1))]),T[137]||(T[137]=m("在针对空间点转换矩阵中等同于",-1)),Q("mjx-container",Q2,[(t(),a("svg",T2,[...T[134]||(T[134]=[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[135]||(T[135]=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[138]||(T[138]=m(",所以为了表达方便,经常将上面得到的这个矩阵乘以-1,得到",-1))]),Q("mjx-container",a2,[(t(),a("svg",t2,[...T[139]||(T[139]=[l('',1)])])),T[140]||(T[140]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(10.2.3.1)")]),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,"cvv")])]),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[216]||(T[216]=Q("p",null,"有时候也会使用Zero-To-One的CVV坐标,也就是z轴是从0到1,这种情况下的转换矩阵为:",-1)),Q("mjx-container",m2,[(t(),a("svg",l2,[...T[141]||(T[141]=[l('',1)])])),T[142]||(T[142]=Q("mjx-assistive-mml",{unselectable:"on",display:"block"},[Q("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[Q("mtable",{displaystyle:"true"},[Q("mlabeledtr",null,[Q("mtd",null,[Q("mtext",null,"(10.2.3.2)")]),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,"cvv")])]),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,"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("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[217]||(T[217]=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[218]||(T[218]=Q("figure",null,[Q("img",{src:p,alt:"",tabindex:"0",loading:"lazy"}),Q("figcaption")],-1)),Q("p",null,[T[151]||(T[151]=m("设摄像机坐标系中有一个线段",-1)),Q("mjx-container",n2,[(t(),a("svg",d2,[...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("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[152]||(T[152]=m(",在摄像机近平面上的投影为",-1)),Q("mjx-container",r2,[(t(),a("svg",o2,[...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("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[153]||(T[153]=m(",线段上有一点为",-1)),Q("mjx-container",e2,[(t(),a("svg",s2,[...T[147]||(T[147]=[l('',1)])])),T[148]||(T[148]=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[154]||(T[154]=m(",投影为",-1)),Q("mjx-container",g2,[(t(),a("svg",h2,[...T[149]||(T[149]=[l('',1)])])),T[150]||(T[150]=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[155]||(T[155]=Q("br",null,null,-1)),T[156]||(T[156]=m(" 可知",-1))]),Q("mjx-container",H2,[(t(),a("svg",p2,[...T[157]||(T[157]=[l('',1)])])),T[158]||(T[158]=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[161]||(T[161]=m("设线段的方程为",-1)),Q("mjx-container",i2,[(t(),a("svg",c2,[...T[159]||(T[159]=[l('',1)])])),T[160]||(T[160]=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[162]||(T[162]=m(",带入可得",-1))]),Q("mjx-container",u2,[(t(),a("svg",V2,[...T[163]||(T[163]=[l('',1)])])),T[164]||(T[164]=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[169]||(T[169]=m("当投影点",-1)),Q("mjx-container",f2,[(t(),a("svg",M2,[...T[165]||(T[165]=[l('',1)])])),T[166]||(T[166]=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[170]||(T[170]=m("在投影线段上线性移动时,",-1)),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:"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[171]||(T[171]=m(",可得",-1))]),Q("mjx-container",x2,[(t(),a("svg",w2,[...T[172]||(T[172]=[l('',1)])])),T[173]||(T[173]=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[176]||(T[176]=m("也就是说,当投影点",-1)),Q("mjx-container",D2,[(t(),a("svg",v2,[...T[174]||(T[174]=[l('',1)])])),T[175]||(T[175]=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[177]||(T[177]=m("在投影线段上线性移动时,原线段上的点的深度值的倒数是线性变换的",-1))]),T[219]||(T[219]=l('
正交投影没有“远大近小”的效果
相比透视投影,正交投影只需要将一个立方体形状的摄影范围最终映射到标准设备坐标系(NDC)下的一个标准立方体(Cuboid)即可
',6)),Q("mjx-container",y2,[(t(),a("svg",j2,[...T[178]||(T[178]=[l('',1)])])),T[179]||(T[179]=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"),Q("mtd",null,[Q("mstyle",{scriptlevel:"0"},[Q("mspace",{width:"1em"})]),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,"cvv")])])])]),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,"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[220]||(T[220]=Q("p",null,"同理,在工程中一般标注一个正交投影摄像机的主要参数如下",-1)),Q("ul",null,[Q("li",null,[T[182]||(T[182]=m("近裁剪距离 ",-1)),Q("mjx-container",b2,[(t(),a("svg",C2,[...T[180]||(T[180]=[l('',1)])])),T[181]||(T[181]=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[185]||(T[185]=m("远裁剪距离 ",-1)),Q("mjx-container",B2,[(t(),a("svg",A2,[...T[183]||(T[183]=[l('',1)])])),T[184]||(T[184]=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[188]||(T[188]=m("左侧裁剪面坐标 ",-1)),Q("mjx-container",O2,[(t(),a("svg",k2,[...T[186]||(T[186]=[l('',1)])])),T[187]||(T[187]=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[191]||(T[191]=m("右侧裁剪面坐标 ",-1)),Q("mjx-container",E2,[(t(),a("svg",R2,[...T[189]||(T[189]=[l('',1)])])),T[190]||(T[190]=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[194]||(T[194]=m("上侧裁剪面坐标 ",-1)),Q("mjx-container",N2,[(t(),a("svg",F2,[...T[192]||(T[192]=[l('',1)])])),T[193]||(T[193]=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[197]||(T[197]=m("下侧裁剪面坐标 ",-1)),Q("mjx-container",S2,[(t(),a("svg",J2,[...T[195]||(T[195]=[l('',1)])])),T[196]||(T[196]=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[198]||(T[198]=Q("br",null,null,-1)),T[199]||(T[199]=m(" 带入上面的公式可以得到",-1))])]),Q("mjx-container",G2,[(t(),a("svg",X2,[...T[200]||(T[200]=[l('',1)])])),T[201]||(T[201]=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,"cvv")])]),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 Y2=d(c,[["render",z2]]),q2=JSON.parse('{"path":"/note/graphics/math/transform_04.html","title":"几何变换(四)","lang":"zh-CN","frontmatter":{"description":"几何变换(四) 8. 视图变换管线概览 一个物体从独立的物体最终转换为2D图像,期间经过如下坐标变换 Modeling transformation: 由局部坐标系(Local Space)转换为世界坐标系(World Space) Viewing transformation: 由世界坐标系(World Space)转换为摄像机坐标系(View Sp...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"几何变换(四)\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-08-31T08:33:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"JinChao\\",\\"url\\":\\"https://thecodeway.com\\"}]}"],["meta",{"property":"og:url","content":"https://thejinchao.github.io/note/graphics/math/transform_04.html"}],["meta",{"property":"og:site_name","content":"我的博客和笔记"}],["meta",{"property":"og:title","content":"几何变换(四)"}],["meta",{"property":"og:description","content":"几何变换(四) 8. 视图变换管线概览 一个物体从独立的物体最终转换为2D图像,期间经过如下坐标变换 Modeling transformation: 由局部坐标系(Local Space)转换为世界坐标系(World Space) Viewing transformation: 由世界坐标系(World Space)转换为摄像机坐标系(View Sp..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-08-31T08:33:30.000Z"}],["meta",{"property":"article:modified_time","content":"2025-08-31T08:33:30.000Z"}]]},"git":{"createdTime":1740235322000,"updatedTime":1756629210000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":5,"url":"https://github.com/thejinchao"},{"name":"neochaojin","username":"neochaojin","email":"neochaojin@tencent.com","commits":1,"url":"https://github.com/neochaojin"}]},"readingTime":{"minutes":7.54,"words":2261},"filePathRelative":"note/graphics/math/transform_04.md","autoDesc":true}');export{Y2 as comp,q2 as data};