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

принадлежность точки - C++

Восстановить пароль Регистрация
 
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 20:26     принадлежность точки #1
Нужно проверить принадлежность точки заштрихованной области.
Не пойму как задавать, точнее что писать в ифе.
Кто бы помог мне или объяснил.
[IMG]http://s005.***********/i210/1202/87/15acdeab042e.jpg[/IMG]

http://s005.***********/i210/1202/87/15acdeab042e.jpg
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
29.02.2012, 20:29     принадлежность точки #2
Цитата Сообщение от KpecTHbIi Посмотреть сообщение
Не пойму как задавать, точнее что писать в ифе.
Подсказка: y = k * x + b
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 20:30  [ТС]     принадлежность точки #3
Цитата Сообщение от Xind Посмотреть сообщение
Подсказка: y = k * x + b
да, а какое k x и b брать ?
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
29.02.2012, 20:32     принадлежность точки #4
Цитата Сообщение от KpecTHbIi Посмотреть сообщение
да, а какое k x и b брать ?
см. свой рис.
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 20:32  [ТС]     принадлежность точки #5
Цитата Сообщение от Xind Посмотреть сообщение
см. свой рис.
уже час смотрю, что то не выходит.
two steps
6 / 6 / 3
Регистрация: 13.06.2011
Сообщений: 27
29.02.2012, 22:22     принадлежность точки #6
Тут программировать пока что рано, надо решить задачу математически.
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 22:26     принадлежность точки #7
Почитайте мой пост тут:
Принадлежит ли точка области.
Задача аналогичная и алгоритм тот же.
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 22:29  [ТС]     принадлежность точки #8
я вот где то знаки ровно не правильно расставил.
посмотрите кто может .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "iostream"
#include "cmath"
using namespace std;
int main(int argc, char* argv[])
{   float x,y;
cin>>x;
cin>>y;
if ((y<=3*x-5)&&(y<=-3*x+19) &&(y<=x+1)&&(y>=x/3 + 5/3) &&(y<=-x+9) && (y>-x/3 + 13/3))
{ cout<< "nalezhit`"<<endl;}
else 
{ cout<<"Ne nalezhit`"<<"\n";}
system("pause");
}
 Комментарий модератора 
Используйте теги форматирования кода!
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 22:30     принадлежность точки #9
У тебя решение полностью не правильное, можешь конечно слушать других и ошибаться...
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 22:34  [ТС]     принадлежность точки #10
Цитата Сообщение от AncinetHero Посмотреть сообщение
У тебя решение полностью не правильное, можешь конечно слушать других и ошибаться...
не могли бы вы подсказать где именно.
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 22:35     принадлежность точки #11
Цитата Сообщение от AncinetHero Посмотреть сообщение
Почитайте мой пост тут:
Принадлежит ли точка области.
Задача аналогичная и алгоритм тот же.
Вот процитирую пост.
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 22:40  [ТС]     принадлежность точки #12
Я бы решал следующим образом, возможно, не самым оптимальным...

Для начала, на вашем рисунке соединил бы мысленно точки с координатами (1;0) и (-1;1) (доштриховал бы треугольник)
Проверил принадлежность заданной точки "дополненной" фигуре. (это делается с помощью суммирования площадей)
Если нет - выходим.
Дальше, проверил бы принадлежность этой точки треугольнику с координатами (1;0) ; (-1;1) ; (0;0)
Если принадлежит - выходим.
Выводим "да".

P.S. У вас алгоритм совершенно не правильный.

не пойму ход вашей мысли и чем тот алгоритм не правильный ?
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 22:43     принадлежность точки #13
Что вы не понимаете? Задача:
Есть выпуклый n-угольник с координатами вершин x_i,y_i , i=1..n . Нужно определить, принадлежит ли точка с координатами x,y этой фигуре.
Находится площадь этого n-угольника (это уже в поисковик сами, там она простая).
Находится площадь всех треугольников с 2 координатами многоугольника и искомой точки. ( если 4 вершины, тогда 1,2 вершин и заданой; 2,3 вершин и заданой; 3,4 вершин и заданой; 4,1 и заданой )
Суммируете и проверяете.
KpecTHbIi
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 9
29.02.2012, 22:50  [ТС]     принадлежность точки #14
тоесть вы предлагаете мне соединить координаты (1;2) c (4;7) и с (7;2) что бы образовался треугольник,
проверить принадлежит ли точка новой фигуре, а дальше что ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.02.2012, 22:54     принадлежность точки
Еще ссылки по теме:

Принадлежность точки отрезку C++
C++ Принадлежность точки к фигуре
Принадлежность точки рисунку C++

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

Или воспользуйтесь поиском по форуму:
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
29.02.2012, 22:54     принадлежность точки #15
Если принадлежит, проверяете, чтобы она не принадлежала 3 треугольникам по краям.
Yandex
Объявления
29.02.2012, 22:54     принадлежность точки
Ответ Создать тему
Опции темы

Текущее время: 02:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru