Tôi đang chạy thuật toán marching squares (tương đối của các hình khối diễu hành) trên một mặt phẳng iso, sau đó dịch dữ liệu thành lưới tam giác.Làm thế nào để đơn giản hóa một lưới vuông diễu hành?
Công trình này, nhưng tạo ra dữ liệu lưới rất phức tạp. Tôi muốn đơn giản hóa này đến tam giác tối thiểu cần thiết, như đã thấy minh họa dưới đây:
Tôi đã cố gắng lặp xung quanh đường viền (điểm -> phân khúc -> điểm -> ...), nhưng các đường viền có thể bị đảo ngược nếu một điểm có nhiều hơn 2 đoạn đính kèm.
Lý tưởng nhất là giải pháp nên khá nhanh để có thể thực hiện được khi chạy. Ngôn ngữ tôi đang sử dụng là C#, nhưng có thể chuyển ngôn ngữ đó từ hầu hết các ngôn ngữ khác của C.
Vì vậy, bạn đã chạy thuật toán isoline được mô tả trên trang wiki bạn đã liên kết, nó đã cung cấp cho bạn một mạng lưới và bạn muốn dịch điều này thành một biểu diễn hình tam giác tối thiểu? – JSQuareD
Dữ liệu bạn đang cố gắng dịch như thế nào? – JSQuareD
Tại sao nó phải là hình tam giác "tối thiểu"? Không thể bạn chỉ cần khắc ra các ô vuông bên trong? –