Основні обмеження вашої проблеми двоякі: створення 1-підключеного графіка; і створюючи його за допомогою проксимальних зв’язків. Хоча дещо цінна відповідь Філіпа, не вирішує усіх обмежень вашої проблеми
В ідеалі червоточина не повинна перевищувати максимальну довжину і, якщо можливо, червиві отвори не повинні перетинатися один з одним.
Коли ви наївно з'єднуєте точки в хмарі, ви ризикуєте (і при цьому високою) ці умови не виконати.
Отже, бачите, проблема полягає не стільки в підключенні, скільки в близькості на цих з'єднаннях. Тривіально підключати кожен вузол у графі до кожного іншого вузла, але підключення лише до тих, які є найближчими при збереженні 1-з'єднаності загального графіка, є дещо складнішим.
Ось що створює триангуляція Делоне у n вимірах. Перша причина використовувати тріангуляцію Делоне - це те, що вона виконує неявно. Друга причина полягає в тому, що набагато простіше працювати назад від такого графіка (віднімаючи ребра і вершини, які ви не хочете), ніж намагатися створити його іншими способами.
- Випадково створіть свою повну хмару точок.
- Дело-триангулюйте його.
- Побудуйте графік (з'єднання точок). У цьому випадку ви можете згенерувати спочатку весь графік (кожну зірку), а потім вивести графік як неповнолітні, що представляють ваші регіони, пов'язані з червоточиною, під час виконання кроку 4. Альтернативно, ви можете працювати навпаки, генеруючи лише регіони, пов'язані з червоточиною. спочатку як вузли суперграфа, а потім на другій фазі генерують окремі зірки в межах обмежувальних обсягів цих регіонів (для цього я отримав би графік триангуляції Делоне - діаграма Вороного в трьох вимірах) як підграф. Тепер у вас є зв'язані між собою зоряні кластери, і всі кластери з'єднані більш рідкими червоточинами: ваша топологія та топографія мають сенс для гравця.
- Застосуйте інтелектуальні методи для формування супер- та підграфів, залежно від того, як ви вирішили обробити його на кроці 3.
Важливо бачити, що це ієрархічний процес. Перший рівень стосується підключення до черв'якових отворів; другий стосується відстаней, імовірно, пройдених за допомогою стандартного приводу судна. Ви можете застосувати Делоне на одному або обох рівнях, щоб задовольнити свої обмеження.
Якщо зробити це чисто топологічно, ви залишите червоточини, які не мають сенсу, оскільки вони можуть з'єднати одну сторону галактики з іншою, незважаючи на високу щільність зірок між ними (і, можливо, навіть потрапляючи на прямий шлях червоточини). Топологія - це не топографія; останнє - це розгляд над першим. Вас турбує близькість і, отже, топографія.