2009-11-27 39 views
5

Tôi có một bộ sưu tập các điểm được hiển thị trong một đồ họa:điểm kết nối trong Mathematica

alt text http://img69.imageshack.us/img69/874/plc1k1lrqynuyshgrdegvfy.jpg

Tôi muốn biết nếu có bất kỳ lệnh đó sẽ kết nối chúng tự động dọc theo xx và yy trục. Điều này có thể được hiểu rõ hơn khi nhìn vào hình ảnh sau đây: alt text http://img341.imageshack.us/img341/5926/tr53exnkpeofcuiw40koyks.jpg (Tôi không yêu cầu cách tự thực hiện thuật toán!).

Cảm ơn

+1

Kết nối chúng theo cách nào? Mỗi với mọi? Để tạo lưới? – Rook

+0

Câu hỏi hay. Tôi không đủ cụ thể. –

Trả lời

2

Một số nội dung bạn đang tìm kiếm nằm trong số ComputationalGeometry Package. Cụ thể, ConvexHull sẽ cung cấp cho bạn các điểm bên ngoài được liệt kê theo hướng ngược chiều kim đồng hồ. Tại thời điểm đó bạn có thể sử dụng Line để kết nối chúng với nhau. Các đường dẫn bên trong là một chút phức tạp hơn, và tôi không nghĩ rằng có một trận đấu chính xác. Tuy nhiên, một số DelaunayTriangulation xuất hiện gần nhất. Về cơ bản nó phá vỡ danh sách các điểm của bạn thành các bộ tam giác. Tuy nhiên, tôi không biết một hàm dựng sẵn nào có thể phá vỡ nó thành các hình chữ nhật.

4

Tôi nghi ngờ câu trả lời là không, không có lệnh như vậy. Nó sẽ là thú vị để viết một cái gì đó để làm điều đó mặc dù, tức là, được đưa ra một danh sách các điểm, đầu ra các dòng tương ứng. Tôi đoán rằng đó chỉ là vấn đề:

Đối với mỗi toạ độ x duy nhất, hãy lấy danh sách tọa độ y cho các điểm có toạ độ x đó và thực hiện một đường từ min đến tọa độ y tối đa. Sau đó lặp lại cho các tọa độ y.

Nếu bạn làm như vậy, sẽ thú vị khi đăng bài ở đây dưới dạng tiếp theo. Hoặc nếu bạn muốn đặt câu hỏi đó, tôi chắc chắn bạn sẽ nhận được một số giải pháp tốt đẹp.

4

Tôi bỏ phiếu cho dreeves' suggestion. Nó không sử dụng chức năng "tích hợp sẵn", nhưng nó là một lớp lót bằng cách sử dụng các thông số kỹ thuật và lập trình hàm. Triển khai là:

gridify[pts : {{_?NumericQ, _?NumericQ} ...}] := 
    Map[Line, GatherBy[pts, #]& /@ {First, Last}, {2}] 
+0

Đẹp. Đơn giản và sạch sẽ. – rcollyer

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