【发布时间】:2015-05-15 22:46:12
【问题描述】:
问题描述:
对于一个小型图形程序,我想将任意大小的画布分割成任意数量的图块,而图块应该是二次方的并且尽可能大。 自然会有顶部和底部的边框 - 或 - 在侧面,它们应该留空。
**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
这些方程是否足以确定变量? 这个方程组如何在程序代码中求解和实现?
【问题讨论】:
-
所有图块是否必须具有相同的尺寸或图块尺寸可能因图块而异?第一种情况很简单,第二种情况其实是knapshack问题的变种,需要其他解决方案
标签: math canvas graphics geometry 2d