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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Виктория_иля
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 13
#1

Программа определюющая принадлежность точки фигуре. - C++

25.03.2012, 16:18. Просмотров 1609. Ответов 7
Метки нет (Все метки)

Не могу написать программу определяющую принадлежность точки фигуре((
0
Миниатюры
Программа определюющая принадлежность точки фигуре.  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 16:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа определюющая принадлежность точки фигуре. (C++):

Принадлежность точки к фигуре - C++
Добрый вечер. Задача: написать программу, создающую 4 рандомных координаты(x,y) и проверяющую принадлежность точки к фигуре(точки фигуры...

Принадлежность точки фигуре - C++
Программа для проверки, принадлежит ли точка с координатами (x, y) в заданной области Объясните, пожалуйста алгоритм. Заранее...

Принадлежность точки фигуре - C++
Понять не могу почему не работает так как требуется. Хотя на код смотрю вроде всё верно. Может просто не вижу ошибку. Суть задания:...

Определить принадлежность точки геометрической фигуре - C++
Разработать алгоритм и программу на одном из алгоритмических языков, чтобы определить принадлежность точки М (x, y) геометрической фигуре. ...

Программа, проверяющая принадлежность точки к данному графику - C++
Здравствуйте, нужно написать программу, которая будет считывать координаты точки и определять, принадлежит ли эта точка зеленой области

Принадлежность заданных точек фигуре - C++
Составить программу,определяющую принадлежность 6-ти заданных точек заштрихованной фигуре. Сделал так,но надо через цикл for.Как это...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.03.2012, 16:30 #2
в чем именно проблема? иф елсами все границы задай
1
Виктория_иля
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 13
25.03.2012, 16:42  [ТС] #3
как задать круг, квадрат понятно, а вот как исключить область их пересечения? я в условиях запуталась((
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.03.2012, 16:46 #4
Цитата Сообщение от Виктория_иля Посмотреть сообщение
как задать круг, квадрат понятно, а вот как исключить область их пересечения? я в условиях запуталась((
сделай отдельно функции для каждого кусочка отдельно. Правый сектор - условия - угол от -45 до 45 + внутри круга.
Хотя если квадраты и круг уже заданы, то проще просто условиями исключить верхний и нижний сектор. Задаёшь начальное false, потом прогоняешь принадлежность вообще фигурам. Если принадлежит, то делаешь true. И в конце проверяешь находится ли в этих секторах. Если находится, то опять на false меняешь.
1
Виктория_иля
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 13
25.03.2012, 17:49  [ТС] #5
мне бы набросок....плизз))
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.03.2012, 18:24 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int verhniy_kvadrat(float x,float y)
{
 //если внутри, то вернуть 1    
}
 
int nijniy_kvadrat(float x,float y)
{
 //если внутри, то вернуть 1   
}
 
int krug(float x,float y)
{
 //если внутри, то вернуть 1     
}
 
int main()
{
 //
 int prinadlejit=0;
 if (krug(x,y)==1) prinadlejit=1;
 if (verhniy_kvadrat(x,y)==1) prinadlejit=1;
 if (nijniy_kvadrat(x,y)==1) prinadlejit=1;  
 if ((krug(x,y)==1)&&((verhniy_kvadrat(x,y)==1)||(nijniy_kvadrat(x,y)==1))) prinadlejit=0;
 if (prinadlejit==1) printf("prinadlejit"); else printf("ne prinadlejit");   
}
Добавлено через 45 секунд
это набросок неоптимизированный нифига, но, думаю, направление мысли будет понятно
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
25.03.2012, 18:40 #7
Цитата Сообщение от Nekto Посмотреть сообщение
в чем именно проблема? иф елсами все границы задай
Вообще-то топикстартер задал задачу, какую просто перебором не решить.
"Принадлежность точки фигуре" не самая тривиальная задача, особенно когда речь идёт об абстрактной "фигуре"

Реши сначала частный случай для выпуклых многоугольников. Чёрт, забыл название алгоритма. Помню делал лабы по наподобие этих http://www.atsclub.narod.ru/rus/students/graphics.html глянь, может хотя бы название алгоритма отищешь.

Так вот, получив алгоритм для выпуклых многоугольников,
разбивай невыпуклые на несколько выпуклых, а круг можешь аппроксимировать многоугольником или написать под него отдельный вариант алгоритма.

Добавлено через 4 минуты
Ой ё! Так у него просто конкретная фигура из пересечения двух ромбов и круга!!!
А я то кинулся рассуждать о про проблемы пересечения произвольных невыпуклых фигур....
А так да, проверить попадания в каждую из трёх фигур и ветвлением выяснить, что там с чем пересеклось!
1
Виктория_иля
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 13
25.03.2012, 22:56  [ТС] #8
у меня бред получился, как сделать это красиво и лаконично??
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*zadanie oblasti*/
# include <stdio.h>
# include <math.h>
void main (void)
{
  float x,y;
  printf ("vvedite x=");
  scanf ("%f", & x);
  printf ("vvedite y=");
  scanf("%f",& y);
  if
    ((x*x+y*y>=1 && (y<=2-x && y<=2+x && y>=x && y>=-x)) || ((x*x+y*y>=1) && (y<=2-x && y<=2+x && y>=x && y>=-x)) ||(((x*x+y*y>=1 && (y<=-x && y<=x && y>=2-x && y>=2+x)))
      printf ("vhodit");
  else
  {
   printf ("ne vhodit\n");
  }
  getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 22:56
Привет! Вот еще темы с ответами:

Определение принадлежности точки фигуре - C++
Всем привет. Есть задача определения принадлежности точки фигуре. Как думаете, нормальный алгоритм или можно как-то улучшить, при...

принадлежность точки - C++
Нужно проверить принадлежность точки заштрихованной области. Не пойму как задавать, точнее что писать в ифе. Кто бы помог мне или...

Принадлежность точки рисунку - C++
Разработать алгоритм и написать программу вычисления принадлежности точки с заданными координатами (x, y) заштрихованной об-ласти....

Принадлежность точки N-угольнику. - C++
Ребята, помогите, ПОЖАЛУЙСТА. На плоскости задается выпуклый N - угольник целочисленными координатами своих вершин в порядке обхода по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.03.2012, 22:56
Ответ Создать тему
Опции темы

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