将给定的nr个tile分布在矩形内

时间:2015-05-15 22:46:13

标签: math canvas graphics geometry 2d

问题描述:

对于一个小图形程序,我想在任意数量的图块中分割任意大小的画布,而图块应该是二次的并且尽可能大。 当然,在顶部和底部都会有边界 - 或 - 在侧面,它们应该留空。

**given:**

width
height
tiles_nr

**wanted:**

tile_size
tiles_nr_x
tiles_nr_y

示例:

我的画布为800x600像素。我想在那个区域放置30块瓷砖。 一块瓷砖有多大?而且:瓷砖如何按行和列分布?

到目前为止我的建议:

tile_nr_x * tile_nr_y = tiles_nr
tile_nr_x * tile_size <= width
tile_nr_y * tile_size <= height

这些方程式是否足以确定变量? 如何在程序代码中解决和实现这个方程组?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用树形图。对切​​片进行排序并选择第一个并在树中创建一个节点。在两个轴上拆分树并选择下一个图块并找到最适合的节点。