|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Tarasevich 2:5020/400 01 Nov 2001 22:07:46 To : Alexander Kothubievski Subject : Re: КАК ОПРЕДЕЛИТЬ HАПРАВЛЕHИЕ ОБХОДА ????????? -------------------------------------------------------------------------------- Alexander Kothubievski wrote: > ... > >> берутся подряд друг за другом три любые точки. > >> c = (x1-x2)*(y3-y2)-(y1-y2)*(x3-x2) > >> дальше смотри на знак c. > > YZ> Hе любые, а так, чтобы вторая была крайней в многоугольнике (самой > YZ> правой, левой...) > > Hет, предыдущий автор абсолютно прав . с это это координата z векторного Hет, предыдущий автор просто невнимательно прочитал условие задачи. Ты же неправильно это условие понял. > произведения двух подряд идущих векторов, которые задаются точками (x1,y1), > (x2,y2), (x3,y3) (с.м. мой пост) . По знаку с определяется направление обхода Твой пост содержит ряд неправильных предположений и не содержит решения задачи. > этих трех точек . Если заранее известно что контур выпуклый , то знание знака > с достаточно для определения обхода всего контура . Если , контур может быть > как выпуклым так и нет , то надо посчитать величену с для всех подрад идущих > трех точек . Если она будет разного знака то значит контур не выпуклый . > Для не выпукорго контура нет одого направления обхода , он в разных частях > обходится в разных направлениях . Вот это одно как раз и есть это неправильное предположение, непонятно откуда взятое. Если у контура нет самопересечений, то направление обхода у него _есть_. Одно и однозначено определенное. Определение этого направления требует вычисления вектороного произведения для двух заранее выбранных векторов. Все. Best regards, Андрей. --- ifmail v.2.15dev5 * Origin: good enough (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/66827184a4cd.html, оценка из 5, голосов 10
|