Sorununuzun başlıca kısıtlamaları iki yönlüdür: 1 bağlantılı bir grafik oluşturmak; ve proksimal bağlantılarla oluşturma. Philip'in cevabı, biraz değerli olsa da, probleminizin tüm kısıtlamalarını ele almıyor
İdeal olarak, bir solucan deliği maksimum uzunluğu geçmemeli ve mümkünse solucan delikleri birbirini geçmemelidir.
Noktaları bir bulutta saf bir şekilde bağladığınızda, bu koşulların yerine getirilmeme riskini (ve bunun yüksek bir noktasını) çalıştırırsınız.
Gördüğünüz gibi, sorun bu bağlantılardaki yakınlıklardan biri kadar bağlantı değil. Bir grafikteki her düğümü diğer düğümlere bağlamak önemsizdir, ancak genel grafiğin 1 bağlantılılığını korurken yalnızca en yakın olanlara bağlanmak biraz daha zordur.
Delaunay üçgenlemesinin n boyutlarında yarattığı şey budur . Delaunay nirengi kullanmanın ilk nedeni, her ikisini de dolaylı olarak yerine getirmesidir. İkinci neden, böyle bir grafikten (istemediğiniz kenarları ve köşeleri çıkarma) geriye doğru çalışmanın, başka şekillerde oluşturmaya çalışmaktan çok daha kolay olmasıdır.
- Tam nokta bulutunuzu rastgele oluşturun.
- Delaunay üçgenleyin.
- Grafiği oluşturun (noktaların bağlantısı). Burada, ilk olarak tüm grafiği (her yıldız) oluşturabilir ve daha sonra 4. adımı uygularken grafiği solucan deliğine bağlı bölgeleri temsil eden küçükler olarak türetebilirsiniz . Alternatif olarak, yalnızca solucan deliğine bağlı bölgeleri oluşturarak başka bir şekilde de çalışabilirsiniz. önce supergraph düğümleri olarak ve daha sonra ikinci aşamada, bu bölgelerin sınırlayıcı hacimleri içinde (bunlar için Delaunay üçgenleme grafiğini çift - 3 boyutta Voronoi diyagramı) ayrı ayrı yıldızlar oluşturun. Artık proksimal olarak bağlı yıldız kümeleriniz var ve tüm kümeler daha nadir solucan delikleriyle birbirine bağlı: topolojiniz ve topografya oyuncuya mantıklı geliyor.
- 3. adımda nasıl ele almayı seçtiğinize bağlı olarak süper ve alt çizimleri şekillendirmek için akıllı yöntemler uygulayın.
Bunun hiyerarşik bir süreç olduğunu görmek önemlidir. Birinci seviye solucan deliği bağlantısıyla ilgilidir; ikincisi, standart bir gemi sürüşü kullanılarak muhtemelen geçilebilen mesafelerle ilgilidir. Kısıtlamalarınızı karşılamak için Delaunay'ı bir veya iki düzeyde uygulayabilirsiniz.
Bunu tamamen topolojik olarak yapmak, anlamsız olan solucan delikleri bırakacaktır, çünkü galaksinin bir tarafını diğerine bağlayabilirler, yüksek yoğunluklu yıldızlara rağmen (ve hatta solucan deliğinin doğrudan rotasına düşerler). Topoloji topografya değildir; ikincisi, öncekinin üzerinde ve üstünde bir düşüncedir. Yakınlık ve dolayısıyla topoğrafya ile ilgileniyorsunuz.