Создание удобного инструмента карандаша довольно сложная задача, хотя на первый взгляд это может выглядеть не так. При этом, когда задача сделать так, чтобы пользователи чувствовали, словно рисуют на настоящей бумаге — приходится писать свой движок рендера.
Сердцем нашего карандаша стала сложная система рендеринга. Мы использовали Canvas API для молниеносного отображения линий, но столкнулись с проблемой: как сделать линии плавными и естественными, не перегружая при этом браузер? Решение пришло в виде “умной“ обработки точек.
Представьте, что вы быстро рисуете извилистую линию. Ваша рука слегка дрожит, создавая тысячи микроточек. Мы применили алгоритм Дугласа-Пекера, который работает как опытный художник: он “схватывает“ главные изгибы, игнорируя мелкое дрожание. Это не только ускорило работу, но и сделало линии более четкими.
Но мы пошли дальше. Взяв эти ключевые точки, мы соединили их кривыми Безье. Это похоже на натягивание резинки между гвоздиками: линия становится идеально гладкой, сохраняя при этом задуманную форму. Результат? Линии, теперь выглядят так, будто их нарисовал профессиональный художник.
Мы долго экспериментировали с “ощущением“ карандаша. Добавили небольшой круг, показывающий размер кисти, который следует за курсором. Это как видеть кончик настоящего карандаша перед тем, как начать рисовать. Пользователи оценили эту деталь — она позволяет точно понять, какой будет линия, ещё до начала рисования.
Особое внимание мы уделили персонализации. Мы создали систему, которая запоминает любимые настройки пользователя: толщину линии, цвет, стиль. Используя localStorage, мы сделали так, что карандаш “помнит“ предпочтения даже после закрытия браузера. Можно больше не задумываться о настройке карандаша перед тем как начать рисовать.
2 views
5592
1989
3 days ago 00:02:45 1
С ДНЁМ МАТЕРИ! (24 НОЯБРЯ) Красивые стихи для лучшей МАМЫ ❤
3 days ago 00:14:42 1
«Хороший конец». А.П.Чехов. Читает Владимир Антоник. Аудиокнига
3 days ago 00:00:59 1
Как избавиться от перхоти без лекарств и шампуней!
3 days ago 00:18:13 1
❗❓Наука для детей - Все о космосе и звёздах. Сборник | Смешарики Пинкод
4 days ago 00:19:48 1
Станки, которые мы потеряли
4 days ago 00:42:51 1
Пчела: Самое полезное насекомое для человека | Интересные факты про пчел
4 days ago 00:39:59 1
Печень ожила! Даже врач удивился действию этой неприметной травки…
4 days ago 00:33:36 1
к.ф.-м.н. Стригин М.Б. Четыре этапа эволюции мышления: экспликация мирового разума
4 days ago 00:08:34 1
Путин встретился с создателями ракеты «Орешник»
4 days ago 00:01:14 1
Как исправить проблемы с запуском Call of Duty: Black Ops 6
4 days ago 00:00:41 1
Part 1| TowTruck Rage Fight/Smashes Parked Cars in Brooklyn, NY | #fighting #viralvideo #shorts
5 days ago 00:17:37 1
Подземный город. “Костяк“ элиты цивилизации.
5 days ago 00:47:29 1
Каково жить в стране, начавшей войну | Немцы 1939—1945 (English subtitles) @Max_Katz
5 days ago 00:02:34 1
「AMV 」Аниме клип | *ХОЛОДНЫМИ ВОЛНАМИ
5 days ago 00:15:00 1
“Третья мировая война. Просите милости Бога!“ г. Апостол Слова
5 days ago 00:31:00 1
ПЕРЕСТАНЬТЕ ТРАТИТЬ ВРЕМЯ – СОСРЕДОТОЧЬТЕСЬ НА СЕБЕ | Мотивация Невилла Годдарда
5 days ago 01:40:58 1
Станислав Дробышевский “Как мясо сделало из обезьяны человека“
5 days ago 00:10:58 1
Как влияют гаджеты на детей – «ПОЖИРАТЕЛИ МОЗГА» Мультфильм про строение мозга и развитие ребенка
6 days ago 00:25:23 3
Как решать уравнения с модулем или Математический торт с кремом (часть 1) | Математика
6 days ago 00:17:21 1
АБСОЛЮТНЫЙ СУПЕРМЕН №1 | Видеокомикс | DC Comics
6 days ago 00:14:43 1
Как мы посетили Нижнекамские ТЕРМЫ?/ Куда поехать на выходные / Аквапарк или термы?
1 week ago 00:15:55 1
Правила классической мафии (2021)
1 week ago 00:12:38 1
ЧТО НЕ ТАК С ПЕСНЕЙ АННЫ АСТИ “ЦАРИЦА“? Гиперкомпенсация, неуверенность в себе и внутренняя пустота
1 week ago 01:16:21 1
Национальное своеобразие скуки: английский spleen, французский l’ennui, русская хандра