1. A method of searching a database using partial matching comprising the steps of: determining a first set of values based on predetermined properties of a query model by scale-space decomposition of local surface structure of the query model for every feature at a scale into sub-features; comparing said first set of values to definitions for classification, wherein said definitions for classification are based on a second set of values that is determined by decomposing features of training models into a plurality of sub-features wherein the decomposing of a feature into sub-features is continued only if decomposition separates the sub-features over a maximum angle in an angular shortest path when endpoints are drawn from distinct sub-features; partially matching said query model with a training model based upon said step of comparing; and indexing and classifying the query model.