LINUX.ORG.RU

CANVAS - Алгоритм разброса звезд на небе

 


0

1

Подскажите алгоритм заполнения canvas прямоуголной области точками звезд

Я попробовал свой написать. Получилось диагональными дорожками. И почему-то соседи приблизительно одинакового размера. Понятно, что из-за того, что получается псевдо случайность.

Но таких готовых алгоритмов должно быть много

Подскажите

★★

Никаких диагональностей.

#!/bin/bash

#Степень заполнения
none=50
dot=2
ast=1
dash=2

all=$(($none + $dot + $ast + $dash))

while true
do
	star=$(($RANDOM%$all))
	if [[ $star -le $dot ]]
	then
		echo -n "."
		continue
	fi
	if [[ $star -le $(($dot + $ast)) ]]
	then
		echo -n "*"
		continue
	fi
	if [[ $star -le $(($dot + $ast + $dash)) ]]
	then
		echo -n "-"
		continue
	fi
	echo -n " "
	
done
Aceler ★★★★★
()
Ответ на: комментарий от javascript

Спасибо! Там есть очень хорошая идея. Вначале создали звезды с равными промежутками между ними. А потом перемешали рандомной функцией.

Мне это в голову не пришло (

А вот мерцание не очень. У меня реально мегабайтные файлы js прорисовываются и рассчитываются за секунды

А там это реализовали через AnimationFrame и оно хромает. Мерцание присутствует из-за атмосферы там где густые тучи. Не по всей площади. Но мне оно и не надо

mirek ★★
() автор топика
Последнее исправление: mirek (всего исправлений: 1)