Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448

Центр описанной окружности

18.09.2017, 20:06. Показов 5658. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан остроугольный треугольник координатами своих углов.
Нужен алгоритм (приближенный), который бы позволил достаточно
быстро вычислить центр описанной вокруг этого треугольника
окружности.
Решение
1. Несложно вычислить стороны треугольника
2. Потом площадь треугольника
3. Наконец радиус описанной окружности
4. Центр описанной окружности будет находиться внутри треугольника
5. Можно конечно с помощью случайных чисел определить с
заданной погрешностью этот центр...
А есть ли нечто более быстрое?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2017, 20:06
Ответы с готовыми решениями:

Для множества точек на плоскости найти диаметр и центр минимальной описанной окружности
Эх..помогите (надеюсь в последний раз)...Для множества точек плоскости p1(X1,Y1), p2(X2,Y2), ..., pN(Xn,Yn) найти диаметр и центр...

Найти отношение радиуса описанной окружности к радиусу окружности
Треугольник ABC вписан в окружность радиуса R. На сторонах AB и AC отметили соответственно точки М и N так, что AM : MB = AN : NC = 3....

Найти радиус вписанной окружности и радиус описанной окружности
Даны действительные положительные числа a,b,c, которые являются длинами сторон треугольника. Напишите программу, позволяющую найти радиус...

43
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,878
18.09.2017, 20:28
Лучший ответ Сообщение было отмечено йот как решение

Решение

Строите два серединных перпендикуляра и находите точку их пересечения.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.09.2017, 20:58
Лучший ответ Сообщение было отмечено йот как решение

Решение

Длины сторон и площадь не нужны.
Пусть координаты вершин x1,y1,x2,y2,x3,y3.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//находим координаты середин 2х сторон
x4:=(x1+x2)/2;
y4:=(y1+y2)/2;
x5:=(x1+x3)/2;
y5:=(y1+y3)/2;
//находим коэффициенты уравнений срединных перпендикуляров
a1:=x2-x1;
b1:=y2-y1;
c1:=x4*(x2-x1)+y4*(y2-y1);
a2:=x3-x1;
b2:=y3-y1;
c2:=x5*(x3-x1)+y5*(y3-y1);
//координаты точки их пересечения
xo:=(c1*b2-c2*b1)/(a1*b2-a2*b1);
yo:=(a1*c2-a2*c1)/(a1*b2-a2*b1);
//радиус
r:=sqrt(sqr(x1-xo)+sqr(y1-yo));
3
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 08:43  [ТС]
Shamil1, Puporev,
Спасибо
я тут вот еще что подумал... Если найти середины сторон, то
они образуют треугольник, который будет содержать искомый
центр окружности... а если у нового треугольника найти середины
и так несколько раз... не получим ли мы малую область, содержащую
искомую точку?
Shamil1, Puporev, А ваше мнение? Мне хочется нестандартного
решения...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.09.2017, 08:46
Лучший ответ Сообщение было отмечено йот как решение

Решение

Цитата Сообщение от йот Посмотреть сообщение
не получим ли мы малую область, содержащую
искомую точку?
Получим, но это будет дольше и тем дольше чем больше исходный треугольник.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 08:50  [ТС]
Puporev,
СПАСИБО!!
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,878
19.09.2017, 09:13
Цитата Сообщение от йот Посмотреть сообщение
а если у нового треугольника найти середины
и так несколько раз...
а у нового треугольника центр описанной окружности может быть в другой точке.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.09.2017, 09:14
Цитата Сообщение от Shamil1 Посмотреть сообщение
а у нового треугольника центр описанной окружности может быть в другой точке.
Действительно...
1
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,878
19.09.2017, 09:15
Цитата Сообщение от йот Посмотреть сообщение
Если найти середины сторон, то
они образуют треугольник, который будет содержать искомый
центр окружности.
искомый центр окружности может быть за пределами треугольника (например, один очень тупой и два очень острых угла)
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.09.2017, 09:16
Ну у него
Цитата Сообщение от йот Посмотреть сообщение
Дан остроугольный треугольник
1
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 09:19  [ТС]
Shamil1,
А этот мой пример нельзя ли как-то модифицировать?
Неужели ничего иного нет, как решать систему уравнений?
Мне не нужна большая точность...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.09.2017, 09:22
Цитата Сообщение от йот Посмотреть сообщение
как решать систему уравнений?
Ты что, ее сам решать будешь, на бумажке?
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 09:35  [ТС]
Puporev,
Вероятно я плохо задал вопрос. Итак...
Надо ПРИБЛИЖЕННО найти область центра описанной вокруг
остроугольного треугольника окружности. Можно еще уточнить
эту область...
Для решения задачи вполне возможно разделить треугольники
на классы. Например класс треугольников близких к равностороннему
даст быстрое решение...
ну и так далее... (мне нужно нестандартное решение)
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
19.09.2017, 11:16
йот, Изначальная задача что?
Нужны координаты или радиус?
Найти координаты центра окружности по трём точкам
Цитата Сообщение от йот Посмотреть сообщение
мне нужно нестандартное решение
Тогда нужны наиболее полные описание всех ситуаций. Примеры какие треугольники возможны. Пределы на длины сторон. Пределы на координаты вершин.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 11:41  [ТС]
Excalibur921
я полагал, что существует единый метод. Но нет... значит нет
условия
1. треугольники остроугольные
2. треугольники близкие к равносторонним
3. треугольники близкие к прямоугольным
4. отношение максимальной стороны к минимальной < 2

Добавлено через 1 минуту
Изначальная задача. Найти координаты
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,847
Записей в блоге: 2
19.09.2017, 12:28
Цитата Сообщение от йот Посмотреть сообщение
Puporev,
Вероятно я плохо задал вопрос. Итак...
Надо ПРИБЛИЖЕННО найти область центра описанной вокруг
остроугольного треугольника окружности. Можно еще уточнить
эту область...
Для решения задачи вполне возможно разделить треугольники
на классы. Например класс треугольников близких к равностороннему
даст быстрое решение...
ну и так далее... (мне нужно нестандартное решение)
Вы напрасно ищете пятый угол. Решение СЛАУ неизбежно во многих задачах, избегать его неестественно и ненужно. Если Вас раздражают длинноватые формулы (которые приходится тупенько переписывать) - то это нормальная реакция Длинно получается потому что "все с нуля". Если хотите улучшить решение Puporev'а - создайте класс матрица и у него метод determinant, тогда все будет выглядеть красиво и логично.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 12:37  [ТС]
Igor3D,
позвольте мне чуть-чуть вам возразить...
Представьте себе треугольник близкий к прямоугольному. Насколько
близкий это надо ещё посчитать. Тогда середина самой длинной
стороны этого треугольника может считаться (с определенной степенью
погрешности) центром описанной окружности.
Просто? - безусловно... особенно если все треугольники именно такие...
есть и другие варианты...
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
19.09.2017, 12:44
1)Координаты в 2д разбить сеткой. К какому узлу сетки ближе вершина треугольника ту и брать. Выходит 3 адреса в массиве. Для всех треугольников по сетке найти центры заранее. Будет 3д массив по адресу координаты центра. Недостаток: большая база данных.

2)Взять вершину A. Выбрать наибольшую длину из AB,AC.
Пересчитать масштаб чтобы наибольшая сторона была =1.Получим любой треугольник будет иметь координаты внутри круга r=1 c центром A. Разбить круг сеткой как в методе выше искать центр. Затем обратно отмасштабировать координаты и найти центр.

3)может можно подумать над аналитической функцией от длинны сторон возвращать координаты центра это будет огромный полином из кусков…

Опишите изначально для чего все это? Может есть графические методы решения еще быстрей в тысячи раз…
0
Айлурофил
 Аватар для Massaraksh7
511 / 445 / 111
Регистрация: 27.05.2017
Сообщений: 2,675
Записей в блоге: 5
19.09.2017, 13:02
А, по-моему, вы все с ботом беседуете.
0
27 / 32 / 14
Регистрация: 08.09.2017
Сообщений: 448
19.09.2017, 13:20  [ТС]
Excalibur921,
хорошо, я попробую описать одну задачу связанную с нахождением
центра окружности описанной вокруг треугольника...
1. Задан треугольник (вообще говоря не обязательно остроугольный),
но рассматривается остроугольный...
2. Найдем в этом треугольнике центр описанной окружности
3. Теперь построим еще треугольник ПОДОБНЫЙ данному
4. Если этот треугольник меньше исходного (коэффициент
подобия имеет определенные ограничения), то меньший
треугольник будет ВПИСАН в больший треугольник и центр
окружности, описанный вокруг нового треугольника СОВПАДЕТ
с центром окружности исходного треугольника...
5. Итак ... плавное уменьшение исходного треугольника (сам
исходный треугольник не изменяется) ведет к тому, что новый
(ПОДОБНЫЙ ИСХОДНОМУ) будет всё время ВПИСАН в исходный
и ПЛАВНО ПОВОРАЧИВАТЬСЯ ВНУТРИ ИСХОДНОГО, центром
оси его будет ЦЕНТР окружности описанной вокруг исходного
треугольника...

примечание 1
Уменьшение не вечно... в конце концов ВСЕ ТРИ угла нового
изменяемого треугольника перестанут доставать до сторон большого
треугольника

примечание 2
конечно для всего этого можно вывести аналитические формулы...
примечание 3
есть и другие задачи (большинство связано со вращением вокруг оси)
Треугольник - базовый элемент.

Добавлено через 2 минуты
Massaraksh7
у бота ума не хватит на это...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.09.2017, 13:20
Помогаю со студенческими работами здесь

Найти радиус описанной окружности
Добрый вечер, господа, есть такая задача, никак не могу ее решить. Дано n-количество сторон многоугольника, в нем есть такие стороны 1,2,3...

Найти радиус описанной окружности
найти радиус описанной окружности

Определить радиус описанной окружности.
Даны три стороны треугольника a, b, c. Определить радиус описанной окружности. a=11 b=17 c=22

Формула центра описанной окружности
Есть треугольник, координаты вершин, длины сторон, площадь треугольника. Надо найти центр описанной окружности. Формулы не нашел...

Найти радиус описанной окружности
Если три заданных положительных числа являются сторонами правильного треугольника, то найти радиус описанной около него окружности.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru