Почему в OSM нет окружностей и кривых хотя бы второго порядка?

Он по трём точкам не в состоянии сделать окружность.

Не пофиг ли? Серверы в наше время дешевле картофеля :slight_smile:

Если использовать кривые 2 порядка то не особо - они не могут пересекать сами себя и места их пересечений легко находятся по простой формуле.

Про 3 порядок не знаю, но судя по тому что во всех программах векторной графики элемент “кривая” давно стал стандартом проблем с ними нет.

(я не настоящий сварщик, просто знания остались со времён когда делал 2D физический движок на кривых 2 порядка. Это чтобы фигуры были плавные а не ломанные как обычно)

Не путай сервер, который рисует 5-10 круглых труб, с сервером, который должен обслуживать миллиарды объектов для сотен тысяч пользователей.

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

А OSM уже непрост для “простого пользователя”. Просто вы тут давно и не заметили этого. :slight_smile: Куча правил, тэгов, мультиполигоны разные там…

Хотя бы окружности бы…

У конкурирующих проектов нет окружностей. Наверное, это неслучайно…

Лучше поставьте к JOSM плагин СommandLine, там вам и окружности, и кривые Безье, и всё, что еще напишите.
Аппроксимированные до ломаных, конечно :3

(JOSM у меня в дебиане не заработал. Ни какая версия.)

Да точек же много потратится и навигатор будет тормозить. Так то эти бочки никому не нужны, просто для ориентира и на будущее для 3д карты :slight_smile: И хотелось бы чтобы было понятно что это бочки и они круглые.

Ответ на исходный вопрос понятен.

поставь сановскую джаву (и снеси openjdk, одни проблемы от неё).
правда, не знаю, в каком она репозитории.

Она на сайте оракла - там бинарники установщика емнимп.

Лично я за Безье на неопределённое (но не слишком далёкое) будущее. Там поди и процы в навигаторах подтянутся, смогут их живьём рисовать.

Если он от этого тормозит - то от введения кривых он станет тормозить тем более. :slight_smile:

Не факт.

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

Факт.
Вы знаете хоть один алгоритм быстрого рисования Безье?

Не, ну это несерьезно. Для навигаторов всё равно придется аппроксимировать до ломаных, а это делается в ходе конвертации. Да и времени занимает миллисекунды.

Что касается отрисовки во всевозможных движках, то вы, кажется, забыли, что, к примеру, любая надпись - это сотни и тысячи кривых Безье в шрифтах.

Hind, шрифты в реалтайме нигде не генерятся

Здрасьте! Ну а когда же?
В TTF как раз кривые лежат. Пока SelectObject в нужный hdc не случится, никакой растеризатор шевелиться не будет! Мало ли кто какого размера закажет буковки.
Я думаю, что нынче вообще всё отложено до TextOut, ибо букв в уникодовском шрифте больно много может оказаться чтобы все разом растеризовать.

как это нет? В OSM есть дуги, а вот прямых как раз и нет. Автора темы попрошу не забывать, что у нас вся геометрия на сфере и даже для прямые не так просто обрабатывать. Для начала попрошу написать, скажем, вычисление длины кривой второго порядка на сфере. Или расстояния между двумя кривыми. Попадания точки в многоугольник с кривыми ребрами.
И еще концепцию, как надо переводить кривую из одной системы координат в другую. Это самая прикольная часть.

злые вы… я планировал это странице на третьей сказать :slight_smile: такую тему прибили на взлёте :slight_smile:

Я думаю, вам поможет это: proposal «Геометрия». С помощью этого отношения вы можете обозначить, что линия на самом деле является не замкнутой ломаной, а настоящей окружностю.