Задача больше не на программирование, а на знание геометрии и, похоже, немного матанализа.
Пусть нам задана непрерывная кусочно-линейная функция (функция, которую можно разбить не несколько линейных функций), которая задается массивом точек на плоскости. Например:
где каждая точка определяет переход между двумя кусками линейных частей этой функции.
Например: у нас есть первая точка (0, 0) и вторая (5, 1). Значит на отрезке [0, 5] функция имеет вид y = x / 5.
Все точки в массиве отсортированы по первой координате.
Также пусть у нас есть прямоугольник со сторонами width и height.
Задача: нужно провести вычисления таким образом, чтобы прямоугольник, двигаясь в положительном направлении оси абсцисс, все время касался своими нижним левым и нижним правым углом данной кривой.
То есть визуально будет выглядеть словно прямоугольник двигается по этой кривой (ну не совсем, но неважно).
Задача, как я понял заключается в следующем: сдвигая каждый раз центр прямоугольника на dx, получать координату y центра прямоугольника и угол поворота прямоугольника вокруг своего центра.
Если кто-нибудь сможет помочь, буду благодарен.