Bạn có thể lập mô hình này bằng một bộ hình chữ nhật "miễn phí", bắt đầu bằng hình chữ nhật đơn có tọa độ là 0,0, kích thước (x, y). Mỗi lần bạn cần thêm một hình chữ nhật nữa, hãy chọn một hình chữ nhật "miễn phí" còn lại, tạo hình chữ nhật mới (với tọa độ và kích thước trên cùng bên trái) và chia hình chữ nhật đó cũng như bất kỳ chồng chéo nào khác " miễn phí "hình chữ nhật, như vậy trẻ em thể hiện không gian còn lại miễn phí. Điều này sẽ dẫn đến 0 đến 4 hình chữ nhật mới (0 nếu hình chữ nhật mới chính xác là kích thước của hình chữ nhật miễn phí cũ; 4 nếu nó ở giữa và vân vân). Theo thời gian, bạn sẽ nhận được nhiều hơn và nhiều hơn nữa các khu vực miễn phí nhỏ hơn và nhỏ hơn, do đó, hình chữ nhật bạn tạo ra sẽ được nhỏ hơn là tốt.
Ok, không phải là một giải thích rất phức tạp, nó dễ dàng hơn để hiển thị trên bảng trắng. Nhưng mô hình là một trong những tôi được sử dụng cho việc tìm kiếm vị trí bắt đầu cho các thành phần gui cut'n mới được dán; thật dễ dàng để theo dõi các khối màn hình có sẵn và chọn (ví dụ) ở bên trái hoặc trên cùng khu vực đó.
http://gamedev.stackexchange.com/questions/6730/how-to-randomly-place-rectangle-inside-a-larger-bounding-rectangle-without-inter –