Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Oleg Polubasoff                      2:5020/400     29 Oct 2001  04:34:37
 To : Yurij Zabelyshynskij
 Subject : 2 Задачи по геометpии и соpтиpовка
 -------------------------------------------------------------------------------- 
 
     Привет, Юрий!
 
 27.10.01  23:08, Yurij Zabelyshynskij писал:
 
 YZ>>>  Так это практически одно и то же,
 YZ>>> потому что для подсчета площади и определения полуплоскости
 YZ>>> надо использовать одни и те же формулы.
 OP>> Hет, не одно и то же.
 OP>> Да. Формулы одни и те же. Hам интересно не значение
 OP>> площади, а знак синуса угла.
 
     Говоря: "это не одно и то же", я имею в виду, что это разные алгоритмы,
 хоть в них и есть некоторые одинаковые формулы.
 
 YZ> Если формулы одни и те же, то "нет никакой разницы, зачем платить
 YZ> больше" :) ведь ты не узнаешь знак площади, пока ее не посчитаешь.
 YZ> Все различие в том, что
 
     Извини, пожалуйста, абсолютно не понял, о чём ты говоришь в этом абзаце.
 Различие с чем?
 
 YZ> вместо сравнения F1 > F2 ты сравниваешь F1-F2 >0.
 
     Это да, виноват.
 
     Мои претензии к программе, приведённой Ильёй Кантором, заключались в
 том, что она иногда даёт неверный ответ, а иногда даже вылетает по делению
 на 0. То, что она не очень эффективна - дело второе, хотя тоже немаловажно.
 
 YZ>>>  И все равно лучше проверять четность пересечений с
 YZ>>>горизонтальным лучом.
 OP>>  Hет. Пожалуйста, приведи программу, покажи потактно, что
 OP>> проверить четность пересечений с горизонтальным
 OP>> лучом получается быстрее, чем
 OP>> проверить знаки синусов трёх углов.
 YZ> Программу я приводить не буду, потому что качества наших реализаций не
 YZ> являются аргументами в споре об алгоритмах. Тем не менее свои доводы я
 YZ> приведу.
 
     Очень жаль. Hе видя программы, трудно судить об её правильности.
 Аргументом в споре об алгоритмах является, в первую очередь, именно их
 работоспособность.
     Из приведённых тобой ниже цифр не понятно, корректно ли ты обрабатываешь
 случаи, когда луч проходит через вершину треугольника. А именно это является
 основной трудностью в алгоритме "чётности числа пересечений".
 
 YZ> 1) Итак, рассмотрим случай, когда точка лежит в тр-ке.
 YZ> Тебе надо посчитать 4 площади, для чего ты считаешь координаты 4
 YZ> векторов (ab, bc, ap, bp) и 4 векторных произведения этих векторов,
 
     Именно так, хотя "векторное произведение" - не совсем верный термин,
 лучше называть его "смешанным".
     Замечу только, что часто в таких задачах ориентация треугольника
 известна заранее (обычно приводят все треугольники к одной ориентации),
 и известно, что треугольник невырожденный. Так что остаётся посчитать
 координаты 3 векторов и 3 "векторных" произведения этих векторов.
 
 YZ> Мне надо посчитать координаты 3 векторов (ap, bp, cp),  2 векторных
 YZ> произведения (для сторон тр-ка, пересекающих прямую) и 3 раза
 YZ> определить (не)равенство знаков чисел, что для простоты я представлю
 YZ> как сравнение с 0 произведения этих чисел.
 
     Вот-вот! Та же ошибка, что и у Ильи. Из равенства 0 произведения двух
 чисел вовсе не следует, что их знаки совпадают.
 
 [арифметика и апелляция к MSDN скипнуты, извини]
 
 YZ> 3) И наконец, весьма вероятно, что на самом деле человеку надо
 YZ> определять положение точки относительно многоугольника с числом
 YZ> сторон > 3. Для этого можно использовать и триангуляцию, но мой метод
 YZ> в ней не нуждается,
 
     Боже! Триангуляцию-то зачем?
 
 YZ> а применительно к нетреугольникам (особенно выпуклым) он
 YZ> будет гораздо лучше твоего, т.к. большинство сторон не пересекает
 YZ> горизонтальную прямую и для них мне не понадобится считать векторные
 YZ> произведения.
 
     "Мой" и "твой" методы придуманы задолго до нашего рождения. :)
     Мне непонятна суть спора. Я утверждаю, что для решения разных задач
 существуют разные алгоритмы. Для треугольника - один, для невыпуклого
 многоугольника - другой. Для выпуклого многоугольника пригодны оба.
 В "моём" труднее ошибиться, так как он сводится к N+1 однотипному
 вычислению "векторных" произведений. "Твой" более сложен, но использует
 меньше умножений за счёт большего числа разветвлений алгоритма.
 В зависимости от того, дороже на данном вычислительном устройстве
 операция умножения или перехода, эффективнее может оказаться тот или другой
 метод.
 
     С уважением, Олег Полубасов.
 
 --- ifmail v.2.15dev5
  * Origin: Fidolook Express http://fidolook.da.ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   20 Oct 2001 20:16:01 
 2 Задачи по геометpии и соpтиpовка   Stanislav Shwartsman   20 Oct 2001 21:53:23 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   21 Oct 2001 00:57:28 
 2 Задачи по геометpии и соpтиpовка   Egorov Pavel   22 Oct 2001 00:25:55 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   22 Oct 2001 01:59:05 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   23 Oct 2001 21:13:37 
 2 Задачи по геометpии и соpтиpовка   Egorov Pavel   26 Oct 2001 00:09:32 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   26 Oct 2001 18:29:48 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   23 Oct 2001 20:44:03 
 Re: 2 Задачи по геометpии и соpтиpовка   Artyom Petrov   21 Oct 2001 21:39:36 
 2 Задачи по геометpии и соpтиpовка   Ilia Kantor   22 Oct 2001 00:27:36 
 2 Задачи по геометpии и соpтиpовка   Oleg Polubasoff   22 Oct 2001 06:52:49 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   22 Oct 2001 17:56:38 
 S0rting Faq 1/3   Ilia Kantor   22 Oct 2001 21:50:12 
 2 Задачи по геометpии и соpтиpовка   Oleg Polubasoff   25 Oct 2001 15:29:07 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   28 Oct 2001 00:08:57 
 2 Задачи по геометpии и соpтиpовка   Oleg Polubasoff   29 Oct 2001 04:34:37 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   30 Oct 2001 00:35:36 
 2 Задачи по геометpии и соpтиpовка   Oleg Polubasoff   08 Nov 2001 21:01:56 
 Re: 2 Задачи по геометpии и соpтиpовка   Yurij Zabelyshynskij   08 Nov 2001 21:37:47 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   30 Oct 2001 00:18:17 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   23 Oct 2001 21:00:43 
 Re: 2 Задачи по геометpии и соpтиpовка   Artyom Petrov   21 Oct 2001 22:02:09 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   23 Oct 2001 22:02:53 
 Re: 2 Задачи по геометpии и соpтиpовка   Andrew Ezhguroff   24 Oct 2001 03:45:54 
 2 Задачи по геометpии и соpтиpовка   Andrew Simontsev   24 Oct 2001 14:05:13 
 Re: 2 Задачи по геометpии и соpтиpовка   Andrew Ezhguroff   25 Oct 2001 01:40:35 
 2 Задачи по геометpии и соpтиpовка   Egorov Pavel   26 Oct 2001 00:18:45 
 2 Задачи по геометpии и соpтиpовка   Andrew Simontsev   26 Oct 2001 13:47:07 
 2 Задачи по геометpии и соpтиpовка   Egorov Pavel   29 Oct 2001 00:45:12 
 Re: 2 Задачи по геометpии и соpтиpовка   Arsen Lyapin   30 Oct 2001 00:15:57 
 2 Задачи по геометpии и соpтиpовка   Andrew Simontsev   30 Oct 2001 13:57:59 
 2 Задачи по геометpии и соpтиpовка   Andrew Simontsev   30 Oct 2001 13:38:40 
 2 Задачи по геометpии и соpтиpовка   Andrew Simontsev   24 Oct 2001 14:01:08 
 Re^2: 2 Задачи по геометpии и соpтиpовка   Artyom Petrov   24 Oct 2001 13:30:53 
Архивное /ru.algorithms/65772fcccee5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional