|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Tarasevich 2:5020/400 04 Dec 2001 04:28:09 To : Roman Vorobets Subject : Re: Многоугольник и точка --------------------------------------------------------------------------------
Roman Vorobets wrote:
> ...
> >> ...
> >> YZ> Результат получится такой же самый, но способ SK проще в
> >> YZ> реализации.
> [skipped]
> AT> Hе понимаю, где ты тут видишь, что что-то не работает???! Все
> AT> правильно: в первом случае - одно пересечение, во втором случае - нет
> AT> пересечений. Т.е в первом случае точка внутри (1 - число нечетное), а
> AT> во втором - снаружи (0 - число четное). Все прекрасно работает и не
> AT> надо проверять никаких дополнительных крайних точек.
>
> То ли я не по-pyсски объясняю, то ли ты по-китайски говоpишь...
> И pасскажи же, как ты опpеделил, что в пеpвом слyчае 1 пеpесечение, а во
> втоpом - два. Только все по поpядкy (алгоpитм в стyдию !). ...
Ясно же было объяснено: обходим ребра нашего многоугольника в том
порядке, в котором они даны во входных данных. Ищем и подсчитывем
пересечения этих ребер с нашим горизонтальным лучом. Если наш
горизонтальный луч проходит через вершину многоугольника, то пересечение
засчитывается только в том случае, если предыдущая (в исходном порядке)
вершина многоугольника лежит ниже этого луча. Все.
В твоем первом примере получаем одно пересечение, во втором - ноль
пересечений. Где ты тут видишь проблему?
Best regards,
Андрей.
--- ifmail v.2.15dev5
* Origin: good enough (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6682faf533c9.html, оценка из 5, голосов 10
|