@SergeySerge11

Какой есть Алгоритм оптимизации перерасчета прочности соединений полигонов в системе при приложение силы?

Какое есть решение для такой задачи. Что прочесть. (надеюсь спецы по квантмеху,
теории струн, и теорий возмущения подскажут)
Задача. Какой оптимальный математический алгоритм можно придумать для функции расчета
  • Есть физический движок.2d(или 3d)
  • Есть куча 2d полигонов которые соединяются друг с другом, с каким-то коэффициентом жёсткости и прочности. Допустим из них составили Дерево.
  • (Возможно соединение непосредственное (друг за другом с прямым соединением), так и без прямого соединения, допустим через нить или балку, как-то 2 веточки на разных ветках соединили)
  • Теперь начинаем двигать, крутить дерево, ветки начинаются трястись. Сталкиваться. отваливаться.

Вопрос, какой есть алгоритм обхода менее чем O(n) сложности, где n-число полигонов. (Кажется что можно не по самим частям проходить)
Есть решение, считать по каждому прямоугольнику. И от точки, начинать пересчитывать вектора импульсов, сил, соотносить с коэф-ом жёсткости, и угол в точки соединения изменять. Получается качание.
Первое что приходит в голову, объединять соседние части в одну(допустим при сильной прочности или при нахождение в одной плоскости(2 квадрата в один прямоугольник), И можно в 2-n раз уменьшать.

А есть ли более быстрое решение. С помощью криволинейных интегралов. Ведь можно вместо частей, представить векторное поле . И получить какую-то одну функцию... Короче в этом и вопрос, но до конца не понимаю.

Но что-то должно быть. К примеру, когда вы качаете дерево. То Огромное число полигонов Коррелируют. Их изменение ориентации скооперировано(допустим уберем столкновение).
А при слабом моменте угла поворота. При сильной прочности большие ветки, и ближе корневые ветки, не будут колыхаться. Отсюда вывод, что можно точно придумать быстрее O(n) алгоритм.

Можно еще для 1 мерного пространства представить, как последовательно соединённые точки.
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks
Ничего не понятно. Что такое 2d полигоны и балочные/нитевые/прямые/непрямые соединения, прямоугольники? Причём здесь дерево? Как алгоритм связан с количеством полигонов, если речь про расчёт соединений? Что именно рассчитывать, если соединения абсолютно нерастяжимые? Опишите, пожалуйста, задачу физически/математически.

Если рассуждать абстрактно, то из точки приложения сила распространяется по дереву с затуханием, которое обусловлено коэффициентом сопротивления вращению абсолютно неупругой ветки относительно абсолютно неупругого ствола. Тогда можно найти минимально вращающегося родителя, затем рассчитать вращение потомков рекурсивно. Вращение потомка = собственное вращение + вращение родителя. Инерцией, натяжением, упругостью пренебрегаем. Родитель вращает потомков как жестко фиксированную систему материальных точек. Потомок вращает родителя как коэффициент сопротивления, т.е. ненмого вращается сам, немного вращает родителя.
Ответ написан
Комментировать
begemot_sun
@begemot_sun
Программист в душе.
В общем случае для статической реализации - это система линейных уравнений с № неизвестными.
Для динамической реализации - это система дифференциально-интегральных уравнений.
Дальше копайте методы их решений.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы