Tôi đã đọc bài viết này: generating/creating hexagon grid in C. Nhưng trông giống như cả tác giả và người trả lời đã từ bỏ nó.Làm cách nào để vẽ/quản lý lưới hình lục giác?
√(hexagonSide - hexagonWidth * hexagonWidth)
: HexagonSide và hexagonWidth là gì? Không phải là nó sẽ < 0 (vì vậy căn bậc hai không thể được tính toán).
Và, tôi có thể đặt hình lục giác vào hình chữ nhật không? Tôi cần phải tạo ra một mạng lưới như thế này:
điềuMột hơn, làm thế nào tôi có thể sắp xếp mảng của tôi để lưu trữ dữ liệu, cũng như nhận được tế bào bên cạnh một tế bào?
Tôi chưa bao giờ được dạy về hình lục giác, vì vậy tôi không biết gì về nó, nhưng tôi có thể dễ dàng học điều mới, vì vậy nếu bạn có thể giải thích hoặc cho tôi biết, tôi có thể tự làm.
Việc làm này sẽ đòi hỏi gì hơn là một hình học nhỏ/lượng giác. Các góc ở đỉnh của hình lục giác đều là 360/3 độ hoặc 120 độ. Với thông tin này và sử dụng các phương thức thư viện Java Math (mặc dù cẩn thận khi thay đổi độ thành radian), bạn sẽ có thể rút ra điều này dễ dàng mà không cần sử dụng mã khác. Làm việc với sơ đồ trên giấy trước khi cam kết mã cho IDE. Tôi tìm thấy nó tốt nhất để nghĩ về một hình lục giác như sáu hình tam giác đều, nhưng làm bất cứ điều gì làm việc tốt nhất cho bạn. Sau đó, trở lại với mã của bạn nếu bạn đang mắc kẹt, và chúng tôi sẽ rất vui mừng được giúp đỡ! –
Tôi không chắc chắn anh chàng trong liên kết đang nói về cái gì, nhưng lượng giác cơ bản sẽ cho bạn biết rằng cạnh của hình lục giác, s, có liên quan đến chiều cao của nó bằng s * căn bậc hai của 3 hoặc trong Java 's * Math.sqrt (3); ' –
Xem bài đăng này về cách tìm hàng xóm http://stackoverflow.com/questions/6661169/finding-adjacent-neighbors-on-a-hexagonal-grid – Buhb