|
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
|
|
Как брать точки на polyline через равные отрезки?04.12.2020, 09:47. Показов 2488. Ответов 9
Метки нет (Все метки)
Я использую движок leafletjs.
Есть polyline, мне нужно нарисовать на ней n объектов (например маркеров). Заранее неизвестно сколько маркеров, но известно, что надо уместить их на линии через равные отрезки(но не обязательно занимать всю линию). У меня нет никаких идей, кто поможет?
0
|
|
| 04.12.2020, 09:47 | |
|
Ответы с готовыми решениями:
9
Как сделать отрезки Polyline разного цвета? Через точку провести прямую, отсекающую равные отрезки на осях координат Рассчитать значения заданной тригонометрической функции в нескольких точках через равные отрезки |
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
| 04.12.2020, 21:37 | |
|
Electroflower,
1. на самой ломаной нужны маркеры? 2. То есть в уже готовую ломаную воткнуть массив координат? 3. А ломаная в виде прямой?
0
|
|
|
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
|
|
| 04.12.2020, 22:57 [ТС] | |
|
Qwerty_Wasd,
1. на самой ломаной нужны маркеры? Не особо важно маркеры, имейджи или полигоны, все упирается по сути в получение точек L.latlng или L.Point 2. То есть в уже готовую ломаную воткнуть массив координат? Не совсем, предположим ломанная определена - это polyline определенной длины. У нас есть точка на polyline, откуда надо откладывать до конца линии объекты(пусть маркеры) на равном расстоянии, это может быть 5 маркеров, а может быть 70. 3. А ломаная в виде прямой? Ломанная в виде ломанной Но сама ломанная состоит из прямых по сути, идущих от точки излома к следующей точке излома.Что удалось нарыть: 1) Можно получить все координаты polyline методом getLatLngs() - это возвратит весь массив точек LatLng[]-это в самом leaflet есть такая функция. 2) есть библа для движка leaflet называется Geometryutil. Она имеет любопытные функции: distance(map, latlngA, latlngB) - эта ф-я возвращает расстояние между точками при текущем зуме карты, то есть например, если измерить distance прямого полилайна без зума -это будет одно расстояние , если зазумим и измерим - уже большее. Еще есть interpolateOnLine(map, polyline , ratio) - она найдет точку на polyline по значению ratio. А ratio это некоторый коэффициент от 0 до 1, где 0 - это точка начала polyline, а 1 - конец polyline, остальные промежуточные значения десятые и соты можно задавать любые, главное знать как и зачем. И вот я не могу никак все это богатство заюзать.... Просто мозг кипит.
0
|
|
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||||
| 04.12.2020, 23:21 | ||||||||
1
|
||||||||
|
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
|
|||||
| 04.12.2020, 23:25 [ТС] | |||||
|
0
|
|||||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||
| 04.12.2020, 23:55 | |||
|
Electroflower,
=> —————o——o——o———————Берем первые 2 X и 2 Y - отрезок. Рандом от\до по иксам и игрекам, полученные значения рассматривать как точку на отрезке. Далее проверить лежит ли точка на отрезке. Думаю Вы уже поняли к чему я клоню
1
|
|||
|
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
|
|
| 05.12.2020, 18:10 [ТС] | |
|
0
|
|
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||
| 06.12.2020, 13:12 | |||
|
опять расстояние - рандом - проверка - втык, опять расстояние - рандом - проверка - втык, опять расстояние - рандом - проверка - втык, опять расстояние - рандом - проверка - втык, опять расстояние - рандом - проверка - втык, опять расстояние - рандом - проверка - втык, остановите как надоест. ![]() И так до тех пор, пока существуют координаты для от\до для рандома. У меня собственно вопрос - почему вообще возникла такая задача?
1
|
|||
|
Shiningemerald
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
|
|||
| 07.12.2020, 09:52 [ТС] | |||
|
Qwerty_Wasd,
Добавлено через 10 минут Добавлено через 18 секунд Qwerty_Wasd, короче задача непростая
0
|
|||
|
Модератор
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
|
|||||||
| 08.12.2020, 11:13 | |||||||
Собрала демку на p5 (код этих функций в src/util/).Исходники: polyline.zip Собранная версия (чтобы не ставить npm и node для сборки), просто откройте index.html: dist.zip
3
|
|||||||
| 08.12.2020, 11:13 | |
|
Помогаю со студенческими работами здесь
10
Подскажите как сделать чтоб Polyline(k) рисовал из первои точки,а не из(0,0) Polyline и новые точки
Найти уравнение плоскости,отсекающей от осей координат равные отрезки и образующей с координатными плоскостями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|