Изменения

Перейти к: навигация, поиск

Упрощение полигональной цепи

15 байт убрано, 16:11, 27 февраля 2012
Реализация
[[Файл:DistancePointToSegment.gif‎|300px|right]]
Пусть даны точка <tex>(x_0; y_0)</tex> и отрезок, заданный точками <tex>(x_1; y_1)</tex> и <tex>(x_2; y_2)</tex>.
 Тогда обозначим за :*<tex>R_1</tex> расстояние от <tex>(x_0; y_0)</tex> до <tex>(x_1; y_1)</tex>,за *<tex>R_2</tex> расстояние от <tex>(x_0; y_0)</tex> до <tex>(x_2; y_2)</tex> и за *<tex>R_{12}</tex> расстояние от <tex>(x_1; y_1)</tex> до <tex>(x_2; y_2)</tex>.Если : *<tex>R_1 \ge \sqrt{R_2^2+R_{12}^2}</tex>, то ответ это <tex>R_2</tex>.Если *<tex>R_2 \ge \sqrt{R_1^2+R_{12}^2}</tex>, то ответ это <tex>R_1</tex>.Если оба *Оба предыдущих условия ложны, то ответ это расстояние от точки до продолжения отрезка до прямой, который которое выражается как модуль <tex>abs(|R_{12} * R_1|/|R_{12}|)</tex>, где <tex>R_{12}</tex> и <tex>R_1</tex> нужно рассматривать как вектора, а умножение как векторное произведение. 
==Ссылки==
[http://ru.wikipedia.org/wiki/Алгоритм_Рамера_—_Дугласа_—_Пекера Алгоритм Дугласа-Пекера]
304
правки

Навигация