Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456

Пересечение окружности с несколькими и дополнительными условиями

20.01.2016, 01:26. Показов 1362. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пересечение окружности с несколькими и дополнительными условиями.
Даны 5 пронумерованных окружностей N0,N1,N2,N3,N4 одинакового известного радиуса (красные).
Найти такую окружность (зеленая)чтобы:
-пересекала все 5 окружностей последовательно по убыванию или возрастанию номера
например: пересекала N0,N1,N2,N3,N4 один раз каждую.
-найденные точки пересечения имеют максимально равномерное распределение на половине окружности( шаг между ними максимально близкий к 45 градусам).

Вот пример:
Даны 5 красных найти зеленую.

Как наверно решать:
точки пересечения окружностей это системы линейных уравнений
А само решение это нелинейное, т.е. нужно перебирать все варианты? Написать критерий оценки "равномерность точек на половине окружности"
и минимизировать.
Есть ли альтернатива?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2016, 01:26
Ответы с готовыми решениями:

Квадратное уравнение с дополнительными условиями
Здравствуйте!! Есть исходный код: #include <math.h> #include <stdio.h> int main() { int A, B, C, D;

Условное форматирование с дополнительными условиями
И сново здравствуйте. Нужно написать формулу, сложненькую, даже не знаю с помощью каких именно инструментов єто можно сделать. Попробую...

Как посчитать интервалы времени с дополнительными условиями
Помогите с алгоритмом. К примеру есть рабочее время, оно оплачивается по тарифу: 8:00 - 17:00 = за начало каждых 30 мин плата 100уе. ...

23
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
20.01.2016, 10:58
Цитата Сообщение от Excalibur921 Посмотреть сообщение
точки пересечения окружностей это системы линейных уравнений
Нелинейных, точнее квадратичных.
Две окружности имеют 2, 1, 0 точек пересечения
Отсюда, использовать только первую (как у Вас), или любую точку пересечения?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
20.01.2016, 13:28  [ТС]
Нет, точки пересечения есть всегда.
Видимо первую, а если все вторые будет более лучшее решение? А может и любые только брать одну точку с окружности и чтобы было лучше "равномерность точек на половине окружности".
Наверно для упрощения лучше принять всегда первую точку…
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
20.01.2016, 14:55  [ТС]
Похоже вот более адекватная схема к задаче.

Радиус красных одинаковый и задан.
Найти такие пять углов Xn ( от 45 до 75 градусов к примеру) чтобы зеленая окружность пересекала все 5 красных один раз, и точки пересечения были последовательно по убыванию или возрастанию номера окружности N0,N1 и т.д. с шагом максимально близким к 45 градусам.

Может двигать “окружность построенную по 3 точкам” на окружностях N0,N2,N4?
Дело в том , что я не знаю какие углы брать x0,x2,x4. Или это перебором?
Зная центр и радиус найти как далеко от эталона C1…Cn. Эталон положения Cn найти зная C0, радиус и центр кандидата на зеленую окружность и через “cos(45град)* радиус_зелен_кандидата” и т.д. найти разность углов Cn и CnEtalon.Сложить 5 отклонений будет целевая функция для минимизации?
Или не так? Как такое решить? Можно ли проще?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
20.01.2016, 16:42  [ТС]
Во второй схеме с углами Xn есть аналитическое решение. Тогда остается задача с первой схемы. Известны центры и радиусы пяти красных окружностей, найти зеленую.

Возможно изменить ее если поможет, например радиусы красных окружностей равные но не известные в интервале от min0 до max0(заданы).
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.01.2016, 10:59
Дайте координаты точек центров 5 окружностей и их радиус как в #4, для тестирования алгоритма.
А то имею вот такое решение (на зеленый кружок не обращать внимание, это стартовая точка поиска решения)
Миниатюры
Пересечение окружности с несколькими и дополнительными условиями  
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.01.2016, 11:57
Удалось получить такое
Миниатюры
Пересечение окружности с несколькими и дополнительными условиями  
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.01.2016, 14:21  [ТС]
Цитата Сообщение от SSC Посмотреть сообщение
Дайте координаты точек центров 5 окружностей и их радиус как в #4, для тестирования алгоритма.
Та картинка не эталон, построена наглаз. Я думал вы на словах скажете что то по алгоритму поиска, таки искали численно? Это только так и можно решить? Это Exel?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.01.2016, 14:56
Это MATLAB.
Решение ищется путем поиска оптимума функции цели от 3 параметров, x y и R маленькой окружности.
В решении находятся точки пересечения этой окружности с 5-ю базавыми окружностями. Используется первая точка пересечения (это крайне неправильно, но как делать подругому пока не понятно и может у Вас есть какое-то физическое обоснование этого ограничения). Далее находятся 5 направлений на точки пересечения, по ним 4-ре угла между направлениями. Сумма квадратов отклонений углов от pi/4 это ошибка, которая в общем минимизируется. В случае если с какой-то окружностью нет пересечения в функцию ошибки вносятся штраф.
Решение которое находится сильно зависит от стартовой точки, она должна быть где-то рядом с искомым решением. В стартовой точке искомая окружность должна иметь пересечения со всеми 5 огружностями, иначе решение не втягивается в нужную область. Очеводно что есть несколько достаточно хороших решений, но алгоритм двигается к некоторому рядом расположенному.
Ниже на картинке еще один вариант решения, с теми же исходными данными но другой стартовой точкой
Миниатюры
Пересечение окружности с несколькими и дополнительными условиями  
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.01.2016, 15:08
Еще интересное решение
Миниатюры
Пересечение окружности с несколькими и дополнительными условиями  
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.01.2016, 15:37  [ТС]
Никогда с матлабом не работал. Наверно он заточен под такие задачи?
Цитата Сообщение от SSC Посмотреть сообщение
x y и R маленькой окружности
Т.е, подбором x y R?
А если:
С0 до Сn точки пересечения на зеленой.
C0=cos(alfa0)*Rкрасной, sin(alfa0)*Rкрасной подбор alfa0
C4=cos(alfa4)*Rкрасной, sin(alfa4)*Rкрасной подбор alfa4
Центр кандидата на зеленую, центр отрезка C0 C4.
Тогда 2 точки пересечения найдены сразу, остается найти погрешность углов C1,C2,C3.

Наверно ошибка в том что оценивается сумма погрешностей, отсюда 2 идеально 3 ужасно. А нужно чтобы каждая точка пересечения была как можно ближе к 45 градусам а не суммарная ошибка.
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
21.01.2016, 15:50
MATLAB математический пакет, поэтому условно заточен под все.
Используется функция поиска оптимума от 3 переменных со стартовой точкой.
Главное хорошая функция цели.
Здесь пытался использавать примерно следующее
Cel = (alf12-45)^2 + (alf23-45)^2 + (alf34-45)^2 + (alf45-45)^2
Плюс штрафы если пересечения с какой-то окружностью нет.
В итоге каждый угол стремиться к 45, если это возможно.

А физика процесса какая-то есть? Для чего задача?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.01.2016, 16:44  [ТС]
Это попытка синтеза плоского механизма указав 5 точек на траектории.
Изначально вот такой схемы. Сейчас траектория и скорость на ней неправильные.

Задача попробовать синтезировать его так, чтобы он описывал траекторию с плоским участком при повороте каждого кривошипа на 180 градусов.
Я выбрал 5 точек на прямой.
В итоге траекторию хочу наподобие такой:


Если в лоб то мне кажется тут 20 (10 x 10 y) параметров оптимизации. Неизвестны все координаты шарниров. Поэтому хочу попробовать синтезировать его по 5 точкам на прямой хотя бы. Чтобы не искать их а фактически грубо указать, а потом уже можно будет локально оптимизировать ( наверно).
Мне кажется 20 нелинейных параметров это очень много. Пробовал синтез на 3 точках то траектория вихляет, и решал поиск зеленой окружности вручную. Думал сделать автоматически. Как видите эта задача первого поста только 1/3 всей. Но другие две тоже самое практически. В итоге думал сведется к подбору 6 параметров а не 20 и к приближенному результату.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.01.2016, 18:58  [ТС]
Может правильно ввести ограничение на min max радиус зеленой окружности?
Понятия не имею какие брать…
Но это сильно поможет перебору.

В итоге первая точка зеленой окружности C0 будет в точке A, вторая будет на фиолетовых дугах и определит диаметр зеленой. Перебрать через sin cos параметрич. формулу окружности N4. И минимизировать максимальную ошибку углов из С1,C2,C3.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
17.05.2016, 14:05  [ТС]
Придумал упрощение.

Клик ан анимашке.
Кликните здесь для просмотра всего текста

Красные окружности с центром a0,b0,c0,d0,e0 одинакового радиуса.
a0,e0 пунктирные, на них точки A,B оранжевые.
По точкам A,B строим черную окружность центр f0.
На черной окружности есть 3 голубые точки с шагом 45 град от точки A(эталон1).Тоже самое зеленые (эталон2) точки на другой полуплоскости от AB.
Фиолетовые это точки пересечения черной окружности f0 с тремя красными окружностями(b0,c0,d0).
Каждой точке пересечения соответствует свой порядковый номер эталона положения.
Черная пересекает красные по порядку (b0,c0,d0) или (d0,c0,b0).

Вопрос:
Найти такие A,B(сейчас таскаю вручную) чтобы на черной окружности фиолетовые точки были на минимальном расстоянии от голубых либо зеленых? (два решения).

Это аналитически можно решить? В Интернете попадались минимум двух переменных сводили к уравнениям, тут же все окружности на плоскости. Или только численно?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.05.2016, 16:26  [ТС]
Почему никто не отвечает =(. Плохо описал? Вроде доступно и анимашка есть… Я вижу только разряженный брутофорс поиск минимума. Может в этой упрощенной постановке есть аналитическое решение?
0
1833 / 1027 / 192
Регистрация: 24.02.2013
Сообщений: 3,084
Записей в блоге: 12
21.05.2016, 19:18
Excalibur921, Вы метод Дагилева освоили?
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
21.05.2016, 22:03  [ТС]
Не собирался. Есть много разных. Значит только численно?
0
1833 / 1027 / 192
Регистрация: 24.02.2013
Сообщений: 3,084
Записей в блоге: 12
22.05.2016, 00:13
А Вы в интернете русскоязычном лучшее, чем делал Иванов А.Б. (ник. алексей-алексей) и его последователи видели?
- Нет.!
Так что осваивайте метод Драгилева.
Правда, Иванов куда-то пропал.
И сайт exponenta.ru , где Иванов выставлял свои работы скис.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
22.05.2016, 10:06  [ТС]
Цитата Сообщение от Nacuott Посмотреть сообщение
видели?
- Нет.!
Раньше вас видел. Там даже мои анимашки есть. Он и появился тут из за моих тем. На яблоках не хотел объяснить… я и забил =). Просил…ну напиши для первоклассников… не хочет, да и зачем ему?
На научном форуме его заклевали, видимо у профи есть давно известные приемы из старой школы.
И примеры у него не все нелинейные системы даже мне очевидные, что говорить о профи…
Уверен он опять тут сейчас\позже придет с левым ником и опять прорекламирует свой метод.

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

Циклическая подстановка чисел в шаблонный IP-адрес с дополнительными условиями
goto start ------------------------------------- тестовый батник ------------------------------------------ :start @echo...

Неправильная работа функции СУММ с дополнительными условиями в Excel
Добрый день. Помогите разобраться в следующей ситуации. Есть реестр отгрузок (дата, номер накладной, сумма отгрузки) за текущий год...

While c несколькими условиями
Добрый день! Подскажите, пожалуйста, мне нужно найти строку в которой ячейки в 2 определенных столбцах единовременно принимают...

do While с несколькими условиями
В пособии дан пример использования цикла: int a = 4; do { System.Console.WriteLine(a); a++; } while (a < ...

Работа while с несколькими условиями
Доброго времени суток, У меня проблема, надо написать программу где в массив вписывается строка символов и необходимо найти есть ли в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru