Как стать автором
Обновить

Комментарии 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). Ну и др. команды "по теме" тоже есть. Интересно было бы бы, если бы Вы реализовали циркули и линейку при помощи этой б-ки, желательно с меньшим кол-вом кода, чем в этой статье.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории