2012-02-27 12 views
10

Tôi muốn thực hiện một số thí nghiệm về đồ họa máy tính trong Haskell. Điều này sẽ bao gồm thực hiện một số tính toán hình học và cuối cùng là viết một dấu vết tia. Tôi nên chọn thư viện nào để dễ dàng xử lý các vectơ, ma trận và các hoạt động liên quan trên chúng?Thư viện Haskell nào cho hình học đồ họa máy tính?

Có rất ít trên Hackage bao gồm những cái nhìn đẹp như vectAC-Vector, nhưng thật dễ dàng để bỏ lỡ một ứng cử viên tốt trong số rất nhiều thư viện khác nhau.

+0

Đây là một câu hỏi không đáng kể ... Hãy xem Câu hỏi thường gặp về [Loại câu hỏi nào tôi không nên hỏi ở đây?] (Http://stackoverflow.com/faq#dontask). Bạn có lẽ nên loại bỏ câu cuối cùng khỏi câu hỏi của mình để ngăn chặn điều này trở thành một cuộc thảo luận. – cha0site

+0

@ cha0site Xong. Đó là khá mờ với tôi tại sao đây là một trường hợp mặc dù. – Tener

+2

Yêu cầu của bạn có phần mơ hồ, nhưng nó vẫn là một câu hỏi thú vị IMO. – stakx

Trả lời

5

Đối với vectơ và ma trận được sử dụng để biến đổi, vect có lẽ là đặt cược tốt nhất của bạn. Nó được tối ưu hóa cho độ chính xác nhanh, độ chính xác thấp hơn (như độ chính xác Double như trái ngược với Ratio chính xác) như bạn đã mô tả và vai trò của nó là ngăn xếp ma trận trong lambdacube (ví dụ về ứng dụng có hiệu suất là khóa) cho thấy đủ nhanh cho hầu hết các ứng dụng. Ví dụ:

Đối với ma trận dữ liệu - được sử dụng cho hình ảnh - bạn có thể muốn sử dụng repa, đặc biệt khi thực hiện các phép tính song song dữ liệu như dò tia.

2

Có một thư viện thú vị được gọi là vector-space bởi Conal Eliott cho phép bạn tính toán nhẹ nhàng chuỗi Taylor của nhiều chức năng phân tích. Xem thêm here. Tuy nhiên, không chắc chắn về hiệu suất.

+0

Vector-không gian là rất hữu ích cho các loại lớp nó cung cấp mà mở rộng các hệ thống phân cấp Num (nó vẫn còn rất hữu ích mà không có bản đồ tuyến tính và các công cụ tháp phái sinh). Bạn cần phải cung cấp các kiểu dữ liệu Điểm, Vector, v.v. –