มีแผนที่ย่อย hex แบบ 3 มิติหรือไม่


26

น่าจะเป็นข้อได้เปรียบที่ใหญ่ที่สุดของการเรียงแผนที่เป็นฐานหกเหลี่ยมและฐานสี่เหลี่ยมคือจุดศูนย์กลางของแต่ละฐานสิบหกมีระยะห่างเท่ากันกับฐานสิบหกที่อยู่ใกล้เคียงทั้งหมด มีรูปร่างที่คล้ายกันซึ่งเรียงต่อกันด้วยวิธีนี้ในแบบ 3 มิติและเอ็นจิ้นที่รองรับรูปแบบดังกล่าวหรือไม่?


คุณกำลังถามคำถามสองข้อจริง ๆ(ไม่แนะนำ) คำถามแรกเกี่ยวกับรูปร่าง 3 มิติ (นอกจากลูกบาศก์ที่ฉันเข้าใจ) เป็นของmath.stackexchange.comจริงๆ อย่างที่สองเกี่ยวข้องกับเกมมากกว่าแม้ว่าฉันคิดว่าคำตอบคือไม่ :)
ไซคลอป

1
สแควร์สยังมีระยะห่างเดียวกันกับสแควร์ใกล้เคียงทั้งหมด (สมมติว่าเพื่อนบ้านเป็นสี่เหลี่ยมจัตุรัสที่มีขอบ)
bummzack

2
ฉันได้พิจารณาใส่ไว้ในวิชาคณิตศาสตร์ แต่ฉันคิดว่าหัวข้ออาจจะใกล้เคียงกับการบังคับใช้ในโลกแห่งความเป็นจริงมากเกินไป;) แต่ฉันจะลองแล้ว
Hackworth

@ bummzack ถ้าไม่เห็นได้ชัดจากคำถามฉันทำแน่นอนอ้างถึงกรณีที่คุณนับ 8 สี่เหลี่ยมทั้งหมดเป็นเพื่อนบ้านหรือ 26 ก้อนใน 3D
Hackworth

ฉันแก้ไขคำถามของคุณสักเล็กน้อยเพื่อวัด "คณิตศาสตร์" ของบิตแรกและให้ความสำคัญกับลักษณะของเครื่องยนต์มากขึ้น
Josh

คำตอบ:


19

ทีมแท็ก Google และ Wikipedia เพื่อช่วยเหลือ:

Tessellationและเฉพาะเจาะจงมากขึ้นสำหรับ 3D Honeycombเป็นคำที่ต้องค้นหา ลูกบาศก์นั้นเป็นรูปแบบปกติเท่านั้น (ใบหน้าทั้งหมดมีความสอดคล้องกัน) และการเติมช่องว่าง (ไม่มีช่องว่างเหลือเท่ากับการบรรจุทรงกลม) รูปทรงหลายเหลี่ยมในพื้นที่ 3 มิติ แต่พวกเขามีปัญหาเช่นเดียวกับสี่เหลี่ยมสองมิติซึ่งมีระยะทางที่แตกต่างกันอย่างมากกับเพื่อนบ้าน

Bitruncated ลูกบาศก์รังผึ้งทำจากทรงแปดหน้าปลายตัด (ค่อนข้างคำหนึ่ง) มามากใกล้เคียงกับสิ่งที่ผมขอ ข้อเสียคือรูปแปดด้านที่ถูกตัดทอนนั้นไม่ปกติ (กำลังสองและเลขฐานสิบหกเป็นใบหน้า) และมีเพื่อนบ้านน้อยกว่าลูกบาศก์ (14 vs 26) แต่มันเติมเต็มพื้นที่ด้วยของแข็งเดียวซ้ำและมีระยะทางเท่ากับเท่ากันทั้งหมด เพื่อนบ้าน


+1 น่าสนใจ ดูเหมือนว่าจำนวนเพื่อนบ้านของคุณจะถูกปิด (ควรเป็น 26 แทนที่จะเป็น 28)
bummzack

+1 Honeycomb ดี ฉันรู้โครงสร้างแล้วลืมชื่อ
วิศวกร

9

แผนที่หกเหลี่ยมสองมิติเป็นตัวแทนของทรงกลมที่บรรจุในถาดแบน (2D) โดยที่แต่ละ hex จะอยู่กึ่งกลางทรงกลมที่เท่ากันและอนุญาตให้ระยะห่างระหว่างเซลล์ถูกกำหนดให้สามารถใช้งานได้ (เพื่อจุดประสงค์ในการเล่นเกม) เซลล์ฐานสิบหกที่คุณก้าวผ่าน

การแสดงภาพ 3 มิติที่เทียบเท่ากันคือการทดลองแบบกึ่งกลางใบหน้าลูกบาศก์ (FCC) / ลูกบาศก์ปิด (CCP) ที่กล่าวถึงข้างต้นโดยใช้ขนมเปียกปูน dodecahedra

ลูกบาศก์ tessellation เป็นศูนย์กลางในสามมิติ

บทความ Wikipedia นี้อ้างถึง FCC / CCP เป็นพิเศษและบทความอื่น ๆ นี้เปรียบเทียบกับ hexagonal close packing (HCP) แต่บทความที่สองมีแนวโน้มที่จะเป็นคณิตศาสตร์มากกว่า

ฉันได้ตรวจสอบการใช้สิ่งเหล่านี้ในการทำแผนที่ RPG แต่ถึงแม้ว่าจะมี 'ความถูกต้อง' ที่น่าดึงดูดใจเกี่ยวกับพวกเขา (พื้นฐานทางคณิตศาสตร์ความสามารถในการแพ็คพื้นที่โดยไม่มีช่องว่างสมมาตรเมื่อชิ้นถูกนำผ่านตาข่าย ฯลฯ ) ปัญหาสำหรับวัตถุประสงค์ในการเล่นเกมดูเหมือนจะเป็นปัญหาที่ผู้เล่น / GM ต้องเผชิญในการมองเห็นพวกเขาและการขาดระบบพิกัดที่ชัดเจนสำหรับการอ้างอิงพวกเขา

แม้ว่ามันจะทำให้ฉันลำบากก้อนง่าย ๆ ที่มีพิกัด {x, y, z} ดูเหมือนเป็นทางออกที่ง่ายกว่ามากทำให้ทุกคนมุ่งเน้นไปที่การเล่นเกมมากกว่าที่จะงุนงงอยู่ตลอดเวลาด้วยการเลือกมาตรฐานการทำแผนที่แบบไม่สำคัญ

เพียงแค่ 2 เซ็นต์ของฉันแม้ว่าจะเป็นการเพิ่มที่ล่าช้ามากในเธรดนี้

โอ้สำหรับการตั้งค่าที่มีธีมอวกาศแต่ละเซลล์มีเซลล์ที่อยู่ติดกันสิบสองเซลล์ (สามด้านบนสามด้านล่างและหกรอบระนาบ) และสิ่งนี้ช่วยให้การเชื่อมโยงกลุ่มดาว / โหราศาสตร์เรียบร้อย ลองนึกภาพภาคส่วนบ้านในเซลล์เริ่มต้นจากนั้นตั้งชื่อแต่ละส่วนที่อยู่ติดกันหลังจากกลุ่มดาวโหราศาสตร์แห่งหนึ่ง เช่นเดียวกับแผนที่เลขฐานสิบหกที่สามารถย่อยสลายเป็น hexes ขนาดเล็กเซลล์ FCC สามารถย่อยสลายเป็นเซลล์ขนาดเล็กทำให้แต่ละภาคส่วนตั้งชื่อตามกลุ่มดาวที่จะย่อยสลายเป็นส่วนย่อย "มากำหนดหลักสูตรสำหรับผู้ย่อย 031 ของภาคราศีเมถุน" ...

จวร์ต


ฉันสนใจที่จะพูดคุยเรื่องปัญหาพิกัดสามมิติแบบสามมิติสำหรับเกม RPG กับคุณหากคุณต้องการ
Kyle Strand

6

มีสอง analogues 3D ง่าย ๆ ของโครงตาข่ายหกเหลี่ยมคือ: Hexagonal Close Packing (HCP) และCubic Close Packingหรือที่รู้จักกันคือตาข่ายลูกบาศก์ใบหน้าเป็นศูนย์กลาง (CCP / FCC)

โปรยเหล่านี้ทั้งสองมีความคล้ายคลึงกันมาก: พวกเขามีจำนวนเพื่อนบ้านที่ใกล้เคียงที่สุดต่อไซต์ (12) และความหนาแน่นของการบรรจุทรงกลมเดียวกัน (~ 74%) และพวกเขาทั้งคู่สามารถย่อยสลายเป็นสองมิติซ้อนสองมิติ

ในสองเรื่องนี้ฉันจะพิจารณาโครงตาข่าย CCP ค่อนข้าง "ดีกว่า": มันสมมาตรมากกว่าไม่มีแกนที่ต้องการเหมือนกับตาข่าย HCP โดยเฉพาะอย่างยิ่งถ้าคุณต้องนั่งอยู่ในหนึ่งในเซลล์ของตาข่าย CCP และดูที่หนึ่งในเซลล์เพื่อนบ้านที่ใกล้ที่สุดตาข่ายนั้นจะมีลักษณะเดียวกันโดยไม่คำนึงว่าเซลล์เพื่อนบ้านที่คุณกำลังมองอยู่นั้นคืออะไร สิ่งนี้ไม่ถือเป็นจริงสำหรับโครงข่าย HCP

เซลล์ของ CCP ปูกระเบื้องที่ดีและสมมาตรdodecahedra ขนมเปียกปูนขณะที่ของ HPC จะบิดเป็นdodecahedra trapezo-ขนมเปียกปูน นี่คือภาพของขนมเปียกปูน dodecahedra ที่เรียงเป็นกระเบื้อง CCP จาก Wikipedia:

ขนมเปียกปูนกระเบื้อง dodecahedral

(รูปภาพโดยผู้ใช้ Wikipedia AndrewKepert ภายใต้ลิขสิทธิ์ GFDL 1.2+ / CC-By-SA 3.0)

โปรดทราบว่าในฐานะที่เป็นทางเลือกชื่อ "ตาข่ายลูกบาศก์ลูกบาศก์ใบหน้า" แนะนำมีสูตรง่ายมากสำหรับการค้นหาศูนย์กลางของเซลล์ในตาข่าย CCP: เริ่มต้นด้วยตาข่ายลูกบาศก์ง่ายๆที่มีจุดที่มุมของก้อน และเพิ่มคะแนนใหม่ที่กึ่งกลางใบหน้าของลูกบาศก์ เพื่อนบ้านที่ใกล้ที่สุดของจุดที่มุมคือใบหน้าที่อยู่ติดกัน 12 ใบหน้าในขณะที่เพื่อนบ้านที่ใกล้ที่สุดของจุดบนใบหน้าคือ 4 ในมุมที่อยู่ติดกันบวก 8 บนใบหน้าที่อยู่ติดกันของสองก้อนแบ่งปันใบหน้าที่ จุดกึ่งกลางอยู่ (ด้วยรูปทรงเรขาคณิตบางส่วนคุณสามารถแสดงให้เห็นว่าย่านที่อยู่อาศัยของทุกจุดในความเป็นจริงดูเหมือนกันแม้ว่าการก่อสร้างนี้จะทำให้ดูเหมือนว่า "จุดหน้า" แตกต่างจาก "จุดมุม")

(หมายเหตุ: หน้า MathWorld ที่ฉันเชื่อมโยงไปด้านบนดูเหมือนจะมีข้อผิดพลาดทำให้ความหนาแน่นของตาข่ายขัดลูกบาศก์ "Body-Centered Cubic" ที่เกี่ยวข้องนั้นยังไม่ถึง 74% ซึ่งจริง ๆ แล้วประมาณ 68%)


5

ฉันเห็นด้วยกับ @Cyclops ว่านี่อาจเป็นคำถามที่ดีกว่าในการแลกเปลี่ยนสแต็คทางคณิตศาสตร์ แต่ในเวลาเฉลี่ยคุณอาจต้องการดูโครงสร้างการบรรจุแบบปิดแบบหกเหลี่ยม มันคือการจัดเรียงทรงกลมที่หนาแน่นที่สุดในแบบ 3 มิติและในขณะที่ระยะทางไปยังเพื่อนบ้านทั้งหมดนั้นไม่เหมือนกัน เพชร Cubicตาข่ายมีระยะห่างเท่ากับโดยตรงเพื่อนบ้าน แต่ก็ค่อนข้างหลวมบรรจุและแต่ละจุดมีเพียงสี่จุดที่อยู่ติดกัน


HCP ทำงานได้ดีแน่นอน คุณแค่ต้อง "squish" เลเยอร์เล็กน้อยเพื่อให้ระยะห่างระหว่างจุดศูนย์กลางของเซลล์นั้นเท่ากันในทุกทิศทาง เซลล์จึงมีเพื่อนบ้านสิบสองคน - สามคนขึ้นไปสามคนและหกคนบนเครื่องบินลำเดียวกัน
Martin Sojka
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.