I have two segments in $\mathbb{R}^2$ and I would like to define a measure of similarity between the two segments.

My idea is that I can apply:

  1. a scale transformation $s$ in order to equate the lenghts of the two segments;
  2. a translation $\mathbf{t}$ in order to equate the center points of the two segments;
  3. a 2D rotation of an angle $\alpha$ (described by a rotation matrix $\mathbf{R}$) in order to perfectly overlap the two segments.

and then the similarity measure would be based on

  1. the distance of $s$ from 1;
  2. the magnitude of $t$ (i.e. $\mathbf{t}^T\mathbf{t}$);
  3. the distance between $\alpha$ and 0 (or between $\mathbf{R}$ and the identity matrix $\mathbf{I}$).

but how to combine the above contributes? In a linear way?

Is there any "classic" measure of similarity already defined?

Edit: The two segments are oriented so $AB$ and $BA$ are different.

  • 3
    $\begingroup$ I would be much easier to compute the Hausdorff distance between the segments. If the vertices are $AB$ and $CD$, the distance is $\min(\max(|AC|,|BD|), \max(|AD|,|BC|))$. $\endgroup$ – user147263 Jul 8 '14 at 20:05
  • 1
    $\begingroup$ what is the distance between $AB$ and $BA$? (it is $0$ for the Hausdorff distance, but, apparently, $\pi$ in your description). $\endgroup$ – sds Jul 8 '14 at 20:21
  • $\begingroup$ @This: That's a great suggestion, but your formula can't be right. The Hausdorff distance between the two diagonals of a unit square is $1/\sqrt2$ but your formula gives $1$. I'd believe that it's only off by a bounded factor though. $\endgroup$ – Rahul Jul 8 '14 at 20:30
  • 1
    $\begingroup$ @Rahul Thanks for noticing. I guess you found the worst case, when the formula is off by the factor of $\sqrt{2}$. uvts_cvs: I second the question by sds: are your line segments oriented? $\endgroup$ – user147263 Jul 8 '14 at 20:43
  • 2
    $\begingroup$ Perhaps try the Fréchet distance, then (which I'm pretty sure is just $\max(|AC|,|BD|)$). $\endgroup$ – Rahul Jul 9 '14 at 6:38

One measure that is sometimes used, especially if the lines get more complicated is the (normal or weak) Fréchet distance (also on wiki) that takes into account the ordering of the points to be traversed on the lines. Also you may also find the answer here useful.


This paper describes six different measures, namely:

Hausdorff-distance (HD), Trucco-distance (TD), Modified line segment Hausdorff-distance (MHD), Modified perpendicular line segment Hausdorff-distance (MPHD), Midpoint-distance (MD), Closest point-distance (CD) and our new Straight line-distance function (SD).

WIRTZ, Stefan; PAULUS, Dietrich. Evaluation of established line segment distance functions. Proceedings of the 9th Open German-Russian Workshop on Pattern Recognition and Image Understanding Dec 1-5, 2014, Koblenz, Germany, 89.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.