Ничего не понятно. Что такое 2d полигоны и балочные/нитевые/прямые/непрямые соединения, прямоугольники? Причём здесь дерево? Как алгоритм связан с количеством полигонов, если речь про расчёт соединений? Что именно рассчитывать, если соединения абсолютно нерастяжимые? Опишите, пожалуйста, задачу физически/математически.
Если рассуждать абстрактно, то из точки приложения сила распространяется по дереву с затуханием, которое обусловлено коэффициентом сопротивления вращению абсолютно неупругой ветки относительно абсолютно неупругого ствола. Тогда можно найти минимально вращающегося родителя, затем рассчитать вращение потомков рекурсивно. Вращение потомка = собственное вращение + вращение родителя. Инерцией, натяжением, упругостью пренебрегаем. Родитель вращает потомков как жестко фиксированную систему материальных точек. Потомок вращает родителя как коэффициент сопротивления, т.е. ненмого вращается сам, немного вращает родителя.