Ing. Alejandro A. Hassey (C) 2000-2008 'Ing. Alejandro A. Hassey (C) 1999 : AZTECA8.EAS 'Galeana 201 'Ciudad Mendoza Veracruz C.P. 94740 (272) 17229 escape$ = CHR$(27) KcUENTA = -1 GOSUB RUMBO: pban = 1 GOSUB LlPara END RUMBO: FASE = 0: fffaaa = 0 PI = 3.1415926#: pis = PI / 180 FASE = PI / 2 'fffaaa = pi / 2 cx = 0: cy = 0 RX = 3 + 1 CB = 15: co = 0 CB = 7: co = 15: C77 = c7: C77 = 7 c3 = 3: c7 = 7: c7x = 7: C77 = 0 E = .8: Pfase = PI 'ki = -70: ci = 30 SCREEN 9, 1 WINDOW ((-320 - ki) / E, (240 - ci) / E)-((320 - ki) / E, (-240 - ci) / E) PAINT (0, 0), 15, 15 GOSUB circulos CIRCLE (0, 0), 2, 4 PAINT (0, 0), 4, 4 DIF = 3 + 1 + 4 + 2 CIRCLE (270 - DIF, 150), 12, 0 PAINT (270 - DIF, 150), 10, 0 CIRCLE (270, 125), 12, 0 PAINT (270, 125), 4, 0 CIRCLE (270 - DIF, -150), 12, 0 PAINT (270 - DIF, -150), 0, 0 CIRCLE (270, -125), 12, 0 PAINT (270, -125), 0, 0 feo = 2 REM *** DEFINE RADIO CIRCUNFERENCIAS PARA TIPOGRAFIA CIRCULAR r(1) = 270 r(2) = 230 r(3) = 70 KN3(1) = 3 KN3(2) = 6 KN3(3) = 6 KN3(4) = 3 KN3(5) = 6 C77(1) = 1 C77(2) = 0 C77(3) = 10 FOR JJJ = 1 TO 2 GOSUB graduacion NEXT JJJ GOSUB LlPara BEEP GOSUB LlPara RETURN graduacion: '''CIRCLE (0, 0), 244, 13 CIRCLE (0, 0), .94 * 270, 0 REM *** DEFASAMIENTO ARRANQUE ESCALA Pfase = PI / 2 FOR ANGULO = 0 TO 359 STEP 1 X1 = .93 * r(JJJ) * COS(-ANGULO * pis + Pfase) Y1 = .93 * r(JJJ) * SIN(-ANGULO * pis + Pfase) X2 = .94 * r(JJJ) * COS(-ANGULO * pis + Pfase) Y2 = .94 * r(JJJ) * SIN(-ANGULO * pis + Pfase) LINE (X1, Y1)-(X2, Y2), 4 NEXT ANGULO MMM = MMM + 1 C77 = C77(MMM) FOR ANGULO = 0 TO 359 STEP KN3(MMM) X1 = .9 * r(JJJ) * COS(-ANGULO * pis + Pfase) Y1 = .9 * r(JJJ) * SIN(-ANGULO * pis + Pfase) x33 = .94 * r(JJJ) * COS(-ANGULO * pis + FASE) y33 = .94 * r(JJJ) * SIN(-ANGULO * pis + FASE) X2 = .94 * r(JJJ) * COS(-ANGULO * pis + Pfase) Y2 = .94 * r(JJJ) * SIN(-ANGULO * pis + Pfase) x22 = .99 * r(JJJ) * COS(-ANGULO * pis + FASE) y22 = .99 * r(JJJ) * SIN(-ANGULO * pis + FASE) x3 = .97 * r(JJJ) * COS(-ANGULO * pis + Pfase) y3 = .97 * r(JJJ) * SIN(-ANGULO * pis + Pfase) LINE (X1, Y1)-(X2, Y2), CB IF CUENTA MOD 5 = 0 THEN DA = -2.9: KcUENTA = KcUENTA + 1: GOSUB Pintanumero 'IF cuenta MOD 10 = 0 THEN GOTO 555 IF CUENTA MOD 5 = 0 THEN CIRCLE (X1, Y1), 2, 0: PAINT (X1, Y1), 10, 0: REM LINE (x1, y1)-(x2, y2), 10: 555 : IF ANGULO = 0 THEN CUENTA = 0: KcUENTA = 0 CUENTA = CUENTA + 1 DA = 0 NEXT ANGULO RETURN Pintanumero: rr$ = MID$(STR$(KcUENTA), 2, 3) IF KcUENTA = 24 THEN rr$ = "12" LL = LEN(rr$) FOR ii = 1 TO LL xa$ = MID$(rr$, ii, 1) A$ = xa$ REM DEFINE ARRANQUE NUMEROLOGIA FASE = -PI IF BANDERA = -1 THEN GOTO SALTABANDERA cx = (r(JJJ) - 30 - 10) * COS((-ANGULO - DA - 1.5) * pis + FASE - PI / 2) cy = (r(JJJ) - 30 - 10) * SIN((-ANGULO - DA - 1.5) * pis + FASE - PI / 2) SALTABANDERA: x01R = -RX: y01r = RX x11R = RX: y11r = RX x02R = -RX: y02r = 0 x22R = RX: y22r = 0 x03R = -RX: y03r = -RX x33R = RX: y33r = -RX x04R = RX: y04r = RX x44R = RX: y44r = 0 x05R = RX: y05r = 0 x55R = RX: y55r = -RX x06R = -RX: y06r = -RX x66R = -RX: y66r = 0 x07R = -RX: y07r = 0 x77R = -RX: y77r = RX 'A = angulo * PIS - PI / 2 - 2! * DA * PI / 360 - FASE + FASE + fffaaa A = ANGULO * pis - PI / 2 - 2! * DA * PI / 360 + PI / 2 A = -A x01 = x01R * COS(A) - y01r * SIN(A) + cx y01 = x01R * SIN(A) + y01r * COS(A) + cy x11 = x11R * COS(A) - y11r * SIN(A) + cx y11 = x11R * SIN(A) + y11r * COS(A) + cy x02 = x02R * COS(A) - y02r * SIN(A) + cx y02 = x02R * SIN(A) + y02r * COS(A) + cy x22 = x22R * COS(A) - y22r * SIN(A) + cx y22 = x22R * SIN(A) + y22r * COS(A) + cy x03 = x03R * COS(A) - y03r * SIN(A) + cx y03 = x03R * SIN(A) + y03r * COS(A) + cy x33 = x33R * COS(A) - y33r * SIN(A) + cx y33 = x33R * SIN(A) + y33r * COS(A) + cy x04 = x04R * COS(A) - y04r * SIN(A) + cx y04 = x04R * SIN(A) + y04r * COS(A) + cy x44 = x44R * COS(A) - y44r * SIN(A) + cx y44 = x44R * SIN(A) + y44r * COS(A) + cy x05 = x05R * COS(A) - y05r * SIN(A) + cx y05 = x05R * SIN(A) + y05r * COS(A) + cy x55 = x55R * COS(A) - y55r * SIN(A) + cx y55 = x55R * SIN(A) + y55r * COS(A) + cy x06 = x06R * COS(A) - y06r * SIN(A) + cx y06 = x06R * SIN(A) + y06r * COS(A) + cy x66 = x66R * COS(A) - y66r * SIN(A) + cx y66 = x66R * SIN(A) + y66r * COS(A) + cy x07 = x07R * COS(A) - y07r * SIN(A) + cx y07 = x07R * SIN(A) + y07r * COS(A) + cy x77 = x77R * COS(A) - y77r * SIN(A) + cx y77 = x77R * SIN(A) + y77r * COS(A) + cy L = LEN(A$) FOR yI = 1 TO L x$ = MID$(A$, yI, 1) NUMERO$ = x$ GOSUB NUMERO FOR yJ = 1 TO 7 DIBUJANUMERO$ = MID$(XX$, yJ, 1) GOSUB LlPara GOSUB segmento NEXT yJ dx = dx + 3 * RX NEXT yI cx = cx + dddxxx dx = 0 DA = DA + 5 - 1 - 1 IF BANDERA = -1 THEN DA = 0 NEXT ii RETURN: REM FIN PintaNumero END LlPara: LL1: kk$ = INKEY$ IF kk$ = escape$ THEN CLEAR : END IF kk$ = "`" THEN CLEAR : END IF kk$ = "X" THEN CLEAR : END IF kk$ = "x" THEN CLEAR : END IF kk$ = "P" THEN Pflag = Pflag + 1: pban = (-1) ^ Pflag IF kk$ = "p" THEN Pflag = Pflag + 1: pban = (-1) ^ Pflag IF pban < 0 THEN RETURN IF kk$ = "" THEN GOTO LL1 LL2: RETURN NUMERO: SELECT CASE NUMERO$ CASE "." segmento$ = "." CASE "0" segmento$ = "0134567" CASE "1" segmento$ = "0000045" CASE "2" segmento$ = "0012346" CASE "3" segmento$ = "0012345" CASE "4" segmento$ = "0002457" CASE "5" segmento$ = "0012357" CASE "6" segmento$ = "0123765" CASE "7" segmento$ = "0000145" CASE "8" segmento$ = "1234567" CASE "9" segmento$ = "0123457" END SELECT XX$ = segmento$ RETURN segmento: SELECT CASE DIBUJANUMERO$ CASE "." CIRCLE (x01 - RX / 2, y01 - RX / 2), RX / 2, 15 PAINT (x01 - RX / 2, y01 - RX / 2), 15, 15 CASE "0" CASE "1" LINE (x01 + dx, y01)-(x11 + dx, y11), C77 CASE "2" LINE (x02 + dx, y02)-(x22 + dx, y22), C77 CASE "3" LINE (x03 + dx, y03)-(x33 + dx, y33), C77 CASE "4" LINE (x04 + dx, y04)-(x44 + dx, y44), C77 CASE "5" LINE (x05 + dx, y05)-(x55 + dx, y55), C77 LINE (x05 + 1 + dx, y05)-(x55 + 1 + dx, y55), C77 LINE (x05 + 2 + dx, y05)-(x55 + 2 + dx, y55), C77 LINE (x05 - 1 + dx, y05)-(x55 - 1 + dx, y55), C77 CASE "6" LINE (x06 + dx, y06)-(x66 + dx, y66), C77 CASE "7" LINE (x07 + dx, y07)-(x77 + dx, y77), C77 END SELECT RETURN RETURN circulos: CCX(1) = 120: CCY(1) = 0 CCX(2) = -120: CCY(2) = 0 CCX(3) = 0: CCY(3) = -120 FOR DATOS = 1 TO 3 CIRCLE (CCX(DATOS), CCY(DATOS)), 50, 0 CIRCLE (CCX(DATOS), CCY(DATOS)), 40, 0 CIRCLE (CCX(DATOS), CCY(DATOS)), 2, 0 PAINT (CCX(DATOS), CCY(DATOS)), 0, 0 FOR I = 0 TO 330 STEP 30 AR = I * pis RX2 = 50 * COS(AR): RY2 = 50 * SIN(AR) '''CIRCLE ((CCX(DATOS) + RX2), (CCY(DATOS) + RY2)), 2, 0 '''PAINT ((CCX(DATOS) + RX2), (CCY(DATOS) + RY2)), 10, 0 RX1 = 40 * COS(AR): RY1 = 40 * SIN(AR) '''CIRCLE ((CCX(DATOS) + RX1), (CCY(DATOS) + RY1)), 2, 0 '''PAINT ((CCX(DATOS) + RX1), (CCY(DATOS) + RY1)), 10, 0 LINE (CCX(DATOS) + RX1, CCY(DATOS) + RY1)-(CCX(DATOS) + RX2, CCY(DATOS) + RY2), 0 NEXT I NEXT DATOS '**** aLTURA nUMEROS RX = 3 + 1 RETURN