В настоящее время я разрабатываю небольшое приложение для создания эскизов на основе элемента Canvas HTML5. Есть одна конкретная проблема, для которой мне пока не удалось найти правильное решение.
Идея состоит в том, что пользователь сможет свободно манипулировать существующими данными (точками) штрихов. Это включает в себя перемещение данных о точке (т. Е. Магнитный инструмент) и манипулирование ими прихоти в противном случае (т. Е. Изменение цвета).
Обратите внимание, что текущий двигатель кисти может затенять, считая существующие данные хода. Это быстрое и грязное решение, поскольку оно просто перебирает точки в текущем штрихе и проверяет их по правилу расстояния.
Теперь проблема в том, как сделать это хорошим способом. Чрезвычайно важно уметь выполнять эффективные запросы, которые возвращают все точки в пределах заданной координаты холста и радиуса. Другие функции, такие как использование пространства, должны быть вторичными по отношению к этому. Я не против делать дополнительную обработку между штрихами, пока пользователь не рисует.
Любые указатели приветствуются. :)