Комментарии 13
Красиво и залипательно, но вроде бы, в задачах на построение циркулем и линейкой, у линейки не подразумевается делений.
Квадратуру круга такими средствами конечно не найти, но если ещё нахождение параллельных линий с помощью двух треугольников добавить, то можно анимированный курс по начертательной геометрии сделать.
Мне ваша работа Euclidea напомнила в хорошем смысле слова.
Во время анимации поворота линейка будто бы сокращается, странно выглядит.
Спасибо!
и что подходящего готового решения нет.
Но на мой взгляд варианты ещё есть, позвольте предложить Blender. Если воспользоваться геонодами, то можно было бы и без программирования обойтись. Плюс понаделать эффектов EaseIn/Out. Думаю, что ваше решение вполне можно было бы повторить и параметризовать. 3D-графике вполне по силам и 2D анимация.
В конструкторе класса выражение
np.linalg.norm(center - left) != np.linalg.norm(center - right)
лучше заменить на
np.allclose(np.linalg.norm(center - left), np.linalg.norm(center - right))
Безусловно Ваш подвиг велик, спасибо за него! Не умаляя его, осмелюсь доложить, что в стандартной б-ке python кажись эдак со 2-й версии есть модуль turtle, в котором круг рисуется одной командой "turtle.circle(радиус)". Есть и команда "пойти на такую-то точку холста": turtle.goto(x,y). Ну и др. команды "по теме" тоже есть. Интересно было бы бы, если бы Вы реализовали циркули и линейку при помощи этой б-ки, желательно с меньшим кол-вом кода, чем в этой статье.
Циркуль и линейка. Часть 1