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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread570402.html
Из заданной матрицы A размером N*M получить матрицу В размером M*(N+M-1) по определенному на рисунке правилу. Недостающие элементы заменить нулями.
Visual C++ Генерация разноцветных эллипсов, которые двигаются по экрану (MFC) помогите мне кто силен с данной библиотекой MFC написать программу которая генерирует на экране разноцветные эллипсы, которые двигаются по экрану. при столкновении с краями эллипс разрушается http://www.cyberforum.ru/cpp-beginners/thread570398.html
Найти сумму ряда C++
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для вычисления последующего значения члена ряда использовать рекуррентную формулу.
C++ MPEG2 - Program Map Table
Необходимо добавить еще один PID в таблицу PMT. На этапе сохранения самой таблицы решил сравнить CRC32, и они не сходяться! Пробывал разные полиномы( 0x04C11DB7 / 0xEDB88320 / 0x82608EDB ), считаю с table id и до конца пока не заканчивается таблица, уже не знаю в чем может быть ошибка. Делаю по следующему алгоритму unsigned long crc32( unsigned char *buf, size_t len, size_t pol ) { ...
C++ ERROR что обозначает ошибка http://www.cyberforum.ru/cpp-beginners/thread570361.html
Что обозначает такие ошибки и как их справить ERROR требуется выражение ERROR требуется указать на функцию(Указатель функции) ERROR Объявленный идентификатор ERROR не вереное значение Кто знает как такие ошибки исправлять ?
C++ Указатели на функции Народ! Прошу у вас помощи ещё раз! Дано такое задание: С заданной точность E (Е>0) вычислить площадь заштрихованной фигуры Метод решения уравнения: Уменьшения интервала и дробления Метод вычисления интегралов: Трапеций И дана вот такая фиговина: http://www.fotolink.su/v.php?id=75586708e5eea25c5797d657e91c6242 Я с простыми интегралами то плохо дружу, а их ещё как то реализовать в... подробнее

Показать сообщение отдельно
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
10.05.2012, 23:47     Принадлежит ли точка многоугольнику
Gepar, я немного поправил код, но понял ошибку. Когда я писал, я думал, что координаты вершин в массиве хранятся последовательно. Щас еще что-нибудь написать попробую Пока код нерабочий. Попробую упорядочить массив вершин
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool belong(float x[], float y[],float dotx,float doty, int n)
{//n - размерность массива, массивы x и y хранят координаты вершин многоугольника, dotx, doty - координаты точки
     bool b=false;
     for(int i=0;i<n-1;i++)//луч направляем вдоль оси х
/*1*/  {if((dotx<x[i]||dotx<x[i+1])&&doty<y[i]&&doty>y[i+1]||(dotx<x[i]||dotx<x[i+1])&&doty>y[i]&&doty<y[i+1]) {b=!b;cout<<1<<endl;}//если пересечет многоуолник нечетное число раз - тру
/*2*/     if(dotx==x[i]&&doty==y[i]){cout<<2<<endl;return true;}//если точка в вершине
     /*3*/if(y[i]!=y[i+1]){cout<<3<<endl;
     /*4*/if(((dotx<x[i]&&dotx>x[i+1])||(dotx>x[i]&&dotx<x[i+1]))&&(dotx*(y[i]-y[i+1])/(x[i]-x[i+1])==doty)){cout<<4<<endl; return true;}}//если точка лежит на ребре
     /*5*/if((y[i]==y[i+1])&&(doty==y[i])&&((dotx<x[i]&&dotx>x[i+1])||(dotx>x[i]&&dotx<x[i+1]))) {cout<<5<<endl;return true;}//если точка лежит на ребре
    /*6*/ if((y[i]==y[i+1])&&(doty==y[i])){cout<<6<<endl; b=!b;}//если ребро принадлежит лучу, мы его как будто все таки пересекаем =)
   }
   /*7*/    if((dotx<x[0]||dotx<x[n-1])&&doty<y[0]&&doty>y[n-1]||(dotx<x[0]||dotx<x[n-1])&&doty>y[0]&&doty<y[n-1]){cout<<7<<endl; b=!b;}//пересечение с последним ребром
 /*8*/      if((y[0]==y[n-1])&&(y[0]==doty)){cout<<8<<endl;b=!b;}//если ребро принадлежит лучу, мы его как будто все таки пересекаем =)
 /*9*/      if(dotx==x[n-1]&&doty==y[n-1]){cout<<9<<endl;return true;}//если точка в вершине
  /*10*/   cout<<10<<endl;
     return b;
     }
 
Текущее время: 17:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru