Как я могу соединить два параллельных 2D-полигона, чтобы создать бесшовную 3D-сетку?

Предположим, у меня есть два полигона, один над другим, вот так:

Я хотел бы соединить их вершины, чтобы создать трехмерную сетку из треугольников по периметру. На этом рисунке показан способ, которым вы могли бы сделать это (оранжевые линии представляют края треугольника):

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

Полигоны хранятся в видеList<Vector2>, Они всегда будут простыми и могут быть вогнутыми.

Ответы на вопрос(1)

Ваш ответ на вопрос