Я создаю макет подземелья для видеоигры. Я создал комнаты, разметил их, используя управление разделением, и создал полностью связанный взвешенный, ненаправленный граф комнат. Затем я рассчитал MST, используя алгоритм Прима, все с использованием GML (GameMaker Language). Я скучаю по Python.
Я намерен добавить дополнительные ребра, чтобы снова создать петли, чтобы игроку не приходилось всегда возвращаться по пути, и чтобы сделать макеты более интересными. Проблема в том, что эти края не могут пересекаться, и я бы предпочел не перемещать точки. Мне дали рекомендацию использовать триангуляцию Делоне, но, если честно, это совершенно мне не по голове и, возможно, не является жизнеспособным решением в GML. Я прошу каких-либо предложений по алгоритмам, которые я мог бы использовать для определения ребер, которые я мог бы добавить, но не пересекающих ранее созданные ребра.
Я включил изображение MST (линии соединяются с углами красных маркеров, даже если на изображении видно, что они быстро останавливаются)