The qualitatively different types of shape feature which can be combined into an overall shape description fall into five major categories:
Each of these categories is then further divided in ways that are either object independent, or relative to axes of the object or of other features. Straight edges are described only according to relative size on an object scale, (this will be discussed in the size representation section), but there are shape subcategories for all the other primitive shape feature types, as follows:
Vertices are described by the angle of the vertex, which can have one of seven qualitative values. These seven include four value ranges, separated by three distinguished points. The distinguished points are based on the right angle, two being the concave-right and convex-right angles, and the other the straight angled vertex, which can be used to describe points where two features meet at an angle of (e.g. a curve and a straight edge). The four ranges of values between these points are described as concave-acute, convex-acute, concave-obtuse and convex-obtuse angles.
Simple curves are described by size in the same way as straight edges, but they are also described by the angle through which the curve turns, and by the spread of the curve. The same qualitative angle values are used for curves as for vertices, with the exception that a straight angled simple curve is not described as a curve, but as a straight edge. This allows the description of concave or convex curves, as well as of varying amounts of curvature. Spread is expressed in terms of the ratio between the length of the chord axis and the maximum deviation of the arc from that axis. This deviation is the bulge of the curve. A simple set of qualitative values uses circle shapes as distinguished points in the quantity space, because the circle is a curve with many useful geometric properties. A semicircle-like curve has a bulge that is half its chord axis, and a circle-like curve has a bulge that is equal to its chord axis. Three qualitative ranges are separated by these two distinguished points, so that there are five possible qualitative values for curve spread.
Complex curves (wiggles) are described according to the number of points of inflection, and the amplitude of the wiggle. The number of points of inflection need not be exact, with a distinction between few or many wiggles being sufficient to indicate the qualitative nature of the shape. Amplitude (or bulge) can be defined in a manner that is similar to that used for simple curve definition. My formalism divides wiggle amplitude into qualitative ranges between a quarter and half the length of the chord axis. This is more arbitrary than the classification of simple curves and vertices, however, since it is not based on geometric properties (such as right angles or circles). A less arbitrary basis for classifying amplitude might be desirable, but a complex technique is unjustified because wiggles are not common in the mechanical domain, and I avoid them in my examples.
The major categories of imple are convex (pimple) and concave (dimple) shapes. There is a lot of variation in shape between imples, but this is reflected at a deeper level of detail, where the imple is described as if it were a separate subpart. An imple has two pairs of axes: The first pair are the waist line separating the imple from other convex subparts, and the normal to that line. The second pair are the major and minor axes with respect to which the imple shape is defined. The use of two pairs of axes means that the imple can be regarded as a curve when its exact shape is not important (the waist axes can be regarded as curve axes), while the complete shape description can be related to that curve model for operations on the imple itself.