![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 11.05.2022
Сообщений: 1
|
![]()
На плоскости заданы множество точек и окружность радиусом R с центром в начале координат. Построить множество всех треугольников с вершинами в заданных точках, имеющих непустое пересечение с окружностью.
Код:
в данной программе не проверяется одно из условий а именно : когда вершины треугольника лежат вне окружности а пересечение по ребру присутствует вообщем знает ли кто-нибудь формулу для проверки этого условия я уже долгое время не могу придумать чего-то нормального , прошу помощи! Последний раз редактировалось BDA; 12.05.2022 в 01:54. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Код:
Для проверки пересечения стороны с окружностью надо найти корни системы Код:
Код:
Код:
Последний раз редактировалось macomics; 11.05.2022 в 21:46. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Возможно подойдёт и такой алгоритм:
1. Для выбранной точки А вне окружности находите точки окружности, через которые пройдут касательные из заданной точки (в нашем случае т.А). Пусть это будут т.Б. или т.С. Посмотрите, например тут https://math.stackexchange.com/quest...es-through-a-g 2. Двигаясь по точкам, которые вне окружности, например, по часовой стрелке, можно "распознать" следующую точку как точку, которая находится слева или справа от вектора АБ. Для этого можно использовать векторное умножение, посмотрите например тут: https://habr.com/ru/post/144921/ Очевидно, что точки справа (при обходе по часовой стрелке) могут быть вершинами треугольника, сторона которого пересекает окружность. Если векторное умножение даст ноль, то сторона треугольника касается окружности.
Как-то так, ...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо найти координаты точки пересечения медиан треугольника. | Alina_665 | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 26.01.2014 11:17 |
Рисование треугольника с описанной окружностью | includer | Помощь студентам | 8 | 30.01.2013 22:37 |
Число точек пересечения прямой с окружностью | Night61 | Помощь студентам | 1 | 20.01.2012 16:57 |