Единственный статический элемент искомого треугольника - вершина лежащая в данной точке. Вокруг нее можно его вращать и растягивать. Как же найти на окружности нужные точки? При повороте искомого треугольника вокруг этой вершины на 60 градусов одна из его сторон совмещается с другой, при этом вершина, находящаяся на окружности должна попасть на прямую. Т.о., повернув прямую, получаем хорду B'C', при обратном повороте дающую отрезок ВС на исходной прямой, при этом ACС' и ABB' - искомые треугольники. Если повернутая прямая пересекает окружность в двух точках, имеем два решения, если касается окружности - одно решение, если не имеет общих точек с окружностью - нет решений. После чего поворачиваем исходную прямую на 60 градусов в обратном направлении и снова имеем два, одно или ни одного решения. Итак, решений может быть от 0 до 4 в зависимости от взаимного расположения точки, прямой, центра окружностии ее радиуса. |