Làm thế nào để đóng gói đa giác bên trong một đa giác khác?


20

Tôi đã đặt hàng một vài tấm da mà từ đó tôi muốn xây dựng những quả bóng tung hứng bằng cách khâu các cạnh lại với nhau. Tôi đang sử dụng chất rắn Platonic cho hình dạng của các quả bóng.

Tôi có thể quét các tấm da và tạo ra một đa giác gần bằng hình dạng của tấm da (như bạn biết, đó là da động vật, và nó không có hình chữ nhật).

Vì vậy, bây giờ, tôi muốn tối đa hóa kích thước của quả bóng tung hứng của tôi.

Trong ví dụ của tôi, các đa giác là những hình thường, nhưng tôi đang tìm một giải pháp với các đa giác đơn giản.

Yếu tố tỷ lệ lớn nhất mà tôi có thể áp dụng cho đa giác của mình là gì để tất cả chúng phù hợp bên trong trang tính?

Tôi đang cố gắng giảm thiểu chất thải bằng cách sử dụng càng nhiều vật liệu càng tốt.

Rõ ràng, việc cắt lưới đa diện thành đa giác riêng lẻ sẽ làm tăng không gian kết hợp có thể, nhưng cũng làm giảm chất lượng của hình học cuối cùng, bởi vì có nhiều lỗi liên quan và tích lũy. Nhưng câu hỏi này không phải là về việc liệt kê các cách khác nhau để mở ra một khối đa diện. Họ có thể được xem xét độc lập. Vì vậy, đa giác là đa giác đơn giản.

Chính thức:

Đầu vào:

  • : một đa giác đơn giản (mục tiêu)P
  • S : tập hợp các đa giác tôi muốn đặt
  • n SG : một đồ thị gồm đa giác đơn giản - mỗi nút đại diện cho một đa giác đơn giản trong và có một cạnh cạnh giữa mỗi cặp đa giác có chung một cạnh nS
  • α> =0,β> =0 (cách sử dụng vật liệu và kết nối)

Đầu ra:

  • một yếu tố quy môf
  • GH , một sơ đồ củaG
  • V ( G )Loc : vị trí và góc cho mỗi đa giác trongV(G)
  • thước đo chất lượng của giải pháp:m = α . f + β . | E ( H ) |mm= =α.f+β.|E(H)||E(G)|

Tối đa hóa theo các điều kiện sau:m

  • |V(H)|= =|V(G)| (1)
  • |E(H)|<=|E(G)| (2)
  • với mọi đa giác trong , được chia tỷ lệ theo hệ số tại vị trí nằm trong (3)StôiSStôifLoc(Stôi)P
  • đa giác trong không trùng nhau (4)V(H)

(V (G) là các đỉnh trong biểu đồ và S là tập hợp đa giác, nhưng chúng mô tả cùng một tập hợp các đối tượng. Có lẽ có một cách nhỏ gọn hơn để làm điều này.)

Giải thích về các điều kiện:

  • (1) Tôi muốn tất cả các đa giác nằm trong bố cục cuối cùng
  • (2) Một số kết nối có thể bị hỏng nếu cần thiết
  • (3) (4) quả bóng được làm bằng da

Đây là đa giác đích Tấm da

Đây là bộ đa giác tôi muốn đóng gói: Lưới đa diện


Bạn đang nói về đa giác lồi bạn muốn cắt ra?
A.Schulz

Trong trường hợp của tôi đa giác là thường xuyên, bởi vì chúng là khuôn mặt của chất rắn Platonic. Nhưng đóng gói đa giác đơn giản nên làm việc quá. Tại sao bạn muốn biết nếu đa giác tôi muốn đóng gói là lồi?
alecail

1
Nếu đa giác không lồi, bạn luôn có thể đặt một đa giác không lồi duy nhất bên trong đa giác ban đầu mà không bị cắt. Vì vậy, câu hỏi này sẽ không có ý nghĩa đối với đa giác nói chung.
A.Schulz

Tôi không biết điều này có quan trọng hay không, nhưng là đa giác (da) lồi hay nó cũng có thể bị lõm?
Paresh

4
Ngay cả nhiều vấn đề đơn giản hơn về việc đóng gói số lượng hình vuông tối đa trong một hình vuông cũng trở nên khó khăn (xin lỗi, không có một liên kết tiện dụng, nhưng tình cờ gặp phải một cuộc thảo luận về điều này vài tháng trước). Chỉ cần đưa các đa giác xung quanh bằng tay, có lẽ bạn sẽ không ở quá xa mức tối ưu.
vonbrand

Câu trả lời:


3

Điều này thuộc về một lớp tối ưu hóa các vấn đề được gọi là vấn đề Đóng gói . Trong trường hợp của bạn, thay vì một đa giác thông thường như container, bạn đã có một hình không đều, nhưng ý tưởng vẫn giữ nguyên.
Các vấn đề tối ưu hóa này thường là NP-hard, vì vậy tôi không nghĩ có một cách dễ dàng để có được giải pháp chính xác và thử tất cả các kết hợp sẽ quá tốn kém.
Có một số người quan tâm đến loại vấn đề này; Tôi đã tìm thấy liên kết này của một số vấn đề đóng gói cụ thể đã được giải quyết: http://www2.stetson.edu/~efriedma/packing.html

Cách dễ nhất tôi thấy, là xác định một trung tâm gần đúng của tấm da, để di chuyển tập hợp đa giác đến đó và, bằng cách mở rộng lên xuống và kiểm tra xem tập hợp đa giác có nằm trong đa giác đích hay không, để có được một hệ số tỷ lệ gần hơn và gần hơn 'f' cho tập hợp đa giác mong muốn của bạn.

Nhưng, trừ khi bạn sẽ sử dụng yếu tố này để sản xuất bóng tung hứng quy mô lớn, có lẽ làm bằng tay sẽ là khá đủ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.