Клуб Народной карты

И снова о перехлёстах точек при включении опции сглаживания углов контура

a33.ru
21 марта, 11:22

Итак, мы долго-долго пыхтя рисуем лесной массив или водоём.  Нарисовали. Включаем кнопочку "сгладить углы". Сгладили.  Пытаемся сохранить наши труды. Увы. На картинке показан тот случай, когда сохранить ничего не удасться, и вся работа получилась насмарку. Нашу ручную работу полностью испортил недоделанный робот сглаживания углов. После сглаживания, при попытке сохранить картинку, появилась красная предупреждающая надпись "Некорректная геометрия". И всё, гейм овер, сохранение картинки невозможно. Всё что создано, скорее всего, пошло прахом. 

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

Что пожелать нашим Яндексмэнам-разработчикам?

1) Устранить баг возникновения перехлёста.

2) Если не получается устранить баг, сделать указатель, где перехлёст.

3) Если не получается сделать указатель, где перехлёст, сделать откат опции "сглаживание углов", то есть предложить пользователям человеческое превью. Что такое превью? Понравилось нам, как система сглаживает, всё нас устраивает - принимаем. Не понравилось, вылезли ошибки, - отменяем сглаживание, спокойно продолжаем редактировать и/или  сохраняем без сглаживания.

4) Сделать масштабируемую плавность сглаживания. От жестких углов к мягким плавным линиям. Сделать ручной ползунок масштаба, а ещё лучше впридачу к нему автонастройку. Когда система сама понимает, где надо сделать широкую округлую дорогу.

(копия картинки на внешнем облаке: https://cloud.mail.ru/public/FnEB/DKECeF91b )

Что пожелать пользователям?

1) Прежде, чем пользоваться опцией скругления углов, сохранять всю первичную ручную отрисовку. На всякий случай.

7 комментариев
Misha Fleget
Сотрудник Яндекса21 марта, 11:30
Здравствуйте!
Во-первых, спасибо за развернутый пост.
Во-вторых, да, действительно иногда это сродни поиску перегоревшей лампочки в гирлянде и мы благодарны вам за усидчивость и старание.


Мы постоянно работаем над улучшением сервиса и старается сделать так, что бы работа с Народной картой приносила только удовольствие. 

Пока можем только поблагодарить вас за усердие и проделанную работу. Уверен, что ваши труды не останутся невостребованными и пользователи Яндекс.Карт будут вам благодарны. 
Сергей Зайцев
21 марта, 11:50
кхе-кхе.
Позвольте вмешаться.
Пост написал на эмоциях. Не надо так.
Согласен такая проблема есть. Это неудобно и отнимает время и желание дальше рисовать.
Тут проблема не только в том что самоналожение ребра, а бывает что одна точка стоит сзади другой. Это тяжело увидеть. Но если погулять по контуру можно найти. Уже не припомню случаев чтобы такие вещи не находились. Проблема известна. Остается только ждать.
Всего хорошого)
По-моему, это тот случай, когда проще устранить баг. Ясно же, что нельзя углы квадрата со стороной 9 м скруглять радиусом 5 м (нельзя от 9 м отрезать с каждой стороны по 5 м). А проверка это разрешает! А вот острые и тупые углы, на первый взгляд, проверяются правильно - учитывается, что отрежется R * ctg(a/2).

Отличный совет - сначала сохранять контур, нарисованный вручную.
Обновлено 21 марта, 11:57
Вообще уже давно ввёл в привычку сохраняться на четверти проделанной работы, потом на половине и тд :Д
Отрадно видеть, что не прошло и суток, как в НЯК появилась самодиагностика при скруглении: сообщения  "самоналожение ребра запрещено" с указателем конкретной точки, где это произошло.  Модераторы советуют рисовать по-грубее. Ну что-же, после этого совета выявлен другой интересный баг, когда робот честно не знает, что ему делать со скруглением. Картинка в прикрепленном файле по ссылке:  https://cloud.mail.ru/public/7yL2/mpd5Xomyv 
a33.ru,
Это прежняя ошибка, та же, что и при скруглении квадрата со стороной 9 м, только по счастливой случайности в данной конфигурации она не привела к образованию самопересечения.
a33.ru,
"Недолго мучалась старушка  в высоковольтных проводах..." Опция самодиагностики опять отключилась и очередной лесной массив подсвинячил сразу двумя перехлёстами и странным, реально по своей сути, сообщением "слишком близко точки". А кто просил их так близко ставить?