1. A method for detecting and quantifying envelope singularities, wherein said method is performed by a system having a processor and a memory that contains instructions that are readable by said processor to control said processor to perform actions of: constructing a solid three-dimensional shape having a motion starting from an original position; selecting a sample set of points in a space in which the motion of the solid shape occurs; determining, for each point in the selected sample set of points, values of: an inverted motion of the motion; one or more inverted trajectories that correspond to points of the space associated with the inverted motion; one or more intersections between the inverted trajectories and a boundary defined by the solid shape in the original position; and one or more tangencies between the inverted trajectories and the boundary defined by the solid shape in the original position; classifying each point in the set of points as a function of values of the intersections and tangencies, each classification being one of a set of classifications selected from the group consisting of an interior fold point, a fold boundary point, a regular point, a sweep boundary point, or a point exterior to the set swept by the solid shape during the motion; labeling corresponding points of the space defined by the motion of the solid shape corresponding to each classified interior fold point and fold boundary point to obtain a plurality of interior fold points and a plurality of fold boundary points; and constructing a two-dimensional or three-dimensional region defined by points selected from the group consisting of: the plurality of interior fold points, the plurality of fold boundary points and combinations of the foregoing, said region defining the quantity of envelope singularities to detect and quantify said envelope singularities.