Блочный шарнир (pulley joint)
Шарнир, связывающий два тела через воображаемые блоки так, что когда одно опускается, другое поднимается.
Блочный шарнир удерживает постоянной сумму длин двух верёвок: length1 + ratio × length2 = constant. Два тела висят на отдельных верёвках, переброшенных через две неподвижные точки, будто через блоки под потолком. Потяни одно вниз — другое поднимется. Коэффициент (выигрыш в силе) позволяет одной стороне двигаться быстрее другой — как в настоящем полиспасте, обменивающем силу на расстояние.
Он есть в Box2D и управляет лифтами с противовесом, люками, движущимися платформами и классическими физическими головоломками. Шарнир капризен: если верёвка полностью провисает, ограничение начинает вести себя странно, поэтому движки часто ограничивают длины.