169 похожих чатов

Доброго времени суток Мне бы надо сделать свой редактор 2d

графики, где есть из фигур только точка и прямые, которые могут соединяться в точках. Надо бы координаты точек отсылать на бек, делать матем рассчет, а потом на фронте перерисовывать
Но не особо представляю пока что, как это сделать нормально. Может, кто-то подскажет идею или скинет помощники библиотеки/видео?

16 ответов

79 просмотров

pixi попробуй

Старичка d3 так же можно посмотреть

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

Nikita- Автор вопроса
Egor Demeshko
не очень понятно что за задача, но если нет анимац...

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

Nikita
Анимаций нет Просто на прямой тяну точку, например...

у меня похожая задача была, блоки перетягивать и стрелочки рисовать, я и d3 открывал, pixi вроде не было в наборе, и были еще какие-то пару библиотек. не помню. мне быстрее было просто изучить базу svg, по-мойму даже по MDN, кординаты от базового svg элемента будете считать, легко их запихивать в через {x} {y}. обратное получение только у меня не bind был, а по-мойму через комбинацию событий. а d3 довольно мощный инструмент. а так я видел реализацю больше на svg. потом <canvas>, но div блоки видел тоже))) кстати, native getBoundingClientRect с каким-нибудь display: fixed ))

Nikita- Автор вопроса
Egor Demeshko
у меня похожая задача была, блоки перетягивать и с...

Понял Для моей задачи будет легче взять svg обычный, видимо. Тогда почитаю чутка о нем больше

Nikita
Понял Для моей задачи будет легче взять svg обычн...

Вот еще вариант на канвасе paperjs.org, есть api importJSON для данных с бэка

Nikita- Автор вопроса
Ruslan S
Вот еще вариант на канвасе paperjs.org, есть api i...

Мб, еще подскажите В принципе можно сделать грубой силой, но мб получше как-то Вот мы тянем прямую за точку. А у нас на прямой ограничение по длинне И как бы мне сделать: пользователь тянет точку у прямой (у прямой 2 точки всего), а там где-то можно сделать в свелте проверку? Мол могу ли я сбда двигать? Или для такиз целей надо уже d3 освоить?

Stas I.🏄
D3 чтоб графики строить

На D3 можно и прям редактор сделать, он очень гибкий

Nikita
Мб, еще подскажите В принципе можно сделать грубой...

Наверно будет проще взять, как советовали svg. Гугли svelte-dnd-action and svg Ограничения можно задать

Влад Логвин
На D3 можно и прям редактор сделать, он очень гибк...

Но не рисовалку, это надо понимать) А условно дерево, которое можно свободно осматривать, редактировать отдельные ветки и создавать новые. Если грубо выражаться, это графический инструмент для работы с данными в любом форме. Но если данных нет, а нужна рисовалка – то d3 не лучший выбор

Nikita
Мб, еще подскажите В принципе можно сделать грубой...

Вот тебе пример. https://svelte.dev/repl/c7712ceeba1a4262a321c5ccfa9ee11b?version=4.2.1 (Нагуглил) А дальше сам развивай)

Nikita- Автор вопроса

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта