2012-05-23 2 views
1

У меня есть много полигонов, которые покрывают некоторый прямоугольник.Как сгладить связанные многоугольники, не теряя связи?

Каждый многоугольник связан с каким-либо типом (на изображении, доступном по ссылке ниже, оно показано цветом).

Мне нужно гладкие полигоны и сохранить топологию.

(т.е. мы должны учитывать следующие ограничения:

  1. Объединения полигонов равно некоторый прямоугольник
  2. Пересечение любых два различных многоугольников пуст

(это определение перегородки ))

ADDED

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

Example image

+1

Я не понимаю ваш вопрос. – Thomash

+0

Я думаю, что я понимаю вопрос, но без дополнительной информации о представлении геометрии и топологии прямоугольника и многоугольников любой ответ, который я мог бы разработать, был бы просто расплывчатым размахиванием руками. –

+0

Что вы пытаетесь оптимизировать - то есть, что вы подразумеваете под «гладкой»? – comingstorm

ответ

0

Вот фрагмент ответа.

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

Я ожидаю, что этот ответ неадекватен, но возьмите намеки, которые вы уже дали, и уточните свой вопрос, более подробно объясните, что у вас есть и что вы хотите.