12:00
Галактическое вращение — Лисья нора
§ Как галактика выглядит
Я искал этот алгоритм годами и найти не мог. Сегодня я смог его найти и немного видоизменил, чтобы красиво выглядело.
§ Исходящий код
SCREEN 13 ' Palette FOR i = 1 TO 63: OUT 968, i: OUT 969, i: OUT 969, i: OUT 969, i: NEXT FOR i = 0 TO 80000 ' Logaritmics distribution s = -LOG(RND(1)) ' Spiro Ellipsis t = s * 200 u = s * 20 * SIN(t) v = s * 25 * COS(t) p = s * 3 ' Precalculate c = COS(p): s = SIN(p) ' Rotate (x,y) to P angle, r-dist x = u * c + v * s y = v * c - u * s r = x * x + y * y ' Bald z = 40 * EXP(-r / 1000) * (RND(1) - .5) x = x + RND(1) * 5 - z * .7 y = y + RND(1) * 5 + z ' Rotation x = x * 1.4 + y * .6 y = x * .2 + y * .8 ' Set x = x + 160 y = y + 100 IF ABS(x) < 320 AND ABS(y) < 200 THEN k = POINT(x, y) + 1 IF k > 63 THEN k = 63 PSET (x, y), k END IF NEXT i