Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Подскажите как это сделать?

239  
MYHA13 прохожий30.09.12 12:02
MYHA13
30.09.12 12:02 
Построить програму,которая вводит координаты точки (x,y) и определяет,попадает ли точка в заштрихованную область на рисунке.Попадание на границу области считать попаданием в область.Организовать многократный ввод данных.
#1 
voxel3d патриот30.09.12 12:11
voxel3d
NEW 30.09.12 12:11 
в ответ MYHA13 30.09.12 12:02, Последний раз изменено 30.09.12 12:15 (voxel3d)
Это просто. Из точки делаешь прямую (используя произвольную вторую точку) и последовательно считаешь уравнения пересечения двух прямых с каждой из сторон полигона составляющего заштрихованную область. Если суммарное количество пересечений нечётное, точка принадлежит полигону. Это для случая, когда точка внутри.
Для определения принадлежности к стороне полигона, считаешь, является ли точка решением уравнения прямой для каждой из сторон полигона. Но, скорее всего, это считать не потребуется.
Dropbox - средство синхронизации и бэкапа файлов.
#2 
  scorpi_ завсегдатай30.09.12 12:57
NEW 30.09.12 12:57 
в ответ MYHA13 30.09.12 12:02
Murr патриот30.09.12 13:04
Murr
NEW 30.09.12 13:04 
в ответ voxel3d 30.09.12 12:11
Это просто.
-------
Если аналитическую геометрию читали...
На его уровне (исходя из вопроса) будет проще написать проверку 6 условий для конкретного случая...
#4 
Poiser местный житель30.09.12 20:46
Poiser
NEW 30.09.12 20:46 
в ответ MYHA13 30.09.12 12:02, Последний раз изменено 30.09.12 20:51 (Poiser)
Для каждой стороны полигона строится уравнение прямой. Потом приводишь его к неравенству - где с одной стороны переменные, а с другой 0. Больше/меньше в этом случае означает с какой стороны прямой лежит точка. Если равно, то точка лежит на прямой. Дальше у тебя должны выполнятся одновременно все три неравенства - тогда точка будет лежать внутри области.
Как-то так:
x +1 > 0
-y + 1 > 0
y - х > 0
Можно смоделировать с помощью простейшего перцептрона.
Создание сайтов, онлайн-магазинов в Германии
#5