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

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

12.11.2012, 23:48. Показов 1679. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
добрый вечер.
помогите пожалуйста решить задачи срочно нужно(
1. Треугольник и точка. Заданы прямоугольные координаты x1, y1, x2, y2, x3, y3 вершин треугольника и координаты x, y точки. Определить и напечатать, находится ли точка в треугольнике. Погрешностями вычислений пренебречь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2012, 23:48
Ответы с готовыми решениями:

Определить, находится ли точка в треугольнике
заданы прямоугольные координаты Х1,У1,Х2,У2,Х3,У3 вершин треугольника и координаты Х и У точки....

Определить, находится ли точка в треугольнике.
Заданы прямоугольные координаты X1,Y1,X2,Y2,X3,Y3 вершина треугольника и координаты X и Y точки....

Определить, находится ли точка в треугольнике
Заданы прямоугольные координаты X1,Y1,X2,Y2,X3,Y3 вершин треугольника и координата X и Y точки....

Определить: лежит точка в треугольнике
Мне уже два или три раза попадались задачи, где прямо или косвенно требовалось определить: лежит...

4
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
01.04.2015, 23:44 2
dds, Суть такая же как и здесь
Миниатюры
Определить и напечатать, находится ли точка в треугольнике  
0
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
02.04.2015, 00:07 3
dds, Так же я думаю нужно будет в программе написать уравнение сторон треугольника, и получается что не 8 будет переменных, а 11
0
323 / 49 / 28
Регистрация: 07.09.2014
Сообщений: 217
02.04.2015, 11:22 4
Для того, чтобы определить находится ли точка D в треугольнике ABC , можно проверить что выполняется следующее равенство для площадей:
https://www.cyberforum.ru/cgi-bin/latex.cgi?S_{ABC} = S_{ABD} + S_{BCD} + S_{ACD}
По заданным координатам точек площадь считается следующей формулой:
https://www.cyberforum.ru/cgi-bin/latex.cgi?S_{ABC} = \frac{1}{2} |(x_B - x_A)(y_C - y_A) - (x_C - x_A)(y_B - y_a)|

Так что в общем и целом получается проверка будет выглядеть так(если я конечно же нигде не накосячил):
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
26
27
28
#include <iostream>
#include <cmath>
 
using namespace std;
 
struct point{
    double x,y;
};
 
double area(point a,point b,point c){
    return (0.5*abs((b.x - a.x)*(c.y - a.y) - (c.x - a.x)*(b.y - a.y)));
}
 
int main()
{
   point a,b,c,d;
   a.x = 1.0;a.y = 1.0;
   b.x = 3.0;b.y = 5.0;
   c.x = 4.0;c.y = 2.0;
   d.x = 3.5;d.y = 3.5;
   if (abs((area(a,b,c) - area(a,b,d) - area(a,c,d) - area(b,c,d)))<1e-5){
       cout << "Yes";
   }
   else {
       cout << "No";
   }
   return 0;
}
0
Эксперт по математике/физикеЭксперт С++
2044 / 1363 / 393
Регистрация: 16.05.2013
Сообщений: 3,500
Записей в блоге: 6
02.04.2015, 11:52 5
Цитата Сообщение от mihey1993 Посмотреть сообщение
можно проверить что выполняется следующее равенство для площадей
Проверить то можно, но это крайне не удачный подход ибо сравнение на равенство чисел с плавающей точкой некорректно. В данном случае следует поступить следующим образом. Нужно проверять чтобы векторные произведения (r2 - r1)x(r - r1), (r3 - r2)x(r - r2), (r1 - r3)x(r - r3) имели один знак. К примеру первое умножение запишется ввиде:
C++
1
bool sign1 = (x2 - x1) * (y - y1) - (y2 - y1) * (x - x1);
Аналогично все остальные. Просто циклически меняем индексы.
0
02.04.2015, 11:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2015, 11:52
Помогаю со студенческими работами здесь

Определить лежит точка в треугольнике или нет
Даны координаты вершин треугольника и точка О(х,у). Определить лежит точка в треугольнике или нет.

Определить, находится ли точка на плоскости в замкнутой области. Если находится, то вычислить значение функции
Хелп ми! С помощью оператора if определить, находится ли точка на плоскости в замкнутой области....

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

Определить находится ли точка в окружности
Дана окружность с центром С(х0,у0) и радиусом R. Пользователь вводит координаты точки А(х,у)....


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

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

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