Почему rand () не является случайным?

Я хотел поставить случайные точки на изображении (звезды в космосе для небольшого забавного побочного проекта)

У меня есть этот простой сценарий.

<?php
$gd = imagecreatetruecolor(1000, 1000);
$white = imagecolorallocate($gd, 255, 255, 255);

for ($i = 0; $i < 100000; $i++) 
{
    $x = rand(1,1000);
    $y = rand(1,1000);

    imagesetpixel($gd, round($x),round($y), $white);
}

header('Content-Type: image/png');
imagepng($gd);
?>

Имейте в виду, что это только для тестирования, поэтому я положил 100000 вfor цикл, поэтому он показывает шаблон, который я заметил появление. У нас есть 1 миллион пикселей, все еще случайный X и Y вместо этого создает этот шаблон:

Так что это далеко не случайно. Я знаю, что ранд не является случайным, поэтому он не подходит для криптографии. Но я не нахожу информации о том, как это работает и что я должен делать, чтобы избежать подобных шаблонов.

Ответы на вопрос(1)

Ваш ответ на вопрос