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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dds
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 4
#1

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

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

добрый вечер.
помогите пожалуйста решить задачи срочно нужно(
1. Треугольник и точка. Заданы прямоугольные координаты x1, y1, x2, y2, x3, y3 вершин треугольника и координаты x, y точки. Определить и напечатать, находится ли точка в треугольнике. Погрешностями вычислений пренебречь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 23:48     Определить и напечатать, находится ли точка в треугольнике
Посмотрите здесь:

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

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

Определить находится ли точка в площади треугольника - C++
В одномерном массиве с четным количеством элементов находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1 y1,...

По заданным координатам определить, где находится точка. - C++
Т.к. я полный 0 в С++, прошу помощи у профи) Завтра зачет. По заданным координатам точки определить, где находится точка: 1) внутри...

Определить, находится ли точка с координатами (x,y,z) внутри шара - C++
Определить, находится ли точка с координатами (x,y,z) внутри шара с центром в точке (x_0,y_0,z_0 )и радиусом R.

Определить, находится ли точка с пространственными координатами внутри параллелепипеда - C++
Реализовать программу, определяющую находится ли точка с пространственными координатами (х, у, z) внутри параллелепипеда с заданными...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DeLipFin
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
Завершенные тесты: 1
01.04.2015, 23:44     Определить и напечатать, находится ли точка в треугольнике #2
dds, Суть такая же как и здесь
Миниатюры
Определить и напечатать, находится ли точка в треугольнике  
DeLipFin
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
Завершенные тесты: 1
02.04.2015, 00:07     Определить и напечатать, находится ли точка в треугольнике #3
dds, Так же я думаю нужно будет в программе написать уравнение сторон треугольника, и получается что не 8 будет переменных, а 11
mihey1993
322 / 48 / 19
Регистрация: 07.09.2014
Сообщений: 217
02.04.2015, 11:22     Определить и напечатать, находится ли точка в треугольнике #4
Для того, чтобы определить находится ли точка D в треугольнике ABC , можно проверить что выполняется следующее равенство для площадей:
http://www.cyberforum.ru/cgi-bin/latex.cgi?S_{ABC} = S_{ABD} + S_{BCD} + S_{ACD}
По заданным координатам точек площадь считается следующей формулой:
http://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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2015, 11:52     Определить и напечатать, находится ли точка в треугольнике
Еще ссылки по теме:

Определить находится ли данная точка в середине многоугольника, или нет? - C++
Какая функция будет считывать координаты вершин неправильного многоугольника, и некую точку которую будем проверять. Выводить находится ли...

Определить номер координатной четверти, в которой находится данная точка - C++
Даны координаты точки, не лежащей на координатных осях OX и OY. Определить номер координатной четверти, в которой находится данная ...

С++ использование функций. Определить, находится ли точка М(х,у) внутренней области треугольника - C++
Здравствуйте. помогите написать программу на языке С++. Определить, находится ли точка М(х,у) внутренней области треугольника с вершинами...

Точка в треугольнике - C++
Помогите! даны три вершины треугольника с координатами(коорд вводятся с клавиатуры) А(х1,y1) B(х2,y2) и С(х3,y3). И вводятся координаты...

Создать класс, описывающий точки, определить в каком координатном угле находится точка: найти ошибку - C++
создать класс, описывающий точки. Определить в каком координатном угле находится точка. написал чо то не получается: #include...

Определить min элемент главной диагонали матрицы и напечатать столбец, в котором он находится - C++
Задана матрица целых чисел.Определить min элемент главной диагонали и напечатать столбец,в котором он находится. Желательно с блок схемой...


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

Или воспользуйтесь поиском по форуму:
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
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);
Аналогично все остальные. Просто циклически меняем индексы.
Yandex
Объявления
02.04.2015, 11:52     Определить и напечатать, находится ли точка в треугольнике
Ответ Создать тему
Опции темы

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