<!DOCTYPE PATCH  SYSTEM "http://vvvv.org/versions/vvvv33beta14.dtd" >
   <PATCH componentmode="InAWindow" nodename="X:\VVVV2006\help\Homography (Transform 2d) help.v4p">
   <BOUNDS height="9300" left="420" top="600" type="Window" width="7605">
   </BOUNDS>
   <NODE componentmode="InAWindow" id="13" nodename="Renderer (EX9)">
   <BOUNDS height="270" left="1560" top="8055" type="Node" width="1785">
   </BOUNDS>
   <BOUNDS height="6885" left="8040" top="585" type="Window" width="8880">
   </BOUNDS>
   <BOUNDS height="3435" left="1560" top="8055" type="Box" width="7080">
   </BOUNDS>
   <PIN pinname="Layers" visible="1">
   </PIN>
   <PIN pinname="EX9 Out" visible="1">
   </PIN>
   <PIN pinname="Windowed Antialiasing Quality Level" slicecount="1" values="NONE">
   </PIN>
   <PIN pinname="Fullscreen Antialiasing Quality Level" slicecount="1" values="NONE">
   </PIN>
   <PIN pinname="Projection Transform" visible="1">
   </PIN>
   <PIN pinname="View Transform" slicecount="1" visible="1" values="||">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="12" nodename="IOBox (Value Advanced)">
   <BOUNDS height="0" left="3930" top="2280" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="160" left="4983" top="4466" type="Window" width="215">
   </BOUNDS>
   <BOUNDS height="1815" left="3930" top="2280" type="Box" width="2685">
   </BOUNDS>
   <PIN pinname="Slider Constraints" slicecount="1" values="None">
   </PIN>
   <PIN pinname="Show Slider" slicecount="1" values="1">
   </PIN>
   <PIN pinname="Show Value" slicecount="1" values="0">
   </PIN>
   <PIN pinname="Y Input Value" slicecount="4" values="0.166642123498823,0.721601459660009,-0.794871794871794,-0.289397461896493">
   </PIN>
   <PIN pinname="X Input Value" pintype="Input" slicecount="4" visible="0" values="-0.451967452028178,0.706218119990282,0.735244109788679,-0.549912500870019">
   </PIN>
   <PIN pinname="Slider Behavior" slicecount="1" values="Slider">
   </PIN>
   <PIN pinname="X Output Value" pintype="Output" visible="1">
   </PIN>
   <PIN pinname="Columns" slicecount="1" values="4">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   <PIN pinname="Slider Alignment" slicecount="1" values="None">
   </PIN>
   <PIN pinname="Show Connections" slicecount="1" values="1">
   </PIN>
   <PIN pinname="Minimum" slicecount="1" values="-1">
   </PIN>
   <PIN pinname="Maximum" slicecount="1" values="1">
   </PIN>
   <PIN pinname="Y Output Value" visible="1">
   </PIN>
   <PIN pinname="Descriptive Name" slicecount="1" values="|Screen Space Points|">
   </PIN>
   </NODE>
   <NODE id="11" nodename="Vector (2d Join)">
   <BOUNDS height="0" left="3945" top="4665" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="X" visible="1">
   </PIN>
   <PIN pinname="Y" visible="1">
   </PIN>
   <PIN pinname="XY" visible="1">
   </PIN>
   </NODE>
   <LINK dstnodeid="11" dstpinname="X" srcnodeid="12" srcpinname="X Output Value">
   </LINK>
   <LINK dstnodeid="11" dstpinname="Y" srcnodeid="12" srcpinname="Y Output Value">
   </LINK>
   <NODE componentmode="InABox" id="10" nodename="IOBox (Value Advanced)">
   <BOUNDS height="0" left="1950" top="2580" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="160" left="6705" top="5490" type="Window" width="215">
   </BOUNDS>
   <BOUNDS height="1470" left="1950" top="2580" type="Box" width="1710">
   </BOUNDS>
   <PIN pinname="Rows" slicecount="1" values="4">
   </PIN>
   <PIN pinname="Y Input Value" slicecount="8" visible="1" values="-1,1,1,1,1,-1,-1,-1">
   </PIN>
   <PIN pinname="Y Output Value" visible="1">
   </PIN>
   <PIN pinname="Columns" slicecount="1" values="2">
   </PIN>
   <PIN pinname="Descriptive Name" slicecount="1" values="|Original Points|">
   </PIN>
   </NODE>
   <NODE id="9" nodename="Fill (EX9.RenderState)">
   <BOUNDS height="0" left="630" top="4710" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Render State Out" visible="1">
   </PIN>
   <PIN pinname="Fill Mode" slicecount="1" values="WireFrame">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="8" nodename="IOBox (String)">
   <BOUNDS height="480" left="330" top="225" type="Node" width="1425">
   </BOUNDS>
   <BOUNDS height="495" left="330" top="225" type="Box" width="4395">
   </BOUNDS>
   <BOUNDS height="160" left="0" top="0" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|2D Homography Transform|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   <PIN pinname="Size" slicecount="1" values="14">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="7" nodename="IOBox (String)">
   <BOUNDS height="270" left="180" top="705" type="Node" width="3750">
   </BOUNDS>
   <BOUNDS height="1230" left="180" top="705" type="Box" width="6105">
   </BOUNDS>
   <BOUNDS height="160" left="0" top="0" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|calculates a 2D transform matrix that maps the original points to the screen points.&cr;&lf;useful to calibrate a beamer to a rectangular projection surface.&cr;&lf;&cr;&lf;note that the output is a matrix suitable to distort the projection space of any renderer. therefore vector graphics will keep maximum precision.|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="6" nodename="IOBox (String)">
   <BOUNDS height="270" left="3480" top="7650" type="Node" width="2055">
   </BOUNDS>
   <BOUNDS height="315" left="3480" top="7650" type="Box" width="2010">
   </BOUNDS>
   <BOUNDS height="160" left="0" top="0" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|screen space distortion|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   </NODE>
   <NODE id="5" nodename="Scale (Transform Vector)">
   <BOUNDS height="0" left="825" top="5505" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Transform In" slicecount="1" visible="1" values="||">
   </PIN>
   <PIN pinname="Transform Out" visible="1">
   </PIN>
   <PIN pinname="XYZ" slicecount="3" values="2,2,2">
   </PIN>
   </NODE>
   <NODE id="4" nodename="Grid (DX9)">
   <BOUNDS height="270" left="615" top="6690" type="Node" width="1500">
   </BOUNDS>
   <PIN pinname="Transform" visible="1">
   </PIN>
   <PIN pinname="Layer" visible="1">
   </PIN>
   <PIN pinname="Texture" slicecount="1" visible="1" values="||">
   </PIN>
   <PIN pinname="Render State" visible="1">
   </PIN>
   <PIN pinname="Resolution Y" slicecount="1" values="10">
   </PIN>
   <PIN pinname="Resolution X" slicecount="1" values="15">
   </PIN>
   <PIN pinname="Space" pintype="Input" slicecount="1" visible="-1" values="World">
   </PIN>
   <PIN pinname="Enabled" slicecount="1" values="1">
   </PIN>
   <PIN pinname="Color" visible="1">
   </PIN>
   <PIN pinname="Descriptive Name" slicecount="1" values="|Display Screen Space|">
   </PIN>
   </NODE>
   <LINK dstnodeid="4" dstpinname="Render State" srcnodeid="9" srcpinname="Render State Out">
   </LINK>
   <NODE componentmode="InABox" id="3" nodename="IOBox (String)">
   <BOUNDS height="270" left="5025" top="5595" type="Node" width="3720">
   </BOUNDS>
   <BOUNDS height="540" left="5025" top="5595" type="Box" width="1935">
   </BOUNDS>
   <BOUNDS height="160" left="0" top="0" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|z-scaling to avoid near plane clippling|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="2" nodename="IOBox (Color)">
   <BOUNDS height="0" left="1935" top="6030" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="160" left="3285" top="10905" type="Window" width="215">
   </BOUNDS>
   <BOUNDS height="480" left="1935" top="6030" type="Box" width="570">
   </BOUNDS>
   <PIN pinname="Color Output" visible="1">
   </PIN>
   <PIN pinname="Color Input" slicecount="1" values="|0.96998,0.34438,0.00000,1.00000|">
   </PIN>
   </NODE>
   <LINK dstnodeid="4" dstpinname="Color" srcnodeid="2" srcpinname="Color Output">
   </LINK>
   <LINK dstnodeid="13" dstpinname="Layers" srcnodeid="4" srcpinname="Layer">
   </LINK>
   <LINK dstnodeid="4" dstpinname="Transform" srcnodeid="5" srcpinname="Transform Out">
   </LINK>
   <NODE id="1" nodename="Homography (Transform 2d)">
   <BOUNDS height="0" left="3285" top="6345" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Solve" slicecount="1" values="1">
   </PIN>
   <PIN pinname="Screen Space Points XY" visible="1">
   </PIN>
   <PIN pinname="Transform In" slicecount="1" values="||">
   </PIN>
   <PIN pinname="Z Scale" visible="1">
   </PIN>
   </NODE>
   <LINK dstnodeid="13" dstpinname="Projection Transform" srcnodeid="1" srcpinname="Transform Out">
   </LINK>
   <LINK dstnodeid="1" dstpinname="Original Points XY" srcnodeid="10" srcpinname="Y Output Value">
   </LINK>
   <LINK dstnodeid="1" dstpinname="Screen Space Points XY" srcnodeid="11" srcpinname="XY">
   </LINK>
   <NODE componentmode="InABox" id="0" nodename="IOBox (Value Advanced)">
   <BOUNDS height="0" left="4050" top="5745" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="160" left="5715" top="7065" type="Window" width="215">
   </BOUNDS>
   <BOUNDS height="240" left="4050" top="5745" type="Box" width="795">
   </BOUNDS>
   <PIN pinname="Y Output Value" visible="1">
   </PIN>
   <PIN pinname="Y Input Value" slicecount="1" values="0.5">
   </PIN>
   </NODE>
   <LINK dstnodeid="1" dstpinname="Z Scale" srcnodeid="0" srcpinname="Y Output Value">
   </LINK>
   </PATCH>