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

Определить лежит ли один треугольник в другом - C++

Восстановить пароль Регистрация
 
MONOLIT93
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 12
30.01.2014, 14:28     Определить лежит ли один треугольник в другом #1
Треугольник задается координатами своих вершин. По двум треугольникам определить лежит ли один из них в другом. Если да, вычислить площадь той части внешнего треугольника, которая не принадлежит внутреннему треугольнику.
Подскажите как правильно задать условия а то не могу дотумкать никак.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 14:28     Определить лежит ли один треугольник в другом
Посмотрите здесь:

Как использовать функцию класса в другом классе (ни один из классов не наследует другой)? C++
Определить лежит ли точка а на прямой. C++
Лежит ли треугольник внутри окружности радиуса R C++
Определить, содержится ли один из них полностью в другом C++
C++ Проверить лежит ли один из многоугольников строго внутри другого и определить площади многоугольников
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
30.01.2014, 14:34     Определить лежит ли один треугольник в другом #2
Цитата Сообщение от MONOLIT93 Посмотреть сообщение
Треугольник задается координатами своих вершин. По двум треугольникам определить лежит ли один из них в другом. .
проверял так - для каждой стороны одного треугольника проверил такое условие:
лежат ли все 3 точки второго треугольника по одну сторону от прямой (сторона первого треугольника)
Если для всех выполнено - значит один лежит в другом.

для каждой стороны пишем уравнения прямых Ax+By+C=0 и подставляем точки второго. если все 3 неравенства одного знака , то выполнено условие.

хотя, это не совсем точно - это условие может выполнится если треугольник снаружи (где то сбоку), тогда проверить дополнительно проверить условие по площадям - у кого меньше тот внутри лежит
MONOLIT93
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 12
30.01.2014, 14:45  [ТС]     Определить лежит ли один треугольник в другом #3
для каждой стороны пишем уравнения прямых Ax+By+C=0
а С это что у нас? и как получить?
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
30.01.2014, 14:52     Определить лежит ли один треугольник в другом #4
MONOLIT93,
вот по этой формуле приводите к виду Ax+ By+C=0, ну или y = a*x + b, где a = - A / B, b = -C / B, если удобнее
Название: f1003.JPG
Просмотров: 80

Размер: 2.3 Кб
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
30.01.2014, 14:56     Определить лежит ли один треугольник в другом #5
http://www.cyberforum.ru/cgi-bin/latex.cgi?({y}_{1} - {y}_{2})x+({x}_{2}-{x}_{1})y+({x}_{1}{y}_{2}-{x}_{2}{y}_{1})=0
sktm
0 / 0 / 1
Регистрация: 30.01.2014
Сообщений: 11
30.01.2014, 15:04     Определить лежит ли один треугольник в другом #6
Нужно проверить лежат ли все три точки одного треугольника внутри другого. Положение точки можно проверить, соединив ее с вершинами треугольника. Получим 3 треугольника. Если их суммарная площадь равна площади нашего треугольника то она находится внутри (площади ищутся по формуле Герона). Если получим, что один треугольник лежит внутри другого, то просто найдем разность их площадей (по формуле Герона).
Yandex
Объявления
30.01.2014, 15:04     Определить лежит ли один треугольник в другом
Ответ Создать тему
Опции темы

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