polytestの技術的な説明
//位置とUV値からMatrixを求める public function GetMatrixFromPosUV(pos1:Point,pos2:Point,pos3:Point,uv1:Point,uv2:Point,uv3:Point) : Matrix { var mt:Matrix=new Matrix(); // var x1:Number=pos1.x-pos3.x; var y1:Number=pos1.y-pos3.y; var x2:Number=pos2.x-pos3.x; var y2:Number=pos2.y-pos3.y; var u1:Number=uv1.x-uv3.x; var v1:Number=uv1.y-uv3.y; var u2:Number=uv2.x-uv3.x; var v2:Number=uv2.y-uv3.y; var tx:Number=pos3.x; var ty:Number=pos3.y; var tu:Number=uv3.x; var tv:Number=uv3.y; //分母計算 var dd:Number=((u1*v2)-(u2*v1)); if(dd<0.0001 && dd>-0.0001){ //分母が小さすぎる場合 mt.a=10000.0; mt.b=0; mt.c=0; mt.d=10000.0; mt.tx=tu; mt.ty=tv; } else { //計算可能 var inv_dd:Number=1.0/dd; var A:Number =((x1*v2)-(x2*v1))*inv_dd; var B:Number =((y1*v2)-(y2*v1))*inv_dd; var C:Number =((x2*u1)-(x1*u2))*inv_dd; var D:Number =((y2*u1)-(y1*u2))*inv_dd; var E:Number =-((A*tu)+(C*tv)-tx); var F:Number =-((B*tu)+(D*tv)-ty); mt.a =A; mt.b =B; mt.c =C; mt.d =D; mt.tx=E; mt.ty=F; } return mt; }----------------------------------------------