58 static DmtxMatrix3 tmp = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
109 double sinAngle, cosAngle;
111 sinAngle = sin(angle);
112 cosAngle = cos(angle);
207 m[0][2] = (b1 - b0) / (sz * b0);
224 m[0][2] = (b0 - b1) / (sz * b1);
241 m[1][2] = (b1 - b0) / (sz * b0);
258 m[1][2] = (b0 - b1) / (sz * b1);
275 for (i = 0; i < 3; i++) {
276 for (j = 0; j < 3; j++) {
278 for (k = 0; k < 3; k++) {
279 val += m0[i][k] * m1[k][j];
316 w = vIn->
x * m[0][2] + vIn->
y * m[1][2] + m[2][2];
323 vOut->x = (vIn->
x * m[0][0] + vIn->
y * m[1][0] + m[2][0]) / w;
324 vOut->y = (vIn->
x * m[0][1] + vIn->
y * m[1][1] + m[2][1]) / w;
355 dmtxLogInfo(
"%8.8f\t%8.8f\t%8.8f", m[0][0], m[0][1], m[0][2]);
356 dmtxLogInfo(
"%8.8f\t%8.8f\t%8.8f", m[1][0], m[1][1], m[1][2]);
357 dmtxLogInfo(
"%8.8f\t%8.8f\t%8.8f", m[2][0], m[2][1], m[2][2]);
libdmtx - Data Matrix Encoding/Decoding Library Copyright 2008, 2009 Mike Laughton.
double DmtxMatrix3[3][3]
DmtxMatrix3 类型定义,表示一个3x3的双精度浮点数矩阵
DmtxPassFail dmtxMatrix3VMultiply(OUT DmtxVector2 *vOut, DmtxVector2 *vIn, DmtxMatrix3 m)
将向量与矩阵相乘
void dmtxMatrix3LineSkewSide(OUT DmtxMatrix3 m, double b0, double b1, double sz)
Generate side line skew transformation.
void dmtxMatrix3Multiply(OUT DmtxMatrix3 mOut, DmtxMatrix3 m0, DmtxMatrix3 m1)
矩阵相乘
void dmtxMatrix3LineSkewTop(OUT DmtxMatrix3 m, double b0, double b1, double sz)
生成顶部线倾斜变换矩阵
void dmtxMatrix3Copy(OUT DmtxMatrix3 m0, DmtxMatrix3 m1)
复制3x3矩阵
void dmtxMatrix3Rotate(OUT DmtxMatrix3 m, double angle)
生成旋转变换矩阵
DmtxPassFail dmtxMatrix3VMultiplyBy(INOUT DmtxVector2 *v, DmtxMatrix3 m)
将向量与矩阵相乘
void dmtxMatrix3Translate(OUT DmtxMatrix3 m, double tx, double ty)
生成平移变换矩阵
void dmtxMatrix3Identity(OUT DmtxMatrix3 m)
生成单位变换矩阵
void dmtxMatrix3LineSkewSideInv(OUT DmtxMatrix3 m, double b0, double b1, double sz)
Generate side line skew transformation (inverse)
void dmtxMatrix3Shear(OUT DmtxMatrix3 m, double shx, double shy)
生成剪切变换矩阵
void dmtxMatrix3Print(DmtxMatrix3 m)
Print matrix contents to STDOUT.
void dmtxMatrix3MultiplyBy(INOUT DmtxMatrix3 m0, DmtxMatrix3 m1)
矩阵相乘
void dmtxMatrix3Scale(OUT DmtxMatrix3 m, double sx, double sy)
生成缩放变换矩阵
void dmtxMatrix3LineSkewTopInv(OUT DmtxMatrix3 m, double b0, double b1, double sz)
Generate top line skew transformation (inverse)
libdmtx - Data Matrix Encoding/Decoding Library Copyright 2008, 2009 Mike Laughton.