Ну да, двигаю влево или вправо до упора, потом начинаю двигать вдоль бедра. Вдоль бедра он двигается до тех пор пока не упрется одновременно в два бедра двумя своими вершинами.
Получается когда мы его двигаем вдоль бедра центр проходит по прямой параллельной бедру.
Получается как - если его двигать влево до упора, то слева получится маленький прямоугольный треугольник. Угол при одной из вершин 30 градусов, один катет, который совпадает с квадратом, равна b, второй катет лежит на исходном треугольнике, его длина получается

справа ситуация аналогичная. Длина этго катета дает координаты двух точек -

Если двигать квадрат вдоль бедра до упора, то получается равнобедренный треугольник у которого длина основания равна b, угол, котоырй сопадает с углом исходного треугольника, равен 60 градусов, Из него находим высоту -

И отсюда находим координаты вершины треугольника -

Из этих трех точек получается треугольник, внутри которого можно расположить центр квадрата, так чтобы он не выходил за границы исходного треугольника (наврное ).
Да, значально я посчитал все неправильно