Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
#1

Принадлежит ли точка заштрихованной области - C++

16.09.2012, 15:10. Просмотров 1978. Ответов 11
Метки нет (Все метки)

Нужна помощь в выполнение задания, я в общем то разобрал задачу но есть несколько нюансов
http://savepic.net/3458418m.jpg
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2012, 15:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Принадлежит ли точка заштрихованной области (C++):

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

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

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

Определить, принадлежит ли точка заштрихованной области
Задание: разработать функцию, реализующую предикат, принимающий значение...

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

Определить принадлежит ли точка заштрихованной области
Даны вещественные числа x и y. Определить принадлежит ли точка с координатами...

11
Рыжий Лис
Просто Лис
931 / 453 / 322
Регистрация: 17.05.2012
Сообщений: 1,868
Записей в блоге: 7
16.09.2012, 15:13 #2
где задание?

Добавлено через 17 секунд
и код

Добавлено через 14 секунд
если он есть
0
veverix
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
16.09.2012, 15:14 #3
там 4 графика, по какому из них делать?
0
Topotun
89 / 48 / 10
Регистрация: 16.09.2012
Сообщений: 207
16.09.2012, 15:15 #4
Какие нюансы? там просто нужно разбить каждую фигуру на прямые, найти уравнения этих прямых и через них проверить, лежит ли точка с координатами x, y в фигуре.
0
veverix
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
16.09.2012, 15:31 #5
Цитата Сообщение от Topotun Посмотреть сообщение
Какие нюансы? там просто нужно разбить каждую фигуру на прямые, найти уравнения этих прямых и через них проверить, лежит ли точка с координатами x, y в фигуре.
Нам давали задачу на 1 график обычно.
0
Topotun
89 / 48 / 10
Регистрация: 16.09.2012
Сообщений: 207
16.09.2012, 15:34 #6
да без разницы какой график. смысл решения от этого не меняется. просто побольше уравнений прямых и чуть больше вычислений...
0
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
16.09.2012, 15:58  [ТС] #7
я просто не оч еще программирую на с++ поэтому и прошу помощи кто может решить, 4 фигуры --> 4 задачи

Добавлено через 1 минуту
как же это сделать??
0
Topotun
89 / 48 / 10
Регистрация: 16.09.2012
Сообщений: 207
16.09.2012, 16:03 #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// p1 - p3: вершины треугольника, ptest: проверяемая точка.
// VEC - структура, содержащая поля X, Y, написанная нами.
// Можно вполне использовать POINT из <windows.h>
// Возвращается TRUE, если принадлежит, иначе - FALSE.
BOOL IsInTriangle( VEC P1, VEC P2, VEC P3, VEC PTest )
{
  int a = (P1.X - PTest.X) * (P2.Y - P1.Y) - (P2.X - P1.X) * (P1.Y - PTest.Y);
  int b = (P2.X - PTest.X) * (P3.Y - P2.Y) - (P3.X - P2.X) * (P2.Y - PTest.Y);
  int c = (P3.X - PTest.X) * (P1.Y - P3.Y) - (P1.X - P3.X) * (P3.Y - PTest.Y);
 
  if ((a >= 0 && b >= 0 && c >= 0) || (a <= 0 && b <= 0 && c <= 0))
    return TRUE;
  else
    return FALSE;
}
пусть твоя точка имеет координаты (х,у), а вершины треугольника - (х1,у1), (х2,у2), (х3,у3).

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

точка с координатами (х,у) принадлежит полуплоскости, когда находится по одну из сторон некоторой прямой, а именно y-(kx+b)>=0 , где k, b - параметры данной прямой.

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

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

Это про треугольник..разберёшься с треугольником, поймёшь как остальное делать. там всё по аналогии.
0
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
16.09.2012, 16:20  [ТС] #9
спасибо большое

Добавлено через 4 минуты
а как это будет выглядеть в с++??
0
veverix
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
17.09.2012, 22:26 #10
Первая
-2*x+y-2<0
-2*x-y+2>0
y<-1
Вторая
if y>-2 and y<0 then x>-1 and x<1;
if y>0 && y<1 then y<x
Третяя
-2*x+y-3<0
-x+3*y+1>0
if x>-2 and x<0 then y<x
if x>0 and x<1 then y<0
Четвертая
if x<-1 or x>1 then y>1 else y>x
1
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
17.09.2012, 22:59  [ТС] #11
разве это условие принадлежности? это просто разветвления
0
veverix
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
17.09.2012, 23:28 #12
Цитата Сообщение от ilyasfromkz Посмотреть сообщение
разве это условие принадлежности? это просто разветвления
Посмотри внимательно. Это условия принадлежности, только описанные касаемо каждой функции по отдельности
0
17.09.2012, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2012, 23:28
Привет! Вот еще темы с решениями:

Проверить, принадлежит ли точка заштрихованной области
Для задачи 2 записать выражение, зависящее от координат точки X1 и Y1 и...

Принадлежит ли данная точка к заштрихованной области
Принадлежит ли данная точка к заштрихованной области Точка вводится...

Принадлежит ли точка заштрихованной области (C++ Builder)?
C++ Builder принадлежит ли точка заданным пределам (x:y)

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


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

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

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