import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,a as l,b as a,e as T,d as e,w as o,r as s,o as m}from"./app-D3AKSfRn.js";const r="/assets/transform_normal-BoPThMlc.svg",H={},g={class:"MathJax",jax:"SVG",style:{position:"relative"}},h={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.725ex",height:"2.667ex",role:"img",focusable:"false",viewBox:"0 -1097 2972.6 1179","aria-hidden":"true"},i={class:"MathJax",jax:"SVG",style:{position:"relative"}},p={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.937ex",height:"2.12ex",role:"img",focusable:"false",viewBox:"0 -855 3950 937","aria-hidden":"true"},c={class:"MathJax",jax:"SVG",style:{position:"relative"}},V={style:{"vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.434ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 6379.6 1045","aria-hidden":"true"},L={class:"MathJax",jax:"SVG",style:{position:"relative"}},f={style:{"vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.624ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 6463.6 1045","aria-hidden":"true"},x={class:"MathJax",jax:"SVG",style:{position:"relative"}},u={style:{"vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.978ex",height:"2.09ex",role:"img",focusable:"false",viewBox:"0 -841.7 3526.4 923.7","aria-hidden":"true"},M={class:"MathJax",jax:"SVG",style:{position:"relative"}},Z={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.167ex",height:"2.507ex",role:"img",focusable:"false",viewBox:"0 -1097 958 1108","aria-hidden":"true"},w={class:"MathJax",jax:"SVG",style:{position:"relative"}},D={style:{"vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.423ex",height:"2.507ex",role:"img",focusable:"false",viewBox:"0 -1097 1512.9 1108","aria-hidden":"true"},j={class:"MathJax",jax:"SVG",style:{position:"relative"}},v={style:{"vertical-align":"0"},xmlns:"http://www.w3.org/2000/svg",width:"1.697ex",height:"1.62ex",role:"img",focusable:"false",viewBox:"0 -716 750 716","aria-hidden":"true"},y={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},R={style:{"vertical-align":"-10.495ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.542ex",height:"22.121ex",role:"img",focusable:"false",viewBox:"0 -5138.8 9521.4 9777.5","aria-hidden":"true"},O={class:"MathJax",jax:"SVG",display:"true",style:{position:"relative"}},b={style:{"vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.622ex",height:"2.583ex",role:"img",focusable:"false",viewBox:"0 -891.7 5137 1141.7","aria-hidden":"true"};function A(X,Q){const d=s("RouteLink");return m(),t("div",null,[Q[32]||(Q[32]=l('
做几何变换时,法线比较特殊,需要保证法线经过变换之后仍然垂直于原先的切平面,如果使用和顶点变换相同的变换,无法保证这一点

如图,线段ab经过放缩变换之后成为a'b',但法线经过同样的放缩矩阵变换之后发生错误,实际法线需要另外的矩阵计算
',8)),a("p",null,[Q[17]||(Q[17]=T("以上图为例,设",-1)),a("mjx-container",g,[(m(),t("svg",h,[...Q[0]||(Q[0]=[l('',1)])])),Q[1]||(Q[1]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"u"),a("mo",{stretchy:"false"},"→")])]),a("mo",null,"="),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mrow",null,[a("mi",null,"a"),a("mi",null,"b")]),a("mo",{stretchy:"false"},"→")])])])],-1))]),Q[18]||(Q[18]=T(",那么",-1)),a("mjx-container",i,[(m(),t("svg",p,[...Q[2]||(Q[2]=[l('',1)])])),Q[3]||(Q[3]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"u"),a("mo",{stretchy:"false"},"→")])]),a("mo",null,"⋅"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"n"),a("mo",{stretchy:"false"},"→")])]),a("mo",null,"="),a("mn",null,"0")])],-1))]),Q[19]||(Q[19]=T(",用矩阵的方式表达,",-1)),a("mjx-container",c,[(m(),t("svg",V,[...Q[4]||(Q[4]=[l('',1)])])),Q[5]||(Q[5]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"u")]),a("mo",null,"="),a("mo",{stretchy:"false"},"["),a("msub",null,[a("mi",null,"u"),a("mi",null,"x")]),a("mo",null,","),a("msub",null,[a("mi",null,"u"),a("mi",null,"y")]),a("mo",null,","),a("msub",null,[a("mi",null,"u"),a("mi",null,"z")]),a("mo",{stretchy:"false"},"]")])],-1))]),Q[20]||(Q[20]=T(", ",-1)),a("mjx-container",L,[(m(),t("svg",f,[...Q[6]||(Q[6]=[l('',1)])])),Q[7]||(Q[7]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"n")]),a("mo",null,"="),a("mo",{stretchy:"false"},"["),a("msub",null,[a("mi",null,"n"),a("mi",null,"x")]),a("mo",null,","),a("msub",null,[a("mi",null,"n"),a("mi",null,"y")]),a("mo",null,","),a("msub",null,[a("mi",null,"n"),a("mi",null,"z")]),a("mo",{stretchy:"false"},"]")])],-1))]),Q[21]||(Q[21]=T(",就是",-1)),a("mjx-container",x,[(m(),t("svg",u,[...Q[8]||(Q[8]=[l('',1)])])),Q[9]||(Q[9]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"u")]),a("msup",null,[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"n")]),a("mi",null,"T")]),a("mo",null,"="),a("mn",null,"0")])],-1))]),Q[22]||(Q[22]=a("br",null,null,-1)),Q[23]||(Q[23]=T(" 设从",-1)),a("mjx-container",M,[(m(),t("svg",Z,[...Q[10]||(Q[10]=[l('',1)])])),Q[11]||(Q[11]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mrow",null,[a("mi",null,"a"),a("mi",null,"b")]),a("mo",{stretchy:"false"},"→")])])])],-1))]),Q[24]||(Q[24]=T("到",-1)),a("mjx-container",w,[(m(),t("svg",D,[...Q[12]||(Q[12]=[l('',1)])])),Q[13]||(Q[13]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mrow",null,[a("msup",null,[a("mi",null,"a"),a("mo",{"data-mjx-alternate":"1"},"′")]),a("msup",null,[a("mi",null,"b"),a("mo",{"data-mjx-alternate":"1"},"′")])]),a("mo",{stretchy:"false"},"→")])])])],-1))]),Q[25]||(Q[25]=T("的变换矩阵为",-1)),a("mjx-container",j,[(m(),t("svg",v,[...Q[14]||(Q[14]=[a("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[a("g",{"data-mml-node":"math"},[a("g",{"data-mml-node":"mi"},[a("path",{"data-c":"1D434",d:"M208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260Z"})])])],-1)])])),Q[15]||(Q[15]=a("mjx-assistive-mml",{unselectable:"on",display:"inline"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mi",null,"A")])],-1))]),Q[26]||(Q[26]=T(",根据转置矩阵的",-1)),e(d,{to:"/note/graphics/math/math_02.html#_3-5-%E5%9F%BA%E6%9C%AC%E8%BF%90%E7%AE%97%E8%A7%84%E5%88%99"},{default:o(()=>[...Q[16]||(Q[16]=[T("基本运算规则",-1)])]),_:1}),Q[27]||(Q[27]=T(" ,可以得到",-1))]),a("mjx-container",y,[(m(),t("svg",R,[...Q[28]||(Q[28]=[l('',1)])])),Q[29]||(Q[29]=a("mjx-assistive-mml",{unselectable:"on",display:"block"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[a("mtable",{displaystyle:"true",columnalign:"right left",columnspacing:"0em",rowspacing:"3pt"},[a("mtr",null,[a("mtd",null,[a("mn",null,"0")]),a("mtd",null,[a("mi"),a("mo",null,"="),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"u")]),a("msup",null,[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"n")]),a("mi",null,"T")])])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"u")]),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("msup",null,[a("mi",{"data-mjx-auto-op":"false"},"AA"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])])]),a("mo",{stretchy:"false"},")"),a("msup",null,[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"n")]),a("mi",null,"T")])])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{"data-mjx-auto-op":"false"},"uA")]),a("mo",{stretchy:"false"},")"),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("msup",null,[a("mi",{mathvariant:"normal"},"A"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])]),a("msup",null,[a("mi",{mathvariant:"normal"},"n"),a("mi",{mathvariant:"normal"},"T")])]),a("mo",{stretchy:"false"},")")])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{"data-mjx-auto-op":"false"},"uA")]),a("mo",{stretchy:"false"},")"),a("mo",{stretchy:"false"},"("),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("msup",null,[a("mi",{mathvariant:"normal"},"A"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])]),a("msup",null,[a("mi",{mathvariant:"normal"},"n"),a("mi",{mathvariant:"normal"},"T")])]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",null,"T")]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",null,"T")])])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{"data-mjx-auto-op":"false"},"uA")]),a("mo",{stretchy:"false"},")"),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"n"),a("mo",{stretchy:"false"},"("),a("msup",null,[a("mi",{mathvariant:"normal"},"A"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",{mathvariant:"normal"},"T")])]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",null,"T")])])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"u"),a("mo",{stretchy:"false"},"→")])]),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"A")]),a("mo",{stretchy:"false"},")"),a("mo",null,"⋅"),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"n"),a("mo",{stretchy:"false"},"→")])]),a("mo",{stretchy:"false"},"("),a("msup",null,[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"A")]),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",null,"T")]),a("mo",{stretchy:"false"},")")])]),a("mtr",null,[a("mtd"),a("mtd",null,[a("mi"),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"u"),a("mo",{stretchy:"false"},"→")])]),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"A")]),a("mo",{stretchy:"false"},")"),a("mo",null,"⋅"),a("mo",{stretchy:"false"},"("),a("mrow",{"data-mjx-texclass":"ORD"},[a("mover",null,[a("mi",{mathvariant:"bold-italic"},"n"),a("mo",{stretchy:"false"},"→")])]),a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"B")]),a("mo",{stretchy:"false"},")")])])])])],-1))]),Q[33]||(Q[33]=a("p",null,"所以法线转换矩阵为",-1)),a("mjx-container",O,[(m(),t("svg",b,[...Q[30]||(Q[30]=[l('',1)])])),Q[31]||(Q[31]=a("mjx-assistive-mml",{unselectable:"on",display:"block"},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"B")]),a("mo",null,"="),a("mo",{stretchy:"false"},"("),a("msup",null,[a("mrow",{"data-mjx-texclass":"ORD"},[a("mi",{mathvariant:"normal"},"A")]),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"1")])]),a("msup",null,[a("mo",{stretchy:"false"},")"),a("mi",null,"T")])])],-1))])])}const B=n(H,[["render",A]]),E=JSON.parse(`{"path":"/note/graphics/math/transform_03.html","title":"几何变换(三)","lang":"zh-CN","frontmatter":{"description":"几何变换(三) 7. 法线变换 做几何变换时,法线比较特殊,需要保证法线经过变换之后仍然垂直于原先的切平面,如果使用和顶点变换相同的变换,无法保证这一点 7.1 举例 如图,线段ab经过放缩变换之后成为a'b',但法线经过同样的放缩矩阵变换之后发生错误,实际法线需要另外的矩阵计算 7.2 法线变换矩阵 以上图为例,设,那么,用矩阵的方式表达,, ,就是...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"几何变换(三)\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-02-23T12:51:53.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"JinChao\\",\\"url\\":\\"https://thecodeway.com\\"}]}"],["meta",{"property":"og:url","content":"https://thejinchao.github.io/note/graphics/math/transform_03.html"}],["meta",{"property":"og:site_name","content":"我的博客和笔记"}],["meta",{"property":"og:title","content":"几何变换(三)"}],["meta",{"property":"og:description","content":"几何变换(三) 7. 法线变换 做几何变换时,法线比较特殊,需要保证法线经过变换之后仍然垂直于原先的切平面,如果使用和顶点变换相同的变换,无法保证这一点 7.1 举例 如图,线段ab经过放缩变换之后成为a'b',但法线经过同样的放缩矩阵变换之后发生错误,实际法线需要另外的矩阵计算 7.2 法线变换矩阵 以上图为例,设,那么,用矩阵的方式表达,, ,就是..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-02-23T12:51:53.000Z"}],["meta",{"property":"article:modified_time","content":"2025-02-23T12:51:53.000Z"}]]},"git":{"createdTime":1740235322000,"updatedTime":1740315113000,"contributors":[{"name":"thejinchao","username":"thejinchao","email":"thejinchao@gmail.com","commits":2,"url":"https://github.com/thejinchao"}]},"readingTime":{"minutes":0.99,"words":296},"filePathRelative":"note/graphics/math/transform_03.md","autoDesc":true}`);export{B as comp,E as data};