public static NyARMat matrixAllocMul(NyARMat a, NyARMat b) { NyARException.trap("未チェックのパス"); NyARMat dest = new NyARMat(a.row, b.clm); NyARException.trap("未チェックのパス"); dest.matrixMul(a, b); return(dest); }
public void set2dVertex(NyARDoublePoint2d[] i_ref_vertex_2d, int i_number_of_vertex) { Debug.Assert(i_number_of_vertex == 4); double[] cx = this._cx; double[] cy = this._cy; double cpara02 = this._projection_mat.m02; double cpara12 = this._projection_mat.m12; NyARMat mat_t = this._mat_t; double[][] mata = this._mat_a.getArray(); double[][] matat = this._mat_at.getArray(); for (int i = 0; i < 4; i++) { cx[i] = i_ref_vertex_2d[i].x; cy[i] = i_ref_vertex_2d[i].y; int x2 = i * 2; mata[x2][2] = matat[2][x2] = cpara02 - i_ref_vertex_2d[i].x; // mat_a->m[j*6+2]=mat_b->m[num*4+j*2]=cpara[0][2]-pos2d[j][0]; mata[x2 + 1][2] = matat[2][x2 + 1] = cpara12 - i_ref_vertex_2d[i].y; // mat_a->m[j*6+5]=mat_b->m[num*4+j*2+1]=cpara[1][2]-pos2d[j][1]; } //T(3x3行列)の作成 mat_t.matrixMul(this._mat_at, this._mat_a); mat_t.matrixSelfInv(); return; }
public static NyARMat matrixAllocMul(NyARMat a, NyARMat b) { NyARException.trap("未チェックのパス"); NyARMat dest = new NyARMat(a.row, b.clm); NyARException.trap("未チェックのパス"); dest.matrixMul(a, b); return dest; }