육각형 맵 대신 팔각형 맵을 사용하지 않는 이유는 무엇입니까?


41

나는 사각형 타일보다 육각형 타일의 장점을 이해합니다. 그러나 왜 팔각형이 대신 사용되지 않습니까? 나는 그들이 8 방향으로 더 좋고 자연스러운 움직임을 제공 할 것이라고 생각합니다.

일부 게임에서 이러한 종류의 맵을 사용하려고 생각했지만 사용중인 게임을 보지 못했기 때문에 사용에 대해 명백한 결함이 있는지 궁금합니다.


59
팔각형은 타일이 없습니다.
jmegaffin

2
정사각형과 육각형과 같은 다른 모양이 있는지 궁금합니다.
Azaral

12
@Azaral : 삼각형, 사각형 및 육각형 만 있습니다. 이것은 입증되었습니다.
Nicol Bolas

9
그것은 나를 조금 슬프게 만듭니다
Azaral

11
실제로 다른 일반 다각형과 타일링이 있지만 비 유클리드 기하학에만 있습니다. 예를 들어 구체에 규칙적인 오각형 타일링을 얻을 수 있습니다.
TonioElGringo

답변:


68

팔각형 :

여기에 이미지 설명을 입력하십시오

육각형 :

여기에 이미지 설명을 입력하십시오

팔각형의 격차는 매력적인 게임 세계를 만듭니다.

일반적으로 8 개의 이동 방향을 허용하려면 사각형 만 사용하면됩니다.


43
대안은 게임을 쌍곡선 평면에서 실행하여 팔각형으로 타일링 할 수 있도록하는 것입니다. roguetemple.com/z/hyper.php
MartianInvader

3
@MartianInvader 얼마나 재미있다!
Click Ok

"팔각형의 격차는 매력적인 게임 세계를 만듭니다." 나는 그렇게 말하지 않을 것입니다. 눈에 잘 띄지 않는 타일링과 같은 패턴의 사용법이 있습니다.
API-Beast

1
사실, "부적절하다"는 잘못된 단어입니다. 비 균일 구조는 최종 사용자 (이러한 구조에 익숙하지 않은 최종 사용자)와 코드 작성이 더 어려운 개발자에게 더 많은 복잡성을 초래합니다.
MichaelHouse

4
간격이있는 팔각형 패턴은 시각적으로 45도 회전 한 대각선 이동이없는 사각형 패턴에 해당합니다! (당신이 사각형 타일과의 격차를 채울 경우, 그것은 사각형 패턴의 대각선 이동하지만, 괴상)
user253751

64

요약하고 다른 답변과 의견 밝혔다 된 내용에 자세히 설명하기 위해, 삼각형, 사각형과 육각형 만 수학적으로 가능 정기 타일링에게 일명 정규 테셀레이션유클리드 비행기 . 그래, 이거 짜증나 삼각형은 여기에서 완전히 쓸모가 없습니다. 사각형은 당신이 다소 다루기 힘든 요인 1.4142135623730950488016887242096980785696718753769480 ... 대각선으로 움직일 수 없기 때문에 빨라요. 육각형은 양방향으로 똑바로 움직일 수 없기 때문에 빨라집니다. 나를 잘못 이해하지 마라. 나는 여전히 엉터리 현실 수학의 제약 내에서 사각형보다 사각형을 선호한다. 그리고 마침내 육각 그리드로 전환하기 위해 Civ5로 간다. 하지만 여전히 그것은 경우에 있었다 팔각형으로 테셀 레이트 할 수있는 사람은 아무도 육각형을 다시 한번 보지 않을 것입니다.

당신은 "글쎄, 나는 격차가 있는지 상관하지 않습니다. 나는 단지 그들이 존재하지 않는 척합니다."라고 말할 수 있습니다. 정사각형 틈이 거의 없기 때문에 정사각형 타일링 이라고 하는 잘린 정사각형 타일링 을 얻을 수 있습니다. 실제로 팔각형은 평면 타일링 측면에서 영광스럽게 정사각형이기 때문입니다. 그 작은 정사각형은 잘림 에서 남은 것입니다실제로 평면과 게임 용어를 타일로 표시하는 사각형의 모퉁이에서 사각형을 사용하지 않는 이유는 직선 및 대각선 이동에 대해 동일한 거리를 유지해야했기 때문에 여기에없는 것입니다. 대각선 이동은 정사각형 타일과 같은 타일 중심 사이의 동일한 거리를 연결해야합니다. 반대로, 마법의 디지털 공간에 실제 구멍이 있다고 가정하면 물론 그렇게 할 수 있지만 정사각형 타일을 사용하고 직선 이동만큼 대각선 이동을 만드는 것과의 차이점은 무엇입니까?

잘린 사각형 타일

유클리드가 아닌 다른 좋은 대안이 있다면 지금은 그렇게 나쁘지 않을 것 입니다. 종종 우리의 격자는 어쨌든 어떤 종류의 행성에 있기 때문에 타원 기하학, 즉 구의 표면을 사용하지 않습니까? 불행히도 구는 타일링과 관련하여 훨씬 더 나쁩니다. 평면에서 최소한 원하는만큼 타일을 사용할 수있는 경우 구체에는 5 가지 배열 (플라톤 솔리드)이 있습니다. 그게 다야. 그리고 그들 중 두 명만이 삼각형을 사용하지 않습니다. https://ko.wikipedia.org/wiki/Spherical_polyhedra

그러나, 쌍곡 면은 테셀레이션과 관련하여 실제로 흔들립니다. 실제로 3 개가 없으며 실제로 8 각형을 포함하여 무한정의 테셀레이션이 있습니다.

쌍곡면의 팔각형 타일링

유일한 문제는 쌍곡면 이 평평한 표면이나 구처럼 좋은 것이 아니라 기본적으로 Pringle표면이라는 것 입니다. 프링 글의 게임을 정당화하려면 스토리 훅이 필요합니다.)

쌍곡선 포물면

그럼에도 불구하고, 각형 타일은 매우 우아하고 푸앵카레 디스크 정말 거의 수행 된 적이있어 놀랐어요 것을 끝내도록 모습은 (이전에 내가 여기에 "수행 된 적이"라고하지만 본인은 MartianInvader 에의 코멘트를 가리키는 HyperRogue ).

구현 측면에서는 직접 수행 한 적이 없지만 오늘날의 3D 아키텍처를 사용하여 구현하는 것은 매우 간단합니다. Poincaré 디스크 뷰는 하이퍼로이드 표면에 모든 것을 배치 하고 투시 투영을 수행하여 구성 할 수 있기 때문입니다 (참조). 쌍곡선 모형과의 관계 ).

Poincare 디스크 제작

그리드 기반 우주 게임을하고 3 차원으로가는 것을 생각할 때 한 가지 더 결론을 내릴 수 있습니다. 14 개의면이 존재하지 않는 규칙적인 볼록 다면체가 필요할뿐만 아니라 3D 유클리드 공간을 규칙적인 볼록 다면체로 테셀 레이트하는 유일한 방법은 큐브입니다. Booooring. 쌍곡선 공간에서는 최소한 십이 면체로 테셀레이션 (예 : 12면 다면체; 거의 14, 맞습니까?) 하여 16 진 격자에 대한 유사체와 같은 모호한 것을 얻을 수 있지만 이제는 완전히 엉뚱한 땅에 있고 아직 얻지 못했습니다. 팔각형 타일에 대응하는 것 :

쌍곡선 직교 십이 면체 벌집

지옥처럼 아름답습니까? 오 마이 갓! 외계인 우주선이 이것에 뒤 따르고 현명한 방식으로 반응 할 것으로 예상되는 경우 측정을 넘어서 당황할까요? 당신은 내가 할 것이라고 내기. 이것이 아마도 대부분의 사람들이 큐브 나 육각형 프리즘 스택을 사용하는 이유 일 것입니다 .

입방 벌집 육각 프리즘 벌집


10
전문가의 팁 : 얼간이의 공식 통치자로 선출되었다고 느끼면 쌍곡선 공간의 12 면체 벌집에 드워프 요새를 만드십시오. 만약 누군가가 그 타이틀에 대해 다시 도전하지 않기를 원하고 Vulcans 땅을 만들고 워프 드라이브를 발명하기 전에 규칙에 따라 제출을 제안하고 싶다면 Funge dialect ( quaium.net/funge/ spec98.html ).
Christian

3
3D는 육각 격자의 규칙적인 유사체, 즉 FCC 격자 , 단위 셀, 마름모꼴 십이 면체카탈로니아 어 솔리드입니다 (즉, 모든 모서리가 같지는 않지만 모든면이 동일하고 대칭 임). 그러나 그것을 사용하는 많은 게임을 보지 못했습니다.
Ilmari Karonen

1
@ TobiasKienzler 대답에서 말한 내용에도 불구하고, 그것은 정말 대단 할 것입니다. 게임이 3D hyberbolic 공간을 이해하기 위해 두뇌를 다시 연결할 수 없다면 무엇입니까? :)
Christian

1
@TobiasKienzler 4D Rubik의 큐브가이 목록에서 누락되지 않았습니까? 어쨌든, Adanaxis는 기쁘게 들린다. 차원이 높을수록 지오메트리가 놀랍도록 지루해집니다. en.wikipedia.org/wiki/List_of_regular_polytopes#Tessellations 정말 마음이 아 bo니다. 나는 더 많은 폴리 ​​토프와 물건이 더 많은 자유도를 기대할 것입니다. 하지만. 2D 공간에서 테셀레이션 수가 무한대 인 쌍곡선 공간도 5보다 크면 0으로 줄어 듭니다. 유클리드 공간은 모든 차원에서 큐빅 테셀레이션을 유지합니다.
Christian

4
"Pringle의 게임을 정당화하려면 스토리 훅이 필요합니다."
CaptainRedmuff 2014 년

27

HyperRogue의 저자는 여기입니다.

HyperRogue 실제로 여기, 육각형 및 heptagons와 만든 다듬기를 사용하여이 특정 다듬기 예를 들어, 대신 단지 팔각형 또는 heptagons와의, 선정 된 이유이다 : 하이퍼 볼릭 악성의 쌍곡선 기하학은 기본적으로, 팔각형가 너무 크다.

HyperRogue 스크린 샷 번호가 매겨진 스크린 샷

또한 게임에서 쌍곡선 기하학을 사용한 결과 (쌍곡선에서 작동하고 유클리드에서는 작동하지 않으며 그 반대)도 그 게시물에 나열되어 있습니다.

그렇습니다. Christian이 추측 한 것처럼 HyperRogue는 내부적으로 쌍곡선 모델을 사용합니다.

나는 기독교인의 대답에 대해서는 언급 할 수 없지만 14면 다면체를 가진 3D 공간의 테셀레이션이있다 : Bitruncated Cubic Honeycomb


젠장, 지금은 당신의 게시물을 보았다. 그래, 나는 빗나간 입방 벌집을 간과했지만 Ilmari Karonen도 나에게 그것을 지적하기에 충분했다. HyperRogue BTW로 정말 멋진 작업을했습니다. Ouya 컨트롤을 추가 할 가능성이 있습니까? :)
Christian

1
나는 다시 혼란스러워했다. Bitruncated 큐빅 벌집은 규칙적인 다면체로 구성되지 않습니다. 즉, 모든면이 같은 것은 아닙니다. Ilmari Karonen이 언급 한 허니컴은 12 면체로 구성되어 있습니다. 즉, 12면 고형물입니다. 그것이 육각형 타일링에 대한 유사체입니다. 정육면체의 각면에 대해 그리고 각 정점에 대해 8 개의 "대각선"에 대해). 비트 런 캣형 큐빅 벌집은 평평한 팔각형 타일링과 유사합니다. 작동하지만 게임 그리드의 큐빅 벌집에 비해 이점이 없습니다.
Christian

타일링을 이해할 수 있도록 스크린 샷을 추가했습니다. 그러나 어쩌면 나일지도 모르지만 각 타일에 얼마나 많은 정점이 있는지조차 알기가 어렵습니다. 그래서 나는 각 타일 (정확히 모든 타일이 아님)에 정점 수를 넣었고 갑자기 패턴이 분명해졌습니다 : 중간에 칠각형이있는 육각형의 겹치는 동그라미입니다. @ZenoRogue라는 대답을 엉망으로 만들었기를 바랍니다. 이러한 것들이 느리고 미안하다면 즉시 미안합니다.
Christian

감사! Ouya 컨트롤을 추가하려면 무엇이 필요합니까? 이미 Android 포트와 조이스틱 컨트롤 (Pandora 콘솔 용)이 있으므로 Ouya 컨트롤을 쉽게 추가 할 수 있지만 테스트하기는 어렵습니다.
Zeno Rogue

1
실제로 14 개가 아닌 26 개의 방향이 필요하다고 생각합니다 (6 개의 "순수한"방향, 2 개의 (비 반대) 순수 방향의 12 가지 조합, 3 개의 순수 방향의 8 가지 조합)). 비트 런캣 큐빅 벌집은 6 + 8 (얼굴과 정점에 해당)을 사용하고, 마름모꼴은 다른 12 (가장자리에 해당)를 사용합니다.
Zeno Rogue

9

기본적으로 원하는 것은 다면체 테셀레이션 (또는 타일링)입니다. 즉 타일이 겹치거나 틈을 남기지 않는 단일 모양의 전체 평면 (2d 가정)의 적용 범위입니다.

이 작업을 수행 할 수있는 모양은 많지만 다른 구속 조건을 도입 할 때는 일반적으로 방향이 동일하게 유지되거나 자연적인 이동 방향을 따라야합니다. 기본적으로 정사각형과 육각형 만 남습니다.

예를 들어 삼각형을 사용하십시오 (3d 객체의 테셀레이션에서 알 수 있음). 두 천사의 간격을 메우려면 다른 삼각형을 삽입해야하지만 뒤집어 놓아야합니다. 예를 들어 원활한 연결이 중요하기 때문에 스프라이트를 다룰 때 발생하는 번거 로움입니다. 또한 삼각형 움직임이 빨라집니다.

운동과 관련하여 가장 자연스러운 것은 가장 자주 사용되는 사각형입니다. 육각형은 차선책이며 더 많은 수의 이동 방향에보다 직접적으로 접근 할 수 있습니다. 일반적으로 움직임의 증가가 중요한 전술적 게임에서 사용됩니다.

어쨌든 더 많은 내용을 읽으려면 http://euler.slu.edu/escher/index.php/Tessellations_by_Polygons를 살펴보십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.