О чём эта статья
Я занимаюсь разработкой ПО для строительной механики. В процессе работы над одним из проектов возникла потребность в простом инструменте для построения линий влияния в многопролётных шарнирных балках. Готового решения под рукой не оказалось, и я написал свой веб-модуль.
Результатом захотелось поделиться с сообществом — вдруг кому-то тоже пригодится. Под катом — описание того, что получилось, как это работает, и где может быть полезно.
Что такое линии влияния и зачем они нужны
Для тех, кто не в теме: линия влияния — это график, показывающий, как изменяется усилие (поперечная сила, изгибающий момент или реакция опоры) в заданном сечении или опоре при движении единичной нагрузки по конструкции.
В отличие от эпюры, которая фиксирует состояние при статической нагрузке, линия влияния даёт понимание, как конструкция отреагирует на подвижную нагрузку — например, на движение поезда по мосту или автомобиля по балке.
Особенность многопролётных шарнирных балок в том, что они статически определимы, но имеют промежуточные шарниры. Из-за этого линия влияния распадается на участки, и её ручное построение — довольно муторное занятие, особенно когда пролётов больше двух.
Что делает мой инструмент
Это веб-приложение на чистом HTML, CSS и JavaScript (без серверной части, без библиотек). Оно позволяет:
-
Визуализировать линии влияния для:
поперечной силы в заданном сечении
изгибающего момента в заданном сечении
реакции в заданной опоре
Интерактивно менять схему балки (количество пролётов, расположение шарниров)
Перемещать единичную нагрузку и видеть, как меняются значения
Получать численные значения для любого положения груза
Инструмент подходит для:
проверки ручных расчётов (студентам и преподавателям)
быстрой прикидки при проектировании
демонстрации поведения конструкции на лекциях или в учебных курсах
Как это работает: краткий алгоритм
Внимание: здесь я описываю логику, не раскрывая полный код. Если захотите обсудить детали — пишите.
За основу взят классический подход строительной механики для статически определимых многопролётных балок:
Задание схемы — массив объектов с координатами опор и шарниров.
Построение линии влияния — для каждого положения единичного груза строятся линии влияния и вычисляются усилия в заданном сечении или опоре.
Визуализация — линии влияния рисуются на Canvas. Ординаты точек линий влияния пересчитываются из расчётных в экранные, масштаб подбирается автоматически.
Интерактив — пользователь может может задать любое положение опор, шарниров, заделки и приложенных к балке нагрузок: сосредоточенных сил, изгибающих моментов и распределённых нагрузок.
Пример кода (упрощённо): как задаётся балка
javascript
// Пример конфигурации трёхпролётной балки с двумя шарнирами const beam = { spans: [ { length: 4, leftSupport: 'hinge', rightSupport: 'hinge' }, // левый пролёт { length: 3, leftSupport: 'hinge', rightSupport: 'roller' }, // средний пролёт { length: 5, leftSupport: 'hinge', rightSupport: 'roller' } // правый пролёт (консоль? зависит от схемы) ], hinges: [ { position: 4.0 }, // шарнир после левого пролёта { position: 7.0 } // шарнир после среднего пролёта ] };
Демонстрация работы
Видео: https://vkvideo.ru/video-233024763_456239019
На видео показано:
как строится линия влияния момента для выбранного сечения
как меняются значения поперечной силы, изгибающего момента и реакции в опоре при движении груза
-
интерфейс с численным выводом результатов

Для кого это может быть полезно
1. Студентам и преподавателям
Модуль можно интегрировать в учебные курсы по строительной механике. Студент решает задачу ручками — и сразу визуально проверяет ответ. Преподаватель показывает поведение конструкции на лекции без рисования на доске.
2. Разработчикам САПР
Если вы делаете CAD/CAE-систему для расчёта стержневых конструкций — алгоритмы и интерфейс могут стать прототипом встроенного калькулятора линий влияния.
3. Инженерам-проектировщикам
Быстро прикинуть линии влияния для нестандартной балки, не разворачивая тяжёлый софт.
Что дальше? (про сотрудничество — честно)
Я не выкладываю полный исходный код в открытый доступ, но готов к диалогу.
Мои предложения:
предоставить демо-версию для оценки
адаптировать модуль под конкретную задачу (другой тип конструкции, экспорт в PDF, интеграция с вашим интерфейсом)
продать исходный код с правом использования в вашем продукте
проконсультировать по интеграции
Если вам это интересно — пишите в личные сообщения на Хабре или оставляйте комментарий под статьёй. Обсудим детали в удобном формате.
Спасибо, что дочитали. Надеюсь, инструмент окажется кому-то полезным.