Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Реальность Нереальна!
352 / 128 / 7
Регистрация: 02.08.2009
Сообщений: 3,216
Записей в блоге: 1
1

Точка и заданная область

30.01.2010, 23:18. Показов 2705. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Знаю,что тем полно, но вот не получается хоть ты тресни короче вот :точка с координатами (x,y) принадлежит области, внешней по отношению к треугольнику с вершинами A(0,5), B(1,0) и C(5,0), определить попадает ли точка в область треугольника. Если можно мне саму суть, "шапку" я сам допишу
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2010, 23:18
Ответы с готовыми решениями:

Попадает ли заданная точка в область?
Составить программу, проверяющую попадает ли точка M(x,y) в Область(заштрихованную)...

Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую, попадает ли точка в область
Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую,...

Принадлежит ли заданная точка (a,b) указанному треугольнику
Добрый день! помогите пож-та составить приложение на языке Pascal: Треугольник задан вершинами...

Определить, принадлежит ли заданная точка с координатами (X0,Y0) области D
Пусть D – заштрихованная фигура, как показано на рисунке. Определить, принадлежит ли заданная точка...

20
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
30.01.2010, 23:21 2
области, внешней по отношению к треугольнику
это как понять?
1
Реальность Нереальна!
352 / 128 / 7
Регистрация: 02.08.2009
Сообщений: 3,216
Записей в блоге: 1
30.01.2010, 23:28  [ТС] 3
alexevt, ну т.е. лежит вне плоскости треугольника
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
30.01.2010, 23:31 4
Цитата Сообщение от Che Burashka Посмотреть сообщение
alexevt, ну т.е. лежит вне плоскости треугольника
определить попадает ли точка в область треугольника.
Тогда как же она в эту плоскость попадёт, если она вне?
1
Реальность Нереальна!
352 / 128 / 7
Регистрация: 02.08.2009
Сообщений: 3,216
Записей в блоге: 1
30.01.2010, 23:34  [ТС] 5
Цитата Сообщение от alexevt Посмотреть сообщение
Тогда как же она в эту плоскость попадёт
ну нужно проверить, пападёт ли она в плоскость или нет.Скорее всего опечатка в условии(не моё, попросили сделать,а у меня жабры коротки )
0
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
30.01.2010, 23:36 6
Простейший алгоритм решения задачи.
1. Находим площадь треугольника для примера ABC(По формуле Герона через полупериметры, для этого придется посчитать длины сторон).
2. Далее находим площади 3х треугольников, у которых одна вершина будет в точке D, мето которой надо определить(внутри или вне треугольника). ACD,ABD,BCD.
3. Складываем площади треугольников ACD, ABD, BCD.
4. Если они равны площади треугольника ABC, то точка D лежит в треугольнике.
1
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
30.01.2010, 23:38 7
ничего себе, простой способ. проще найти уравнения сторон и рассмотреть 2 интервала: от 0 до1 и от 1 до 5
0
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
30.01.2010, 23:40 8
ну для меня например он прост ,я не говорю что он оптимальный,но он понятен и легок в реализации,если Вы выложите ваш вариант ,мне будет очень интересно посмотреть
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
30.01.2010, 23:42 9
завтра. уже спать иду.
0
16 / 16 / 3
Регистрация: 06.06.2009
Сообщений: 50
30.01.2010, 23:59 10
Хочу предложить еще один способ решения...как мне кажется, менее морочный, хотя и читерский)

три отрезка, составляющих треугольник, принадлежат прямым, уравнения которых:
АВ: y = -5x + 5
BС: x = 0
AC: y = -x +5

Если точка лежит в треугольнике, значит она лежит
выше АВ (y >= -5x+5)
ниже АС (y <= -x +5)
выше ВС (x > 0)

Проверив всего три условия мы можем дать ответ.

Как-то так)
1
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
31.01.2010, 00:13 11
Ну не совсем так. Вся проблема в знаках.
Отчего зависит знак уравнения? От того в какую
полуплоскость направлен вектор нормали заданой прямой.
Посмотрите 3*x - y - 2 = 0
-3*x + y + 2 = 0
Абсолютно одинаковые прямые, но знак произвольной точки
на этих уравнениях будет противоположным. Так, что так легко
говорить "над" и "под" - нельзя!
0
Реальность Нереальна!
352 / 128 / 7
Регистрация: 02.08.2009
Сообщений: 3,216
Записей в блоге: 1
31.01.2010, 00:13  [ТС] 12
logiC, типа такого?
Pascal
1
if (x=>0)and(y=>(-(5*x+5)))and(y=>(-(x+5))) then
и т.д.?
0
16 / 16 / 3
Регистрация: 06.06.2009
Сообщений: 50
31.01.2010, 00:23 13
Che Burashka, да, именно это я и имел в виду)


Eugeniy, "Над" и "под" как бы заключается в сравнении левой и правой части (y > -x+5)...так что в любом случае ответ будет один и тот же.
0
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
31.01.2010, 00:36 14
Претензия в том, что Вы хотите такими неравенствами
получить внутреннюю область треугольника, но я повторяю,
что для этого вектора нормали прямых должны "фигурально"
иметь направленне вверх, а этого вы добьетесь только в
случае нормального уравнения прямой (можно без нормирующего множителя).
В даном случае Вам повезло и уравнение удовлетворяет этому условию.

Добавлено через 3 минуты
Можно сформулировать иначе:
Направляющее вектора прямых должны
образовывать правую двойку с векторами нормали.
0
16 / 16 / 3
Регистрация: 06.06.2009
Сообщений: 50
31.01.2010, 00:37 15
Цитата Сообщение от Eugeniy Посмотреть сообщение
В даном случае Вам повезло и уравнение удовлетворяет этому условию.
Ну...я же сказал, что метод читерский и на что-то большее не претендовал))))
Вы просто так выразились, что я даже сомневаться начал, что решение ЭТОЙ КОНКРЕТНОЙ задачи данным способом верно
0
3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808
31.01.2010, 00:50 16
Здесь дело не в задаче.
Вы просто изначально правильно, в смысле
моего предведущего поста, написали уравнение прямой.
Поменяй бы Вы где знак - тогда бы, как сказал наш
премьер, всё пропало!
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
31.01.2010, 09:33 17
Можно ещё по другому. Можно вычеслить площадь треугольника, наидти сумму площадей треугольников ABP+ACP+BCP (Р это наша точка), и сравнить с площадью АВС. Равно? - Внутри. Не равно? - Снаружи.

Добавлено через 44 минуты
А вот тебе и вся программа, с использованием функции:
Pascal
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
26
27
28
29
30
31
32
33
34
35
36
function s(x1:integer; y1:integer; x2:integer; y2:integer; x3:integer; y3:integer) : real;
var
l1,l2,l3,p : real;
begin
l1:=sqrt(sqr(x1-x2)+sqr(y1-y2));
l2:=sqrt(sqr(x2-x3)+sqr(y2-y3));
l3:=sqrt(sqr(x1-x3)+sqr(y1-y3));
p:=(l1+l2+l3)/2;
s:=sqrt(p*(p-l1)*(p-l2)*(p-l3));
end;
var
su,sun,sunn,suu : real;
x,y,x1,x2,x3,y1,y2,y3 : integer;
begin
writeln('Enter the coordinates of the triangle: ');
writeln('First: ');
readln(x1);
readln(y1);
writeln('Second: ');
readln(x2);
readln(y2);
writeln('Third: ');
readln(x3);
readln(y3);
writeln('Enter the coordinates of point: ');
readln(x);
readln(y);
su:=s(x1,y1,x2,y2,x3,y3);
sun:=0;
sun:=sun+s(x,y,x1,y1,x2,y2);
sun:=sun+s(x,y,x1,y1,x3,y3);
sun:=sun+s(x,y,x2,y2,x3,y3);
if abs(sun-su)<0.0000001 then writeln('The point belonges to the triange.')
          else writeln('The point does not belong to the triangle');
readln;
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
31.01.2010, 09:40 18
nikkka, А Вы пост #6 читали?
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
31.01.2010, 09:57 19
Цитата Сообщение от Che Burashka Посмотреть сообщение
logiC, типа такого?
Pascal
1
if (x=>0)and(y=>(-(5*x+5)))and(y=>(-(x+5))) then
и т.д.?
Во первых, в цитате ошибка, во-вторых, надо определиться, имеем ли мы право вручную находить уравнения прямых, в условии заданы точки. Если имеем, то прога примитивна:
Pascal
1
2
3
4
5
6
var
x,y:real;
readln(x,y);
if (x>=0)and(y>=-5*x+5)and(y<=-x+5)then writeln('yes')else writeln('no');
readln;
end.
если всё строго, надо либо в проге находить уравнения прямых, либо работать как в посте#6
0
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
31.01.2010, 10:00 20
Puporev, читал, но там решения не было, только теория.
0
31.01.2010, 10:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2010, 10:00
Помогаю со студенческими работами здесь

Определить, принадлежит ли заданная точка заданной области
Написать задачу,определяющую принадлежность точки А(хА,уА) квадратной области на координатной...

как расположена заданная точка Д отнасительно фигуры
Ооо спасибо работает Добавлено через 27 минут ну и последнее ))) №1 При различных значениях...

Проверить, принадлежит ли точка, заданная координатами, заданной области
Проверить, принадлежит ли точка, заданная координатами, заданной области. Вывести на экран TRUE или...

Определить принадлежит ли точка, заданная координатами x,y некоторой области
Даны действительные числа x,y – координаты точки,R1,R2-соотвественно радиусы большей и меньшей...

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

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


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

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