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

Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм - C++

Восстановить пароль Регистрация
 
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
27.04.2014, 14:47     Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм #1
На плоскости заданы множество точек и окружность радиусом R с центром в начале координат. Построить множество всех треугольников с вершинами в заданных точках, все три стороны которых пересекаются с окружностью, найти среди них треугольник с минимальной площадью.

задачу сделал для произвольного треугольника, не приходит в голову как проверять, что сторона треугольника пересекает окружность
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 14:47     Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм
Посмотрите здесь:

C++ Даны три положительных числа а, b, с. Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.
C++ Треугольник задан величинами своих углов и радиусом вписанной окружности. Найти стороны треугольника.
C++ Вычислить площадь вписанной окружности
Два треугольника заданы координатами своих вершин. Найти сумму длин вписанных в них окружностей. Вычисления длины окружности, вписанной в треугольник C++
C++ Рассчитать радиус окружности, вписанной в треугольник и описанной
Определить теугольник с наибольшим радиусом, вписанной окружности C++
Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей. C++
Радиус вписанной окружности C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Denis123456789
43 / 43 / 17
Регистрация: 02.06.2013
Сообщений: 180
27.04.2014, 15:39     Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм #2
Ну у Вас есть две точки начала(x1,y1) и конца(x2,y2) отрезка стороны треугольника, по ним можно составить уравнение прямой y=kx+b: k=(y2-y1)/(x2-x1), b=y1-x1*(y2-y1)/(x2-x1). Дальше находим общие точки прямой и окружности решая систему:
y=kx+b
x^2+y^2=R^2
Решение системы сводится к решению квадратного уравнения: (k^2+1)x^2+2*k*x*b-R^2+b^2=0;
Решаем его программно (коэф. изв, формулы изв.): если корней нет, значит не перес, если один-касаются, если два то пересекаются прямая и окружность, но нам нужно, чтобы пересекался отрезок прямой(сторона треуг.) с окр., поэтому проверяем полученные из корней точки на принадл. стороне треуг., если хотя бы один прин., то сторона пересекает окружность
Yandex
Объявления
27.04.2014, 15:39     Пересечение сторонами треугольника вписанной окружности. Подскажите алгоритм
Ответ Создать тему
Опции темы

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