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

Пока он вращается и движется хорошо плавно. Однако это не удается при изменении размера.

Вот эскиз .

Может кто-нибудь направить или поправить?

Примечание : эскиз был обновлен для перемещения при перетаскивании фигуры.

-1
TechBuddy 16 Ноя 2021 в 17:13
Мне кажется, вам следует использовать FabricJS: fabricjs.com
 – 
Helder Sepulveda
16 Ноя 2021 в 20:50
Пробовал это раньше. Они не годятся на перекрестках, нетривиальное обнаружение столкновений. Убедитесь, что автор сам упомянул здесь: ссылка
 – 
TechBuddy
16 Ноя 2021 в 21:45
В вашем сообщении нет ничего о столкновении ... и для записи столкновение нетривиально в paperJS
 – 
Helder Sepulveda
16 Ноя 2021 в 22:12
Это правильно, мой пост посвящен проблеме изменения размера, которая является частью моего фактического требования, которое я пытаюсь достичь. PaperJS прошел все проверки и обладает более продвинутыми возможностями. Хотя не так просто, как fabricjs.
 – 
TechBuddy
16 Ноя 2021 в 22:31

1 ответ

Лучший ответ

Главное - использовать аргумент point метода item.scale().
Он позволяет масштабировать элемент вокруг произвольной точки, а не вокруг его центра, что является поведением по умолчанию.
Вы также должны отменить групповое перетаскивание, когда операция масштабирования активна, как вы уже сделали с вращением.
Вот эскиз демонстрирующее упрощенный решение вашей проблемы (только Handl es равномерное масштабирование), который должен направить вас на правильный путь.

0
sasensi 18 Ноя 2021 в 11:04