我希望创建类似虚拟森林的东西。
我有:
- 固定大小的 div,我希望在其中散布树木
- 随机数量的树(每棵树都是 PNG)
- 中心的小方形 div,应该远离树木
我怎样才能散布树木,使它们:
- 不会互相重叠
- 不会进入中央 div
- 计算它们的大小(css),以便所有树都适合 div
谢谢
根据要求提供更多信息:
- 所有树图像具有相同的尺寸
- 容器 div 的固定尺寸为 500x300 像素
- 小中央 div 的固定尺寸为 30x30 像素
- png 原始分辨率为 60x60 像素
我创建了以下 php 脚本,但它不处理空位置,也不准确地将图像放入 div:
$forest1 = null;
for ($a=1; $a < 201; $a++) {
// width * height (500*280)
$total_area_in_pixels = 140000;
$total_elements = 200;
$area_per_object = $total_area_in_pixels / $total_elements;
$element_height = round (sqrt($area_per_object) / 100 * 70);
$random_margin = rand(0, $element_height / 5);
$tree_type = rand(1,4);
$style = "height: {$element_height}px; margin: {$random_margin}px;";
$forest1 .= "<img src='images/trees/tree{$tree_type}.png' alt='{$a}' title='tree' style='{$style}'>\n";
}