1. A computer-accessible memory medium that stores program instructions for estimating a rotational shift between a first discrete curve and a second discrete curve, wherein the program instructions are executable to perform: receiving a first discrete curve and a second discrete curve, wherein the second discrete curve is a rotationally shifted version of the first discrete curve, wherein the first discrete curve and the second discrete curve each comprises a respective curve in at least four dimensions; estimating a rotational shift between the first discrete curve and the second discrete curve based on the first discrete curve and the second discrete curve, wherein said estimating the rotational shift between the first discrete curve and the second discrete curve based on the first discrete curve and the second discrete curve comprises calculating: α = ∑ n = 1 N ∑ d = 1 D ( z nd - y nd ) ( y ( n + 1 ) d - y nd ) ∑ n = 1 N ∑ d = 1 D ( y ( n + 1 ) d - y nd ) 2 , wherein y and z refer respectively to points in the first discrete curve and the second discrete curve, indexed by n and d, wherein n denotes a particular point of N points, and d denotes dimension up to a maximum of D; updating a cumulative rotational shift based on the estimated rotational shift; generating a rotationally shifted version of the second discrete curve based on the cumulative rotational shift; performing said estimating, said updating, and said generating in an iterative manner using the respective rotationally shifted discrete curve for each iteration until a stopping condition occurs, thereby determining a final estimate of the rotational shift between the first discrete curve and the second discrete curve; and storing the final estimate of the rotational shift, wherein the final estimate of the rotational shift is useable to perform discrete curve matching.