I can't seem to get into my programming at the moment, I don't seem to be having any good ideas.. I did this strange looking thing tonight, I have been drinking so I apologise.
OPTION STATIC
OPTION EXPLICIT
CONST XRES = 800
CONST YRES = 600
DIM SHARED AS INTEGER HALFX = (XRES/2)
DIM SHARED AS INTEGER HALFY = (YRES/2)
#INCLUDE "TINYPTC_EXT.BI"
#INCLUDE "WINDOWS.BI"
DIM SHARED AS DOUBLE GAP =2
DIM SHARED AS INTEGER RES = 10
DIM SHARED AS DOUBLE SIZE = 10000
DIM SHARED AS DOUBLE MOVE = 0
DIM SHARED AS DOUBLE XX( RES * 4)
DIM SHARED AS DOUBLE YY( RES * 4)
DIM SHARED AS DOUBLE XPOS,YPOS
DIM SHARED AS INTEGER XTARG,YTARG
XTARG=0
YTARG=0
XPOS=0
YPOS=0
DIM SHARED AS UINTEGER BUFFER ( XRES * YRES )
DECLARE SUB MAKE_GRID()
DECLARE SUB DRAW_WAFFLE(BYVAL W_SIZE AS DOUBLE)
DECLARE SUB EDGE(BYVAL X1 AS INTEGER , BYVAL Y1 AS INTEGER , BYVAL X2 AS INTEGER , BYVAL Y2 AS INTEGER , BYVAL LR AS INTEGER, BYVAL LG AS INTEGER, BYVAL LB AS INTEGER)
DECLARE SUB DRAW_STACK()
PTC_ALLOWCLOSE(0)
PTC_SETDIALOG(0,"",0,0)
IF (PTC_OPEN("<( - DBF - )>",XRES,YRES)=0) THEN
END-1
END IF
'
MAKE_GRID()
WHILE(GETASYNCKEYSTATE(VK_ESCAPE)<>-32767)
DRAW_STACK()
' DRAW_WAFFLE(30+10*SIN(timer*3))
PTC_UPDATE@BUFFER(0)
ERASE BUFFER
WEND
SUB DRAW_STACK()
DIM X AS INTEGER
DIM CUNT AS DOUBLE
CUNT=.001+(GAP*10)
MOVE=MOVE+.025
XPOS=XPOS+((XTARG-XPOS)/28)
YPOS=YPOS+((YTARG-YPOS)/28)
IF MOVE>GAP THEN
MOVE=MOVE-GAP
XTARG= ((RND(1)-.5))*5100
YTARG= ((RND(1)-.5))*5100
END IF
FOR X=10 TO 1 STEP-1
DRAW_WAFFLE(CUNT-MOVE)
CUNT=CUNT-GAP
NEXT
END SUB
SUB EDGE(BYVAL X1 AS INTEGER , BYVAL Y1 AS INTEGER , BYVAL X2 AS INTEGER , BYVAL Y2 AS INTEGER , BYVAL LR AS INTEGER, BYVAL LG AS INTEGER, BYVAL LB AS INTEGER)
'-------------------------------------------------------------------------------
'
' THIS LINE ROUTINE IS NOT VERY FAST BUT IT WORKS. THANKS TETRA.
' USAGE:
' EDGE ( X1 , Y1 , X2 , Y2 , R , G , B )
'
'-------------------------------------------------------------------------------
DIM xdistance AS DOUBLE
DIM ydistance AS DOUBLE
DIM TC AS INTEGER
DIM i AS INTEGER
DIM h2 AS INTEGER
DIM StartX AS DOUBLE
DIM StartY AS DOUBLE
DIM XRatio AS DOUBLE
DIM YRatio AS DOUBLE
TC = RGB ( LR,LG,LB )
xdistance = X2 - X1
ydistance = Y2 - Y1
h2 = sqr( xdistance * xdistance + ydistance * ydistance )
StartX = X1
StartY = Y1
XRatio = xdistance * ( 1.0 / h2 )
YRatio = ydistance * ( 1.0 / h2 )
for i = 0 to h2
IF STARTX>0 AND STARTY>0 AND STARTX<XRES AND STARTY<YRES THEN
BUFFER ( INT(StartX) + (INT(StartY) * XRES ) ) = TC
END IF
StartX = StartX + XRatio
StartY = StartY + YRatio
next i
END SUB
SUB DRAW_WAFFLE(BYVAL W_SIZE AS DOUBLE)
DIM AS INTEGER X,TX1,TY1,TX2,TY2,SV
SV = 255/W_SIZE
IF SV>255 THEN SV=255
FOR X=0 TO RES-1
TX1 = ((XX(X)+XPOS) / W_SIZE)+HALFX
TY1 = ((YY(X)+YPOS) / W_SIZE)+HALFY
TX2 = ((XX(X+RES)+XPOS) / W_SIZE)+HALFX
TY2 = ((YY(X+RES)+YPOS) / W_SIZE)+HALFY
IF TY1<0 THEN TY1=0
IF TY1>YRES THEN TY1=YRES
IF TY2<0 THEN TY2=0
IF TY2>YRES THEN TY2=YRES
IF TX1<0 THEN TX1=0
IF TX1>XRES THEN TX1=XRES
IF TX2<0 THEN TX2=0
IF TX2>XRES THEN TX2=XRES
EDGE (TX1,TY1,TX2,TY2,SV,SV,SV)
NEXT
FOR X=0 TO RES-1
TX1 = ((XX(X+RES+RES)+XPOS) / W_SIZE)+HALFX
TY1 = ((YY(X+RES+RES)+YPOS) / W_SIZE)+HALFY
TX2 = ((XX(X+RES+RES+RES)+XPOS) / W_SIZE)+HALFX
TY2 = ((YY(X+RES+RES+RES)+YPOS) / W_SIZE)+HALFY
IF TY1<0 THEN TY1=0
IF TY1>YRES THEN TY1=YRES
IF TY2<0 THEN TY2=0
IF TY2>YRES THEN TY2=YRES
IF TX1<0 THEN TX1=0
IF TX1>XRES THEN TX1=XRES
IF TX2<0 THEN TX2=0
IF TX2>XRES THEN TX2=XRES
EDGE (TX1,TY1,TX2,TY2,SV,SV,SV)
NEXT
END SUB
SUB MAKE_GRID()
DIM AS INTEGER X
DIM AS DOUBLE INTR
DIM AS DOUBLE STRT
DIM AS DOUBLE ACTUAL
INTR = (SIZE / (RES-1))
STRT = (-(SIZE/ 2))
ACTUAL = STRT
' CALCULATE GRID
FOR X=0 TO RES-1
XX(X) = ACTUAL
YY(X) = STRT
XX(X+RES) = ACTUAL
YY(X+RES) = -STRT
YY(X+RES+RES) = ACTUAL
XX(X+RES+RES) = STRT
YY(X+RES+RES+RES) = ACTUAL
XX(X+RES+RES+RES) = -STRT
ACTUAL = ACTUAL + INTR
NEXT
END SUB
Come on, you must have had mental blocks too?

In my mind this idea looked so cool too.. It just doesn't work.