1. A method of animating a non-rigid object in a computer graphics environment, the method comprising: defining a first three-dimensional (3D) curve rigging element representing the non-rigid object, the 3D curve rigging element comprising a plurality of knot primitives, wherein each of the plurality of knot primitives corresponds to: a respective position within a three-dimensional scene; and a respective plurality of animation control attributes that control the movement of the knot primitive during animation; receiving one or more defined values for a first one or more of the plurality of animation control attributes for a first one or more of the plurality of knot primitives; generating one or more values, for a second one or more of the plurality of animation control attributes for a second one or more of the plurality of knot primitives based on the plurality of animation control attributes of a neighboring knot primitive; rendering an animation using the first 3D curve rigging element, using the received one or more defined values, and the generated one or more values, comprising interpolating an orientation of at least one point on the first 3D curve rigging element between the first and second knot primitives, by a performing a torque-minimal rotation framewalk algorithm from the first knot primitive to the second knot primitive; and outputting the rendered animation for display.