Создаю пакет текстур высокого разрешения 512x для Майнкрафта. Изображения должно состоять из случайно расположенных пикселей двух цветов. Для этого использую браузер, в котором создаю картинку из однопиксельных div`ов, сгруппированных через float:left.
<?php
echo '<style>
#q{background:#FFF}
#w{background:#000}
#q,#w{float:left;width:1px;height:1px}
</style>';
echo '<div style="width:128px;height:128px">';
for($i=0;$i<(128*128);$i++){
if(0==rand(0,1)){
echo '<div id="q"></div>';
}else{
echo '<div id="w"></div>';
}
}
echo '</div>';
?>
На выходе я хочу получить песочный узор, но возникают последовательности полос одинаковых точек:
Что происходит?
- Мой браузер (Opera 52 64-bit) не правильно рендерит разметку?
- При каких-то условиях у функции rand (PHP 5.2.9) происходит отклонение возможной генерации числа в одну или другую сторону?
- Моё железо (AMD FX-4300) неправильно работает?
- Всё правильно. Так должно быть при случайной генерации.
Математики, просветите!