60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/matrix3.rb', line 60
def multiplyByMatrix(o)
o = o.dup
t1 = @data[0]*o.data[0] + @data[1]*o.data[3] + @data[2]*o.data[6];
t2 = @data[0]*o.data[1] + @data[1]*o.data[4] + @data[2]*o.data[7];
t3 = @data[0]*o.data[2] + @data[1]*o.data[5] + @data[2]*o.data[8];
@data[0] = t1;
@data[1] = t2;
@data[2] = t3;
t1 = @data[3]*o.data[0] + @data[4]*o.data[3] + @data[5]*o.data[6];
t2 = @data[3]*o.data[1] + @data[4]*o.data[4] + @data[5]*o.data[7];
t3 = @data[3]*o.data[2] + @data[4]*o.data[5] + @data[5]*o.data[8];
@data[3] = t1;
@data[4] = t2;
@data[5] = t3;
t1 = @data[6]*o.data[0] + @data[7]*o.data[3] + @data[8]*o.data[6];
t2 = @data[6]*o.data[1] + @data[7]*o.data[4] + @data[8]*o.data[7];
t3 = @data[6]*o.data[2] + @data[7]*o.data[5] + @data[8]*o.data[8];
@data[6] = t1;
@data[7] = t2;
@data[8] = t3;
end
|