Dlaczego nie używamy map oktogonalnych zamiast map heksagonalnych?

42

Rozumiem przewagę sześciokątnych płytek nad kwadratowymi. Ale dlaczego zamiast tego nie używa się ośmiokątów? Sądzę, że zapewnią lepszy, bardziej naturalny ruch w ośmiu kierunkach.

Myślałem o użyciu tego rodzaju mapy w jakiejś grze, ale nie widziałem żadnych gier, w których się z niej korzystam, więc zastanawiam się, czy nie zauważyłem czegoś oczywistego wadliwego w korzystaniu z niej?

Kliknij OK
źródło
59
Ośmiokąty nie układają się.
jmegaffin
2
Zastanawiam się, czy są jakieś inne kształty, które
układają się
12
@Azaral: Są tylko trójkąty, kwadraty i heksy. Zostało to udowodnione.
Nicol Bolas,
9
To sprawia, że ​​jestem trochę smutny w środku
Azaral
11
Cóż, w rzeczywistości istnieją nachylenia z innymi regularnymi wielokątami, ale tylko w geometriach innych niż euklidesowe. Na przykład można uzyskać regularne układanie pięciokąta na kuli.
TonioElGringo

Odpowiedzi:

69

Octogons:

wprowadź opis zdjęcia tutaj

Sześciokąty:

wprowadź opis zdjęcia tutaj

Luki w oktogonach tworzą nieprzyjemny świat gry.

Zazwyczaj, jeśli chcesz zezwolić na osiem kierunków ruchu, wystarczy użyć kwadratów.

MichaelHouse
źródło
43
Alternatywą jest, aby Twoja gra toczyła się na płaszczyźnie hiperbolicznej, gdzie możesz układać kafelki za pomocą oktogonów: roguetemple.com/z/hyper.php
MartianInvader
3
@MartianInvader Jak ciekawe!
Kliknij Ok
„Luki w oktogonach tworzą nieprzyjemny świat gry”. Nie powiedziałbym tego, z pewnością widzę zastosowanie takiego wzoru dla mniej widocznych płytek.
API-Beast
1
Prawdą jest, że „nieprzyjemny” to niewłaściwe słowo. Powinienem powiedzieć, że niejednorodna struktura wprowadza dodatkową złożoność zarówno dla użytkownika końcowego (który może mieć trudności z przyzwyczajeniem się do takiej struktury), jak i dla programisty, dla którego prawdopodobnie będzie trudniej napisać kod.
MichaelHouse
4
Ośmiokątny wzór z odstępami odpowiada kwadratowemu wzorowi bez ruchu po przekątnej, wizualnie obrócony o 45 stopni! (A jeśli wypełnisz luki kwadratowymi kafelkami, będzie to kwadratowy wzór z ruchem ukośnym, ale dziwniejszy)
user253751,
64

Podsumowanie i opracowanie tego, co zostało powiedziane w innych odpowiedzi w komentarzach, trójkąty, kwadraty i sześciokąty są tylko matematycznie możliwe regularnych tilings aka regularne TESELACJE z euklidesowej płaszczyzny . Więc tak, to do bani. Trójkąty są tutaj całkowicie bezużyteczne, kwadraty są do bani, ponieważ nie można poruszać się po przekątnej bez niewygodnego współczynnika 1,4142135623730950488016887242096980785696718753769480 ... dawać lub brać; a sześciokąty są do kitu, ponieważ nie można nawet poruszać się prosto w obu kierunkach. Nie zrozumcie mnie źle, nadal wolę je od kwadratów w ramach ograniczonej gównianej matematyki rzeczywistości i wybrałem Civ5, aby w końcu przejść na siatki heksadecymalne. Ale nadal, gdyby tak było możliwa teselacja z ośmiokątami, nikt nigdy nie spojrzałby na sześciokąty.

Możesz powiedzieć „Cóż, nie dbam o to, czy są luki. Udaję, że ich nie ma”. Dostaniesz przycięte kwadratowe kafelki, które nazywa się kwadratowymi kafelkami, nie dlatego, że są małe kwadratowe szczeliny, ale ponieważ te ośmiokąty są w rzeczywistości tylko uwielbionymi kwadratami pod względem kafelkowania samolotu. Te małe kwadraty pozostały po obcięciuza rogami kwadratów, które faktycznie układałyby płaszczyznę samolotu, i pod względem gry, powodem, dla którego nie korzystaliśmy z kwadratów, była równa odległość dla ruchów prostych i po przekątnej, a tego tutaj nie ma. Ruchy ukośne muszą pokonać tę samą odległość między środkami płytek, co w przypadku kwadratowych płytek. I odwrotnie, jeśli udajesz, że Twoja magiczna cyfrowa przestrzeń ma rzeczywiste dziury, możesz to oczywiście zrobić, ale jaka jest różnica po prostu używając kwadratowych płytek i wykonywania ruchów po przekątnej tak samo drogich jak proste?

obcięte kwadratowe kafelki

To wszystko nie byłoby takie złe, gdyby istniały naprawdę dobre alternatywy, które nie są euklidesowe . Często nasza siatka i tak znajduje się na jakiejś planecie, dlaczego więc nie skorzystać z geometrii eliptycznej, tj. Powierzchni kuli? Niestety, kule są nawet o wiele, znacznie gorsze, jeśli chodzi o regularne przechylanie. Gdzie w płaszczyźnie możesz użyć co najmniej tyle płytek, ile chcesz, na kulach jest pięć układów, bryły platońskie. Otóż ​​to. I tylko dwa z nich nie używają trójkątów. https://en.wikipedia.org/wiki/Spherical_polyhedra

Jednak płaszczyzna hiperboliczna naprawdę się trzęsie, jeśli chodzi o teselacje. Nie ma tylko trzech, w rzeczywistości istnieje nieskończona liczba regularnych teselacji, w tym ośmiokątna .

ośmiokątne płytki w płaszczyźnie hiperbolicznej

Jedynym problemem jest to, że płaszczyzna hiperboliczna nie jest tak ładna jak płaska powierzchnia lub kula, ale w zasadzie powierzchnia Pringle'a . Potrzebujesz usprawiedliwienia w grze na Pringle;)

hiperboliczny paraboloid

Mimo to, ośmiokątny Dachówka jest tak elegancki i tarczowe Poincare wygląda tak niesamowite, że jestem naprawdę zaskoczony, to prawie nigdy nie zostało zrobione (wcześniej powiedziałem „nigdy nie zostało zrobione” tutaj, ale potem czytam MartianInvader „s komentarz wskazujący na HyperRogue ).

Jeśli chodzi o implementację, chociaż sam tego nigdy nie zrobiłem, wdrożenie tego w dzisiejszych architekturach 3D powinno być dość proste, ponieważ widok dysku Poincaré można zbudować, umieszczając wszystko na powierzchni hiperboloidy i wykonując rzut perspektywiczny (patrz Związek z modelem hiperboloidalnym ).

budowa dysku Poincare

Jeszcze jedna rzecz na zakończenie, na wypadek, gdybyś pomyślał o zrobieniu kosmicznej gry opartej na siatce i przejściu do trzech wymiarów, mając nadzieję, że sprawy mogą wyglądać bardziej różowo ... lepiej po prostu się poddaj. Potrzebny byłby nie tylko regularny wypukły wielościan z 14 ścianami, który nie istnieje , jedynym sposobem na mozaikowanie przestrzeni euklidesowej 3D za pomocą regularnych wypukłych wielościanów jest użycie kostek. Booooring. W przestrzeni hiperbolicznej możesz uzyskać coś niejasnego jak analogon do siatki heksadecymalnej przez teselację z dodekaedrą (tj. Wielościan o 12 twarzach, to prawie 14, prawda?), Ale teraz jesteś w totalnej krainie pieprzenia mózgu i wciąż nie masz odpowiednik ośmiokątnej płytki:

Hiperboliczny prostokątny dwunastościenny plaster miodu

Piękna jak diabli? O mój Boże, tak! Czy wpadłbym w panikę ponad wszelką miarę, gdyby kosmiczne statki kosmiczne przyszły za mną i oczekiwano, że zareaguję rozsądnie? Założę się, że tak. Jest to prawdopodobnie powód, dla którego większość ludzi używa po prostu kostek lub sześciokątnych stosów pryzmatycznych .

sześcienny plaster miodu sześciokątny pryzmatyczny plaster miodu

chrześcijanin
źródło
10
Wskazówka: jeśli chcesz zostać oficjalnym władcą nerdiverse, stwórz krasnoludzką fortecę w dwunastościennej plastrze miodu w przestrzeni hiperbolicznej. Jeśli nie chcesz, aby ktokolwiek rzucił ci wyzwanie za ten tytuł, a także sprawił, że Wulkany wylądują i zaoferują poddanie się pod twoją regułę, zanim jeszcze wymyślimy napęd warp, napisz go w odpowiednim dialekcie Funge ( quadium.net/funge/ spec98.html ).
Christian
3
3D ma regularny odpowiednik siatki heksadecymalnej, a mianowicie kratkę FCC , której komórka elementarna , dwunastościan rombowy , jest bryłą katalońską (tzn. Wszystkie jej powierzchnie są identyczne i symetryczne, chociaż nie wszystkie rogi są). Jednak nie widziałem wielu gier z tym korzystających.
Ilmari Karonen
1
@TobiasKienzler Pomimo tego, co powiedziałem w odpowiedzi, byłoby to całkiem niesamowite. Jeśli gra nie jest w stanie przełączyć naszych mózgów w celu zrozumienia przestrzeni hyberbolicznej 3D, to co to jest? :)
Christian
1
@TobiasKienzler Czy na tej liście nie ma kostki Rubika 4D? W każdym razie Adanaxis brzmi radośnie szalony. Jeśli chodzi o wyższe wymiary, geometria staje się zaskakująco nudna w wyższych wymiarach: en.wikipedia.org/wiki/List_of_regular_polytopes#Tessellations To naprawdę denerwuje mnie. Spodziewałbym się, że będzie więcej stopni swobody, więc więcej polytopów i innych rzeczy. Ale nie. Nawet przestrzeń hiperboliczna o nieskończonej liczbie teselacji w przestrzeni 2D spada do 0 w wymiarach> 5. Przestrzeń euklidesowa zachowuje kubiczną teselację we wszystkich wymiarach.
Christian
4
+1 za „Potrzebowałbyś jednego haczyka z opowieścią, aby uzasadnić grę na Pringle”.
CaptainRedmuff
27

Autor HyperRogue tutaj.

HyperRogue faktycznie używa teselacji wykonanej z sześciokątów i heptagonów, oto powód, dla którego wybrano tę konkretną teselację, zamiast tylko ośmiokątów lub heptagonów, na przykład: Geometria hiperboliczna w hiperbolicznym nieuczciwym Zasadniczo ośmiokąty są zbyt duże.

Screenshot HyperRogue Zrzut ekranu numerowany

Również niektóre konsekwencje użycia geometrii hiperbolicznej w grze (co działa w hiperbolii i nie działa w euklidesie i odwrotnie) są wymienione w tym poście.

I tak, jak zgadł Christian, HyperRogue wewnętrznie korzysta z modelu hiperboloidalnego.

Nie wolno mi komentować odpowiedzi Christiana, ale istnieje mozaika przestrzeni 3D z wielościennymi wielościanami o 14 twarzach: Bitruncated Cubic Honeycomb (dlaczego właściwie 14 twarzy?)

Zeno Rogue
źródło
Cholera, dopiero teraz zobaczyłem twój post. Tak, przeoczyłem bitccone o strukturze plastra miodu, ale Ilmari Karonen również był na tyle miły, że mi go wskazał. Naprawdę fajna praca, którą wykonałeś z HyperRogue BTW. Czy jest szansa, że ​​dodasz do niego elementy sterujące Ouya? :)
Christian
1
Znowu się pomyliłem. Bitruniczny sześcian o strukturze plastra miodu nie składa się ze zwykłych wielościanów, tzn. Nie wszystkie twarze są takie same. Plaster miodu, o którym wspomniał Ilmari Karonen, składa się z dodekaedry, tj. Brył o 12 twarzach, dlatego jest to rodzaj analogonu do sześciokątnego kafelka: działa, ale nie ma 14 kierunków, które byś chciał (sześć „prostych” kierunków dla każdej powierzchni sześcianu i ośmiu „diagonalnych” dla każdego wierzchołka). Bitruniczny sześcian o strukturze plastra miodu jest analogonem do płaskiego ośmiokątnego kafelka: działa, ale nie ma żadnej przewagi nad sześciennym plastrem miodu dla siatek do gier.
Christian
Dodałem zrzut ekranu, żebyś mógł zrozumieć kafelki. Może jednak to tylko ja, ale naprawdę trudno mi było zobaczyć, ile wierzchołków ma każda płytka. Umieściłem więc liczbę wierzchołków w każdym z kafelków (cóż, właściwie nie wszystkie ) i nagle wzór stał się wyraźny: nakładają się na siebie sześciokąty z heptagonami na środku. Mam nadzieję, że to w porządku, że pomieszałem z twoją odpowiedzią, @ZenoRogue i przepraszam, jeśli jestem po prostu powolny z tymi rzeczami i wszyscy to rozumiem od razu.
Christian
Dzięki! Co trzeba zrobić, aby dodać kontrolki Ouya? Jest już port Androida i kontrolki joysticka (dla konsoli Pandora), więc formanty Ouya powinny być łatwe do dodania, chociaż trudne do przetestowania.
Zeno Rogue
1
Myślę, że faktycznie potrzebowalibyśmy 26 kierunków, a nie 14 (6 „czystych” kierunków, 12 kombinacji dwóch (przeciwnych) czystych kierunków i 8 kombinacji trzech czystych kierunków). Bitowy sześcian o strukturze plastra miodu używa 6 + 8 (odpowiadających powierzchniom i wierzchołkom), a rombowy przyjmuje pozostałe 12 (odpowiadające krawędziom).
Zeno Rogue
9

Zasadniczo to, czego chcesz, to monoedryczne mozaikowanie (lub układanie płytek), czyli pokrycie całej płaszczyzny (przy założeniu 2d) z jednym kształtem, w którym płytki nie nakładają się ani nie pozostawiają przerw.

Istnieje wiele kształtów, dzięki którym można to zrobić, ale kiedy wprowadzimy inne ograniczenia, zwykle orientacja powinna pozostać taka sama lub powinny one być zgodne z naturalnym kierunkiem ruchu, w zasadzie pozostają tylko kwadraty i sześciokąty.

Weź trójkąt na przykłady (które możesz znać z mozaikowania obiektów 3d). Aby wypełnić luki między dwoma trójkątami, należy wstawić inny trójkąt, ale odwrócić go do góry nogami. Jest to oczywiście trudność do wygenerowania, na przykład w przypadku duszków, ponieważ ważne jest bezproblemowe połączenie. Bani także ruch trójkątny.

Najbardziej naturalny, przynajmniej w odniesieniu do ruchu, jest kwadrat, który jest najczęściej używany. Sześciokąty to kolejna najlepsza rzecz, która pozwala na bardziej bezpośrednie podejście do większej liczby kierunków ruchu, tj. Nie ponad ruchem narożnym, jak to robi ruch 8-kierunkowy na kwadratach. Zazwyczaj stosuje się je w bardziej taktycznych grach, w których ważny jest wzrost ruchu.

W każdym razie, jeśli chcesz przeczytać więcej, zajrzyj na http://euler.slu.edu/escher/index.php/Tessellations_by_Polygons .

hhofbaue
źródło