Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2015, 11:13   #1
litrein
Новичок
Джуниор
 
Регистрация: 08.04.2009
Сообщений: 2
По умолчанию Выпуклый многоугольник

Добрый день, задачка : принадлежит ли точка области выпук.,многоуг. Есть код, в нем, точки (вершины) вводить нужно против часовой, а нужно так же и по часовой, буду благодарен за помощь.

Код:
#include <iostream>
 
typedef struct {
    int x, y;
} 
  /* обход вершин против часовой стрелки */
bool PtInPolygon(const point& p, const point* d, int n){
    int r;
    --n;
    for(int i = 0; i < n; ++i) {
        r = (p.x - d[i].x)*(d[i].y - d[i + 1].y) - 
            (p.y - d[i].y)*(d[i].x - d[i + 1].x);
        if(r < 0)
            return false;
    }
    r = (p.x - d[n].x)*(d[n].y - d[0].y) - 
        (p.y - d[n].y)*(d[n].x - d[0].x);
    return (r >= 0);
}
 
int main(void){
    const int n = 5;
    point  d[n] = {
        { 0, 5  },
        { 10, 8  },
        { 10, 25 },
        { - 15, 25  },
        { -15, 9   }
    };
    point p = { 0, 6};
 
    if(PtInPolygon(p, d, n))
        std::cout << "Yes." << std::endl;
    else
        std::cout << "No!" << std::endl;
    return 0;
}

Последний раз редактировалось Stilet; 07.12.2015 в 11:41.
litrein вне форума Ответить с цитированием
Старый 07.12.2015, 13:03   #2
litrein
Новичок
Джуниор
 
Регистрация: 08.04.2009
Сообщений: 2
По умолчанию

Сделано.Тема закрыта.
litrein вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выпуклый N-угольник Karlsson))) Паскаль, Turbo Pascal, PascalABC.NET 0 25.12.2011 22:59
Выпуклый четырехугольник Namyola Помощь студентам 2 12.06.2011 16:13
выпуклый анализ Жанна__90 Помощь студентам 2 12.01.2011 22:59
Выпуклый N-угольник 6AZblJlb Паскаль, Turbo Pascal, PascalABC.NET 3 08.12.2008 21:35
выпуклый стиль ToolButton andrey4623 Общие вопросы Delphi 2 04.03.2008 19:19