Tôi đã nhìn chằm chằm vào vấn đề này trong vài ngày nay. Tôi đã dựng lên đồ họa này để giúp tôi hình dung ra vấn đề: (từ biểu đồ, chúng ta biết rằng đường thẳng giao nhau [1, 1], [1, 2], [2, 2], [2, 3], kết thúc bằng [ 3,3])
Tôi muốn bước dọc theo dòng đến từng không gian lưới và kiểm tra xem liệu vật liệu của không gian lưới có vững chắc không. Tôi cảm thấy như tôi đã biết toán học liên quan, nhưng tôi chưa thể kết hợp nó với nhau. Tôi đang sử dụng điều này để kiểm tra đường ngắm và loại bỏ các nút sau khi tìm thấy đường đi thông qua thuật toán tìm đường của tôi - các tác nhân của tôi không thể nhìn xuyên qua một khối rắn, do đó chúng không thể di chuyển qua một, do đó nút không bị loại khỏi đường dẫn bởi vì nó được yêu cầu để điều hướng một góc.
Vì vậy, tôi cần một thuật toán sẽ bước dọc theo dòng đến từng không gian lưới mà nó giao nhau. Có ý kiến gì không?
Tôi đã xem xét rất nhiều thuật toán phổ biến, như của Bresenham, và một thuật toán bước theo các khoảng thời gian được xác định trước dọc theo đường (không may, phương pháp này bỏ qua các ô nếu chúng giao nhau với một nêm nhỏ hơn kích thước bước).
Bây giờ tôi đang điền vào bảng trắng của mình với một khối các hàm sàn () và trần () - nhưng nó quá phức tạp và tôi sợ nó có thể gây ra sự chậm lại.