### ZV_AFFINETRANS -- 仿射变换

类型 | 变换
描述 | 对num个点执行仿射变换。仿射变换的变换范围较广，它包含了刚性变换、相似变换，因此刚性变换矩阵、相似变换矩阵、仿射变换矩阵都可以此指令对坐标点进行变换。此指令的变换矩阵为2行3列是由于3行3列的齐次变换矩阵的最后一行是固定的数据0，0，1，二维坐标(x,y)转换成齐次坐标(x,y,1)只需在第三维上加1，因此对二维坐标点进行变换的公式如下： 变换矩阵的线性变换部分a1,a2,a3,a4负责对坐标点(x,y)进行线性变换如旋转、缩放、斜切等，坐标平移量tx,ty负责对坐标点(x,y)进行平移。 变换方程如下：
语法 | ZV_AFFINETRANS(mat,num,tab_s_pos,tab_d_pos) 参数： mat：ZVOBJECT类型，变换矩阵 num：坐标点数量 tab_s_pos：TABLE索引，待变换的坐标点，从TABLE索引处开始x、y依次存放 tab_d_pos：输出参数，TABLE索引，变换后的坐标点，依次存放x、y
适用控制器 | 支持ZV功能或者5系列以上的控制器
例子 | ZVOBJECT mat TABLE(0, 1, 0.2, 0, 0, 1, 0)'将数据存入到TABLE(0)中 ZV_MATGENDATA(mat,2,3,0)'变换矩阵 TABLE(10,0,0,2,2,5,5)'存储变换前的三个点的坐标 ZV_AFFINETRANS(mat,3,10,100)’使用仿射变换矩阵mat对输入坐标点进行仿射变换，将变换后的点存入开始索引为100的TABLE中