Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2020, 02:50
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

fabric.js Как реализовать вспомогательные лини объекта для чертежа и ярлыки?
Как в fabric.js можно реализовать вспомогательные лини объекта для чертежа и ярлыки ? Вот так как в примере
https://i.paste.pics/d722f8c3bbd0a4a...f34142d265.png
Ответить с цитированием
  #2 (permalink)  
Старый 06.12.2020, 11:27
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Так можно это реализовать. Только на чертеже белые точки (маркеры) можно передвигать и при этом размеры динамически меняются.

При этом соответственно надо менять тогда и надписи в ярлыках и вспомогательные линии

А также привязку к объекту надо реализовывать самостоятельно.

А я предполагал, что в в fabric.js уже реализовано что-то такое
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2020, 00:58
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

И для уголков не подходит Triangle Это по сути 2 отрезка То есть нет третьей стороны соединяющей их

Допустим вместо Triangle можно использовать 2 Line. Но как найти углы сторон Polygon-а ? Вообще в полигоне fabric точки идут по кругу То есть x1 связан с x2 и x самый последний

Готового в fabric для этого ничего нет
Ответить с цитированием
  #4 (permalink)  
Старый 08.12.2020, 01:02
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Не плохо А вот в случае с углами надо вычислять перпендикулярную каждой стороне линию

Есть какие нибудь готовые мат функции для этого или механизмы ?
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2020, 11:05
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Проблема не только в школьном курсе

Например я вычисляю перпендикуляры для каждой стороны полигона соответственно. Это для отображения тех же уголков на чертеже

Но при перемещении всего четежа В данном случае это земельный участок подразумевается
Так вот изменяются значения Left и Top каждого уголка - перпендикулярной по отношению к полигону изображающему участок линии

Но вот x1, y1, x2, y2 этих линий-перпендикуляров при этом не меняется

И соответственно когда пользователь щелкает по точке и модифицирует сторону полигона то найти как относятся перпендикуляры чертежа к этой стороне не возможно так как координаты x1, y1, x2, y2 перпендикулярных линий у схеме остаются те, что были до перемещения всей схемы

Я погуглил и нашел это
We cannot implement it on moving since it would clutter the move event without reason, but we can totally write a short method get current points

При этом автор советует реализовывать этот метод используя width и height объекта

Я попробовал реализовать этот short method
При этом получаются приближенные значения x1, y1, x2, y2 до .005 тысячных

Ну и соответственно сравнение типа obj.х1 == searchp.x1 не срабатывает

Тут можно чудить еще. Округлять например. Только это ни к чему не приведет.

Потому-что реальные координаты перемещенной точки на самом полигоне после перемещения приобретают также не фиксированную точность
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
Как реализовать отправку содержимого из iframe нажатием комбинации клавиш ctrl+enter Naizer Общие вопросы Javascript 4 27.11.2013 17:39
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48