Я думаю, что на самом деле есть несколько способов достичь того, чего вы хотите.
Во-первых, следуя исходной идее рисования второго, немного меньшего многоугольника внутри исходного многоугольника; это не плохая идея. Чтобы ответить на ваш первоначальный вопрос о том, как создать меньший многоугольник: вы можете найти центроид каждого многоугольника и сместить каждую вершину на процент от расстояния до этой точки центроида многоугольника, чтобы получить меньший многоугольник. Это должно дать приятный эффект.
Другим способом, которым вы могли бы воспользоваться, было бы использование z-порядка и смещение «более толстого» многоугольника небольшим отрицательным z-расстоянием.
Еще один способ - использовать порядок прорисовки; нарисуйте свои более толстые многоугольники в последнюю очередь, что предотвратит их переброску окружающими многоугольниками.
Еще одна идея, которая может работать в зависимости от ваших потребностей, может заключаться не в том, чтобы рисовать многоугольники, а в том, чтобы рисовать серии линий, просто утолщая некоторые из линий.
Есть много вариантов, которые вы можете попробовать; надеюсь, вы найдете тот, который работает хорошо!