Представьте, что вы рисуете карту границ графства. Вам задан набор полигонов, по одному для каждой границы, и вы рисуете каждый многоугольник.Рисование пунктирных границ
В тех местах, где два округа разделяют границу, вы просто заканчиваете рисование границы дважды. В отсутствие частичных эффектов прозрачности и с помощью сплошного пера это не проблема.
Но на картах границы такого рода обычно отображаются штриховыми пунктирными линиями. В этом случае, ситуации, подобные изображенному ниже, может произойти:
Обратите внимание, как образец пунктира, который обычно является тире-точка-точка, портится, где эти две области имеют общую границу. В этом случае он стал шаблоном longdash-dot, но в целом он мог делать что угодно: от обычного совпадения до создания сплошной линии.
Как сделать/отображать программное обеспечение рендеринга, предотвращающее появление таких артефактов?
Это работает, но разделение его на отдельные сегменты означает как очень большое количество сегментов, так и довольно сложную систему для распространения, где вы находитесь в тире, когда вы переходите от одного сегмента к соединительному (что-то, что обрабатывается GDI + включая правильное сглаживание, если я рисую целые пути). –
Хорошо, если вы не хотите потерять позицию в шаблоне, можете ли вы переключиться на прозрачную ручку по уже нарисованным сегментам? Я не думаю, что ваша точка действительна, потому что, если у вас есть две линии, сходящиеся в одну, шаблон может быть непрерывным только для одной линии (той, которую вы нарисовали первым), а не для обоих. – cdonner
Я думаю, что путаница здесь - несогласие с тем, что составляет сегмент. Полилины на самом деле гораздо более зубчатые, чем на образце выше, и имеют множество поворотов и поворотов в местах, отличных от пересечений с другими округами. Если мы разделим его на каждый маленький прямой сегмент, это добавит массу мест, где шаблон будет потерян. Вы правы, что на перекрестке он может быть непрерывным только для одной линии или другой, но это не такая уж большая сделка. –