0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 13
1

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

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

Author24 — интернет-сервис помощи студентам
Не могу написать программу определяющую принадлежность точки фигуре((
Миниатюры
Программа определюющая принадлежность точки фигуре.  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2012, 16:18
Ответы с готовыми решениями:

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

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

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

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

7
347 / 292 / 37
Регистрация: 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
347 / 292 / 37
Регистрация: 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
347 / 292 / 37
Регистрация: 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
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,481
Записей в блоге: 1
25.03.2012, 18:40 7
Цитата Сообщение от Nekto Посмотреть сообщение
в чем именно проблема? иф елсами все границы задай
Вообще-то топикстартер задал задачу, какую просто перебором не решить.
"Принадлежность точки фигуре" не самая тривиальная задача, особенно когда речь идёт об абстрактной "фигуре"

Реши сначала частный случай для выпуклых многоугольников. Чёрт, забыл название алгоритма. Помню делал лабы по наподобие этих http://www.atsclub.narod.ru/ru... phics.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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2012, 22:56
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru