Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Принадлежит ли точка многоугольнику - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread570402.html
Из заданной матрицы A размером N*M получить матрицу В размером M*(N+M-1) по определенному на рисунке правилу. Недостающие элементы заменить нулями.
C++ Найти сумму ряда Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для вычисления последующего значения члена ряда использовать... http://www.cyberforum.ru/cpp-beginners/thread570395.html
C++ MPEG2 - Program Map Table
Необходимо добавить еще один PID в таблицу PMT. На этапе сохранения самой таблицы решил сравнить CRC32, и они не сходяться! Пробывал разные полиномы( 0x04C11DB7 / 0xEDB88320 / 0x82608EDB ),...
ERROR что обозначает ошибка C++
Что обозначает такие ошибки и как их справить ERROR требуется выражение ERROR требуется указать на функцию(Указатель функции) ERROR Объявленный идентификатор ERROR не вереное значение Кто...
C++ Указатели на функции http://www.cyberforum.ru/cpp-beginners/thread570355.html
Народ! Прошу у вас помощи ещё раз! Дано такое задание: С заданной точность E (Е>0) вычислить площадь заштрихованной фигуры Метод решения уравнения: Уменьшения интервала и дробления Метод...
C++ Вычислить с заданной точностью значение функции , используя ее разложение в ряд: Вычислить с заданной точностью значение функции , используя ее разложение в ряд: подробнее

Показать сообщение отдельно
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
10.05.2012, 21:18  [ТС]
Нашёл алгоритм, непонятно только рабочий ли он
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool pointInPolygon() {
 
  int      i, j=polySides-1 ;
  boolean  oddNodes=NO      ;
 
  for (i=0; i<polySides; i++) {
    if ((polyY[i]< y && polyY[j]>=y
    ||   polyY[j]< y && polyY[i]>=y)
    &&  (polyX[i]<=x || polyX[j]<=x)) {
      oddNodes^=(polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x); }
    j=i; }
 
  return oddNodes; }
Добавлено через 1 минуту
HighPredator, да неизвестно чего там тыкать за многоугольники будут. Наверное все подряд так что упростить задачу до определения только выпуклых нельзя.

Добавлено через 8 минут
Не работает тот алгоритм что нашёл
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru