ON ERROR IF ERR=17 CHAIN @lib$+"../examples/tools/touchide" ELSE MODE 7 : PRINT REPORT$ " at line ";ERL : END REM Simple Smith Chart graticule, by Richard Russell, 12-Mar-2012 window% = 640 size = 600 VDU 23,22,window%;window%;8,16,16,128 ORIGIN window%,window% INSTALL @lib$+"aagfxlib" REPEAT READ n r = size/(1+n) PROC_aaarc(size-r, 0, r, r, 0, 360, 1.0, &FF000000, 8) r = size/n IF ABS(size - r) > r THEN a = 90 ELSE a = DEGASN((size - r) / r) PROC_aaarc(size, r, r, r, 90, a + 90, 1.0, &FF000000, 8) PROC_aaarc(size, -r, r, r, 270 - a - 90, a + 90, 1.0, &FF000000, 8) READ n r = size/(1+n) PROC_aasector(size-r, 0, r, r, 0, 360, &FFFFFFFF) r = size/n PROC_aasector(size, r, r, r, 90, 180, &FFFFFFFF) PROC_aasector(size, -r, r, r, 90, 180, &FFFFFFFF) UNTIL n > 1000 r = (size + window% * SQR(2)) / 2 t = (r - size) PROC_aaarc(0, 0, r, r, 0, 360, t, &FFFFFFFF, 0) PROC_aaarc(0, 0, size, size, 0, 360, 1.0, &FF000000, 8) PROC_aaline(-size, 0, size, 0, 1.0, &FF000000, 8) REPEAT WAIT 4 : UNTIL FALSE END DATA 0.05,0.2, 0.15,0.2, 0.1,1.0, 0.3,1.0, 0.5,1.0, 0.7,1.0, 0.9,1.0 DATA 0.2,2.0, 0.4,2.0, 0.6,2.0, 0.8,2.0, 1.2,2.0, 1.4,2.0, 1.6,2.0, 1.8,2.0 DATA 1.0,5.0, 2.0,5.0, 3.0,5.0, 4.0,5.0, 5.0,10.0, 10.0,20.0, 20.0,21.0 DATA 50.0,1000000