2011-01-19 64 views
14

Tôi thực sự đánh giá cao nếu một người nào đó từng xử lý thuật toán của Fortune để tạo ra các tam giác Delauney đã cho tôi một mã giả của thuật toán khá thấp! Tôi đọc một trên wikipedia nhưng nó là một chút bối rối và trông cao cấp, và bất kỳ đoạn mã tôi có thể tìm thấy có những ban đầu của C thực hiện inconvniences.Mã giả cho thuật toán của Fortune

Tôi muốn thực hiện nó trong C++, nhưng theo cách mà đầu ra được tạo ra ở dạng (lớp của riêng tôi), tôi sẽ sử dụng (đỉnh, cạnh và hình tam giác làm đối tượng). Vì vậy, tôi cần phải hiểu tất cả mọi thứ và inmplement nó từ đầu.

Tôi cũng đọc mô tả thuật toán và tôi biết nó hoạt động như thế nào, nhưng điều này vẫn còn trừu tượng đối với tôi ngay bây giờ. Tuy nhiên, tôi cũng sẽ hài lòng với một mô tả tương tự đi vào chi tiết (thực hiện), nó không phải là mã giống như!

Cảm ơn bạn trước,

Vincent

+1

Có lý do chính đáng để không sử dụng CGAL không? Delaunay triangulation là rất rất phức tạp để có được quyền: các lỗi roundoff bạn đang bị ràng buộc để gặp phải sẽ làm hỏng bất kỳ thực hiện mà không sử dụng số học chính xác thích ứng. –

+0

Lý do duy nhất là tôi đã không bao giờ nghe nói về nó trước đây :) Điều này thực sự trông rất hứa hẹn, ngoài giấy phép thương mại cho sử dụng thương mại, nhưng tôi đoán đó là OK. Tôi sẽ chơi xung quanh với nó một chút để xem liệu nó có phù hợp với nhu cầu của tôi không, nhưng nếu không có ai xuất hiện với một mã giả tốt đẹp và nó thực sự khó thực hiện, bạn có thể muốn lặp lại điều này như một câu trả lời mà tôi có thể đánh dấu là tốt nhất ! – Vincent

Trả lời

22

nó đã cho tôi khoảng một tháng để hoàn toàn hiểu được thuật toán của tạp chí Fortune, tôi đã viết tác phẩm trường hội thảo của tôi về nó. Khi bạn nhận được nó, có vẻ như rất dễ dàng :)

Đây là số description of Fortune's algorithm của tôi, với mã giả và chi tiết triển khai bắt buộc.

+0

Cảm ơn bạn rất nhiều, điều này có vẻ chính xác như những gì tôi đang tìm kiếm! Tôi sẽ xem xét kỹ hơn, nhưng tôi tin rằng đây là nó, vì vậy tôi sẽ đánh dấu nó như là một câu trả lời :) – Vincent

Các vấn đề liên quan