Ku3mi41 / circleDrawer

Web-приложение для рисования идеальных кругов

Home Page:https://ku3mi41.github.io/circleDrawer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CircleDrawer [ДЕМО]

Описание

Программа для рисования разноцветных кругов идеальной формы. Просто нарисуйте круг и он станет идеальным :)

О реализации

Принцип работы программы основан на построении выпуклой оболочки вокруг точек введенных пользователем при рисовании. После того как будет получена оболочка, находится ее радиус, в центре которого рисуется окружность с радиусом равным половине диаметра оболочки.

Для построения выпуклой оболочки используется Andrew's monotone chain convex hull algorithm, вычислительная сложность которого составляет O(n log n) и является достаточной для построения кругов даже на основе очень сложных фигур введенных пользователем. Сложность нахождения диаметра оболочки составляет O(n), таким образом итоговая сложность алгоритма O(n log n).

Код построения оболочки и нахождения диаметра взят отсюда и портирован с Python на Javascript

About

Web-приложение для рисования идеальных кругов

https://ku3mi41.github.io/circleDrawer/


Languages

Language:JavaScript 82.8%Language:HTML 9.0%Language:CSS 8.2%