Lo lascio qui se qualcuno lo vuole provare.
Codice: Seleziona tutto
OPTION ANGLE DEGREES
DIM q(15,16384,2,2)
SUB QUAD(e,t)
SET COLOR e
LET ax = q(e,t,1,1)
LET ay = q(e,t,1,2)
LET bx = q(e,t,2,1)
LET by = q(e,t,2,2)
LET dx = bx-ax
LET dy = by-ay
PLOT AREA: ax, ay; bx, by; bx-dy, by+dx; ax-dy, ay+dx
LET l1 = SQR(dx^2+dy^2)
LET ax = ax-dy
LET ay = ay+dx
LET bx = bx-dy
LET by = by+dx
LET l2 = l1 * COS(g)
LET h = ACOS(dx/l1)
IF by < ay THEN LET h = -h
LET cx = ax + l2 * COS(g+h)
LET cy = ay + l2 * SIN(g+h)
LET q(e+1,2*t-1,1,1) = ax
LET q(e+1,2*t-1,1,2) = ay
LET q(e+1,2*t-1,2,1) = cx
LET q(e+1,2*t-1,2,2) = cy
LET q(e+1,2*t,1,1) = cx
LET q(e+1,2*t,1,2) = cy
LET q(e+1,2*t,2,1) = bx
LET q(e+1,2*t,2,2) = by
END SUB
SET WINDOW 0,10,0,10
INPUT PROMPT "ANGOLO (15-45)": g
IF g < 15 OR g > 45 THEN LET g = 30
LET q(1,1,1,1) = 6
LET q(1,1,1,2) = 2
LET q(1,1,2,1) = 7
LET q(1,1,2,2) = 2
FOR i = 1 TO 14
FOR j = 1 TO 2^(i-1)
CALL quad(i,j)
NEXT J
NEXT I
END
.