next up previous contents index
Next: km_createdict_ai Up: Reference Previous: km_codecurve_ai   Contents   Index

km_codecurve_si

$ \bigcirc$Name


km_codecurve_si Compute similitude-invariant codes for a single curve




$ \bigcirc$Command Synopsis


km_codecurve_si NNorm FNorm NCurve curve curve_IP curve_FP curve_BP dictionary



NNorm : number of points in the code

FNorm : ratio length to be encoded

NCurve : index of the curve in the list

curve : curve to encode (Flist)

curve_IP : indices of inflexion points of the curve (1-Flist)

curve_FP : indices of flat points of the curve (1-Flist)

curve_BP : indices of bitangent points of the curve (2-Flist)

dictionary : output dictionnary (Flists)




$ \bigcirc$Function Summary


Flists km_codecurve_si (curve , curve_IP , curve_FP , curve_BP , dict , NC , NN , FN )

Flist curve ;

Flist curve_IP ;

Flist curve_FP ;

Flist curve_BP ;

Flists dict ;

int NC ;

int NN ;

float FN ;




$ \bigcirc$Description


This module computes a list of similitude invariant codes that represent locally a curve.

More precisely speaking, the inflexion, flat, and bitangent points (resp. IP, FP and BP) of the curve are first computed, each one is associated with a direction ($ \cal {D}$). This direction is either the tangent to IP and FP, or the bitangent to BP.

Then a similitude invariant frame is defined for every IP, FP and BP: the two perpendiculars ( $ \cal {P}$1 and $ \cal {P}$2) to the previous direction which are tangent to the curve are drawn (we get the first by making progress in a direction, the second in the opposite direction). Their intersections R1 and R2 with $ \cal {D}$ are two points which define a similitude invariant frame.

To end with, a piece of the curve is encoded. Let us consider the arc of length | R1R2 ×FNorm whose center point is the intersection of the curve and the median of the segment [R1, R2]. The coordinates of NNorm equidistant points lying on this arc are computed in the similitude invariant frame. These NNorm points encode locally the curve.


Each code is stored in an Flist structure, whose data field contains the following informations: number of the curve, indices of both limits of the encoded arc in the initial curve, coordinates of the central point of the arc, indices of both points of the curve surrounding the central point, coordinates of R1 and R2, and sampling step. The data field is useful for postprocessing.

The result is the collection of these codes stored in an Flists structure.


For more details, see J.-L. Lisani's PhD dissertation [Lis01] or [LMMM03].




$ \bigcirc$See Also


km_createdict_si.


$ \bigcirc$Version 1.0


Last Modification date : Wed Apr 9 19:26:44 2003


$ \bigcirc$Author


Jose-Luis Lisani, Pablo Muse, Frederic Sur






next up previous contents index
Next: km_createdict_ai Up: Reference Previous: km_codecurve_ai   Contents   Index
mw 2004-05-05