|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexander Kothubievski 2:5020/400 01 Nov 2001 13:30:44 To : Yurij Zabelyshynskij Subject : Re: КАК ОПРЕДЕЛИТЬ HАПРАВЛЕHИЕ ОБХОДА ????????? -------------------------------------------------------------------------------- Thu Nov 01 2001 03:00, Yurij Zabelyshynskij wrote to Alex Astafiev: YZ> From: "Yurij Zabelyshynskij" <ergo@sky.net.ua> YZ> Hi, Alex. YZ> Alex Astafiev wrote >> берутся подряд друг за другом три любые точки. >> c = (x1-x2)*(y3-y2)-(y1-y2)*(x3-x2) >> дальше смотри на знак c. YZ> Hе любые, а так, чтобы вторая была крайней в многоугольнике (самой YZ> правой, левой...) Hет, предыдущий автор абсолютно прав . с это это координата z векторного произведения двух подряд идущих векторов, которые задаются точками (x1,y1), (x2,y2), (x3,y3) (с.м. мой пост) . По знаку с определяется направление обхода этих трех точек . Если заранее известно что контур выпуклый , то знание знака с достаточно для определения обхода всего контура . Если , контур может быть как выпуклым так и нет , то надо посчитать величену с для всех подрад идущих трех точек . Если она будет разного знака то значит контур не выпуклый . Для не выпукорго контура нет одого направления обхода , он в разных частях обходится в разных направлениях . --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/1667995f27ab8.html, оценка из 5, голосов 10
|