'=========================================================================== ' Subject: ANOTHER STAR PLASUM Date: 06-25-98 (05:45) ' Author: Ryan White Code: QB, QBasic, PDS ' Origin: bigfooty@yahoo.com Packet: GRAPHICS.ABC '=========================================================================== 'Ok... yet another star plasum 'By: Ryan White 'Bigfooty@yahoo.com Bigfooty@home.com 'This one is another Bill liked. BTW Bill is the computer operator at work. 'Wait for a while, and when it is in a position that YOU think would be 'neat morphed as a fractal, press space. Then it blurs, then color phases. 'Neato This was made on a pentium 75 with 9 Lan apps open at the time. SCREEN 13 DEFINT A-W CLS DIM c(255, 2), co(255, 2), zr(6) zr(1) = 0: zr(2) = 1.05: zr(3) = 2.1: zr(4) = 3.15: zr(5) = 4.2: zr(6) = 5.25 FOR n = 0 TO 15 c(n, 0) = n * 4: c(n, 1) = n * 4: c(n, 2) = n * 4: c(n + 16, 0) = 63: c(n + 16, 1) = 63 - n * 4: c(n + 16, 2) = 63 - n * 4: c(n + 32, 0) = 63: c(n + 32, 1) = n * 2: c(n + 32, 2) = 0 c(n + 48, 0) = 63: c(n + 48, 1) = n * 2 + 31: c(n + 48, 2) = 0: c(n + 64, 0) = 63 - n * 4: c(n + 64, 1) = 63: c(n + 64, 2) = 0: c(n + 80, 0) = 0: c(n + 80, 1) = 63 - n * 2: c(n + 80, 2) = n * 4 c(n + 96, 0) = 0: c(n + 96, 1) = 32 - n * 2: c(n + 96, 2) = 60: c(n + 112, 0) = n * 3: c(n + 112, 1) = 0: c(n + 112, 2) = 60: c(n + 128, 0) = 45 - n * 3: c(n + 128, 1) = 0: c(n + 128, 2) = 60 c(n + 144, 0) = 0: c(n + 144, 1) = n * 2: c(n + 144, 2) = 60: c(n + 160, 0) = 0: c(n + 160, 1) = 30 + n * 2: c(n + 160, 2) = 60 - n * 4: c(n + 176, 0) = n * 4: c(n + 176, 1) = 63: c(n + 176, 2) = 0 c(n + 192, 0) = 63: c(n + 192, 1) = 60 - n * 2: c(n + 192, 2) = 0: c(n + 208, 0) = 63: c(n + 208, 1) = 30 - n * 2: c(n + 208, 2) = 0: c(n + 224, 0) = 60 - n * 2: c(n + 224, 1) = n * 2: c(n + 224, 2) = n * 2 c(n + 240, 0) = 30 - n * 2: c(n + 240, 1) = 30 - n * 2: c(n + 240, 2) = 30 - n * 2: NEXT n: FOR n = 1 TO 255: OUT &H3C8, n: FOR m = 0 TO 2: OUT &H3C9, c(n, m): NEXT m: NEXT n x = 160: y = 100: xc = 1: yc = 1: c = 1 DO UNTIL INKEY$ <> "" IF yc = 0 THEN y = y + 1 ELSE y = y - 1 IF xc = 0 THEN x = x + 1 ELSE x = x - 1 IF x < 0 THEN xc = 0: x = 0 IF x > 319 THEN xc = 1: x = 319 IF y < 0 THEN yc = 0: y = 0 IF y > 199 THEN yc = 1: y = 199 zz = zz + .1: IF zz > 10 THEN zz = .1 FOR zzz = 1 TO 360 STEP zz z = z + .01: IF z > 255 THEN z = 1 n1 = COS(zzz) * (zzz / 4) n2 = SIN(zzz) * (zzz / 4) LINE (x, y)-(x + n1, y + n2), z LINE (x, 199 - y)-(x + n1, 199 - y + n2), z LINE (319 - x, y)-(319 - x + n1, y + n2), z LINE (319 - x, 199 - y)-(319 - x + n1, 199 - y + n2), z 'FOR d = 0 TO 10000: NEXT d NEXT zzz LOOP '!!!! BLURS FOR g = 1 TO 4 FOR h = 1 TO 99 'this and j will cover one quadrant, which I can use on all FOR j = 1 TO 159 '1st quad k0 = POINT(319 - j, h) k1 = POINT(319 - j - 1, h) k2 = POINT(319 - j, h - 1) k3 = POINT(319 - j, h + 1) k4 = POINT(319 - j + 1, h) '2nd quad b0 = POINT(j, h) b1 = POINT(j - 1, h) b2 = POINT(j, h - 1) b3 = POINT(j, h + 1) b4 = POINT(j + 1, h) '3rd quad l0 = POINT(j, 199 - h) l1 = POINT(j - 1, 199 - h) l2 = POINT(j, 199 - h - 1) l3 = POINT(j, 199 - h + 1) l4 = POINT(j + 1, 199 - h) '4 th quad m0 = POINT(319 - j, 199 - h) m1 = POINT(319 - j - 1, 199 - h) m2 = POINT(319 - j, 199 - h - 1) m3 = POINT(319 - j, 199 - h + 1) m4 = POINT(319 - j + 1, 199 - h) c1 = INT((k0 + k1 + k2 + k3 + k4) / 5) c2 = INT((b0 + b1 + b2 + b3 + b4) / 5) c3 = INT((l0 + l1 + l2 + l3 + l4) / 5) c4 = INT((m0 + m1 + m2 + m3 + m4) / 5) PSET (319 - j, h), c1 PSET (j, h), c2 PSET (j, 199 - h), c3 PSET (319 - j, 199 - h), c4 NEXT j NEXT h NEXT g DO UNTIL INKEY$ <> "" FOR n = 1 TO 255: OUT &H3C7, n: FOR m = 0 TO 2: co(n, m) = INP(&H3C9): NEXT m: NEXT n c(255, 0) = co(1, 0): c(255, 1) = co(1, 1): c(255, 2) = co(1, 2) FOR n = 1 TO 254: FOR m = 0 TO 2: c(n, m) = co(n + 1, m): NEXT m: NEXT n FOR n = 1 TO 255: OUT &H3C8, n: FOR m = 0 TO 2: OUT &H3C9, c(n, m): NEXT m: NEXT n LOOP