Rewrite point-segment distance
This commit is contained in:
parent
76dd07c266
commit
621fac8451
1 changed files with 5 additions and 2 deletions
|
|
@ -48,10 +48,13 @@ namespace psemek::geom
|
|||
{
|
||||
T const t = dot(p - s[0], s[1] - s[0]) / length_sqr(s[1] - s[0]);
|
||||
|
||||
if (t >= 0 && t <= 1)
|
||||
if (t <= 0)
|
||||
return distance(p, s[0]);
|
||||
else if (t >= 1)
|
||||
return distance(p, s[1]);
|
||||
else
|
||||
return distance(p, lerp(s[0], s[1], t));
|
||||
|
||||
return std::min(distance(p, s[0]), distance(p, s[1]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue