Method: BulldogPhysics::Matrix3#multiplyByMatrix

Defined in:
lib/matrix3.rb

#multiplyByMatrix(o) ⇒ Object



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