คำถามติดแท็ก hexagonal-grid

การบอกพื้นผิวอย่างสม่ำเสมอซึ่งใช้รูปหกเหลี่ยมปกติสำหรับการปูกระเบื้องตะแกรง

2
ฉันจะหมุนโครงสร้างของแผ่นกระเบื้องหกเหลี่ยมบนตารางหกเหลี่ยมได้อย่างไร
เกมสามมิติแบบสามมิติของฉันใช้แผนที่กริดหกเหลี่ยม จากภาพด้านล่างฉันจะหมุนโครงสร้างหกเหลี่ยมสีฟ้าอ่อนได้ 60 องศารอบ ๆ รูปหกเหลี่ยมสีชมพูได้อย่างไร แก้ไข: เลขฐานสิบหกหลักคือ (0,0) Hexes อื่น ๆ คือ children การนับจะคงที่ ฉันจะกำหนดตำแหน่งเดียวเท่านั้น (ในกรณีนี้คือด้านขวา) และคำนวณทิศทางอื่น ๆ หากจำเป็น (ซ้ายล่าง, ขวา - botom, ขวาบน, ซ้ายบนและซ้าย) เลขฐานสิบหกอื่น ๆ ที่มีการกำหนดเช่น: Package.Add (-1,0), Package.Add (-2,0) และอื่น ๆ switch(Direction) { case DirRightDown: if(Number.Y % 2 && Point.X % 2) Number.X += 1; Number.Y …

6
ฉันจะรับพิกัดพิกเซลเป็น hex บนแผนที่ฐานสิบหกที่ใช้อาร์เรย์ได้อย่างไร
ฉันกำลังพยายามสร้างพิกเซลเพื่อประสานการทำงานของแผนที่ฐานสิบหก แต่ฉันไม่ได้คณิตศาสตร์อย่างถูกต้องทุกอย่างที่ฉันพยายามทำดูเหมือนจะผิดเพี้ยนไปเล็กน้อย โดย 'ตามอาร์เรย์' ฉันหมายถึงวิธีการสั่งซื้อ hexes ดูรูป ผลลัพธ์ที่แม่นยำที่สุดที่ฉันได้รับคือด้วยรหัสต่อไปนี้ แต่มันยังคงปิดอยู่และยิ่งแย่ลงยิ่งมีค่ามากขึ้น: public HexCell<T> coordsToHexCell(float x, float y){ final float size = this.size; // cell size float q = (float) ((1f/3f* Math.sqrt(3) * x - 1f/3f * y) / size); float r = 2f/3f * y / size; return getHexCell((int) r, (int) q); …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.