Abstract:
A curve editor may model a continuous curve as a finite collection of discrete mass points (among which the curve's mass is distributed) and associated springs. The springs may include damped axial springs between pairs of consecutive mass points, and damped bending springs representing interactions between sets of three consecutive mass points. In response to manipulation of the curve at various mass points, the curve editor may determine new positions and/or velocities of one or more mass points using a real time physical simulation of the spring forces acting at mass points involved in the editing operation. The simulation may be dependent on viscous drag forces and/or on constraints applied to individual mass points, angles defined by consecutive mass points, or an absolute direction of a segment between two mass points. Mass points may be added to or removed from the model by adaptive resampling, and the mass redistributed accordingly.