1. In an evaluator that evaluates a plurality of rigid bodies defined by values stored in a memory device, a method of calculating simulated motion of the plurality of rigid bodies that would occur given representations of positions of the plurality of rigid bodies in a model space at a first time, data representing behaviours of the plurality of rigid bodies in the model space, and parameters representing simulated forces that would be acting on the rigid bodies, the method comprising: (a) receiving, as input to the evaluator, constraint signals representing constraint parameters defining at least one constraint, wherein the constraint is a condition limiting a motion parameter of at least one of the plurality of rigid bodies; (b) for a given constraint of the at least one constraint, calculating respective values of a plurality of components of a reaction parameter affecting the at least one motion parameter in a vector operation using data defining a previous value of the at least one motion parameter, and using data defining previous values of the components of the reaction parameter; (c) updating the value of the at least one motion parameter using the calculated value of the reaction parameter, data defining the constraint and the previous value of the motion parameter; and (d) repeating steps (b) and (c) for each constraint.