Prawdopodobnie największą zaletą kafelkowania mapy opartej na heksie w porównaniu z kwadratem jest to, że środek każdego heksa ma taką samą odległość do wszystkich sąsiednich heksów. Czy istnieje podobny kształt, który układa płytki w ten sposób w 3D, oraz silnik obsługujący taki model?
geometry
data-structure
Hackworth
źródło
źródło
Odpowiedzi:
Zespół tagów Google i Wikipedia na ratunek:
Tesselacja, a bardziej konkretnie w 3D, Honeycomb to termin, którego należy szukać. Kostki są rzeczywiście jedynymi regularnymi (wszystkie twarze są przystające) ORAZ wypełniającymi przestrzeń (bez pozostawiania przerw jak przy pakowaniu kul) wielościany w przestrzeni 3D. Ale mają ten sam problem co kwadraty 2D - bardzo różne odległości do swoich sąsiadów.
Bitruncated sześcienny plastra miodu wykonana z ośmiościan ścięty (dość łyk) jest bardzo zbliżona do tego, co zostało z prośbą o. Minusem jest to, że ścięty ośmiościan nie jest regularny (kwadraty i heksy jako twarze) i ma mniej sąsiadów niż sześcian (14 vs 26), ale wypełnia przestrzeń pojedynczą, powtarzaną bryłą i ma (z grubsza) równą odległość do wszystkich swoich sąsiedzi
źródło
Sześciokątne mapy 2D przedstawiają kulki upakowane w płaskiej tacy (2D), przy czym każdy hex jest wyśrodkowany na równoważnej kuli, i umożliwiają określenie odległości między komórkami do realnej (w każdym razie do celów gry) dokładności, po prostu poprzez zliczenie liczby komórki szesnastkowe, przez które przechodzisz.
Równoważnym odwzorowaniem 3D jest wspomniana powyżej tessalacja kubiczna (FCC) / sześcienne ścisłe upakowanie (CCP) przy użyciu rombowej dwunastościanu.
Ten artykuł w Wikipedii odnosi się w szczególności do FCC / CCP, a ten drugi porównuje go do heksagonalnego ścisłego upakowania (HCP), ale drugi artykuł jest zwykle bardziej matematyczny.
Badałem ich użycie w mapowaniu RPG, ale chociaż jest w nich atrakcyjna „poprawność” (podstawa matematyczna, zdolność do pakowania przestrzeni bez przerw, symetria, gdy plastry są przenoszone przez sieć itp.), Prawdziwa problemami związanymi z grami wydaje się być trudność, z jaką gracze / GM mieliby do czynienia w ich wizualizacji, oraz brak oczywistego układu współrzędnych do ich odniesienia.
Chociaż mnie to boli, proste kostki o współrzędnych {x, y, z} wyglądają jak znacznie prostsze rozwiązanie, pozwalające wszystkim skupić się na rozgrywce, a nie na ciągłym zdumieniu przez nietrywialny wybór standardu mapowania.
Tylko moje 2 centy, choć bardzo późny dodatek do tego wątku.
Och, poza ustawieniami związanymi z przestrzenią kosmiczną, każda komórka ma dwanaście sąsiadujących komórek (trzy powyżej, trzy poniżej i sześć wokół płaszczyzny), a to pozwala na czyste połączenie konstelacji / astrologii. Wyobraź sobie sektor macierzysty w początkowej komórce, a następnie nazwij każdy sąsiedni sektor na podstawie jednej z konstelacji astrologicznych. Tak jak mapy heksadecymalne można rozkładać na mniejsze heksy, komórki FCC można również rozkładać na mniejsze komórki, umożliwiając rozkład każdego sektora nazwanego na podstawie konstelacji na podsektory. „Ustawmy kurs dla podsektora 031 sektora Gemini” ...
Stuart
źródło
Istnieją dwa proste trójwymiarowe analogi siatki heksagonalnej: Heksagonalne uszczelnienie zamknięte (HCP) i Cubic Close Packing , znane również jako Cubic-Centered Cubic (CCP / FCC).
Obie te sieci są dość podobne: mają taką samą liczbę najbliższych sąsiadów na stanowisko (12) i tę samą gęstość upakowania kuli (~ 74%), i obie mogą być rozkładane na ułożone w stos sieci 2D hex.
Z tych dwóch uważam sieć CCP za nieco „ładniejszą”: jest bardziej symetryczna, nie mając preferowanej osi jak sieć HCP. W szczególności, jeśli usiądziesz w jednej z komórek sieci CCP i spojrzysz na jedną z najbliższych sąsiednich komórek, sieć będzie wyglądać tak samo bez względu na to, z której z sąsiednich komórek patrzysz. Nie dotyczy to sieci HCP.
Komórki płytek CCP są ładnymi i symetrycznymi rombowymi dodekaedrami , podczas gdy komórki HPC są skręcone w trapezo-rombowe dodekaedry . Oto zdjęcie niektórych rombowych dwunastościanów ułożonych kafelkami w celu utworzenia siatki KPCh z Wikipedii:
(Zdjęcie autorstwa użytkownika Wikipedii AndrewKepert, na licencji GFDL 1.2+ / CC-By-SA 3.0.)
Zauważ również, że jak sugeruje alternatywna nazwa „sieć sześcienna zorientowana na twarz”, istnieje bardzo prosta formuła znajdowania środków komórek w sieci CCP: zacznij od prostej sieci sześciennej, z punktami w rogach kostek, i dodaj nowe punkty w środkowej części powierzchni kostek. Najbliższymi sąsiadami punktów na rogach są ci na 12 sąsiadujących ścianach, podczas gdy najbliżsi sąsiedzi punktów na twarzach to 4 na sąsiednich rogach plus 8 na sąsiadujących ścianach dwóch sześcianów dzielących twarz, na której punkt centralny leży. (Z pewną geometrią możesz pokazać, że sąsiedztwo wszystkich punktów w rzeczywistości wygląda tak samo, mimo że ta konstrukcja sprawia, że „punkty czołowe” różnią się od „punktów narożnych”).
(Uwaga: strona MathWorld, do której odsyłam, wydaje się zawierać błąd, co daje gęstość pokrewnej, niezbyt upakowanej sieci „Cubic-Centered”, również 74% - w rzeczywistości około 68%.)
źródło
Zgadzam się z @Cyclops, że prawdopodobnie lepiej jest o to zapytać przy wymianie stosu matematycznego, ale w międzyczasie możesz zajrzeć do heksagonalnej struktury zamkniętego pakowania . Jest to najgęstszy możliwy układ sfer w 3D i chociaż odległość do wszystkich sąsiadów nie jest jednolita, może być najlepsza, jaką możesz uzyskać. Diament sko kratownica ma równy dystans do bezpośrednich sąsiadów, ale to dość luźno zapakowany, a każdy punkt ma tylko cztery sąsiadujące punkty.
źródło