When I created a matrix transformation in the console as follows, blender file
>>> c2=bpy.data.objects["Cube.001"].matrix_world
>>> c1=bpy.data.objects["Cube.002"].matrix_world
>>> c1
Matrix(((0.2511853277683258, -0.9679380655288696, 0.0, -47.04343032836914),
(0.9679380655288696, 0.2511853277683258, 0.0, 18.430648803710938),
(0.0, 0.0, 1.0, 0.0),
(0.0, 0.0, 0.0, 1.0)))
>>> c2
Matrix(((-0.7805679440498352, 0.6250709295272827, 0.0, -10.104384422302246),
(-0.6250709295272827, -0.7805679440498352, 0.0, 6.641378402709961),
(0.0, 0.0, 1.0, 0.0),
(0.0, 0.0, 0.0, 1.0)))
>>> bpy.context.active_object.matrix_world = c1*c2
>>> h=c1*c2
>>> bpy.context.active_object.matrix_world = h
the graphical results of the 3D screen on the active object were different when keep repeating the same line like:
>>>bpy.context.active_object.matrix_world = c1*c2
>>>bpy.context.active_object.matrix_world = c1*c2
>>>bpy.context.active_object.matrix_world = c1*c2
The object keeps incrementally moving but another one of the following with a resultant h would't move, like the following:
>>>h=c1*c2
>>>bpy.context.active_object.matrix_world = h
>>>bpy.context.active_object.matrix_world = h
>>>bpy.context.active_object.matrix_world = h
I wonder it is a bug or something?