Software para graficar funciones en Atari XL/XE
- Chalo_mhz
- expert
- Mensajes: 1107
- Registrado: Dom Feb 18, 2007 6:42 pm
- Reputación: 0
- Ubicación: Maipu, Santiago
- Contactar:
Software para graficar funciones en Atari XL/XE
Apenas aparezcan interesados en el software, subo las rutinas en basic en este mismo post para que cachureen este programita
Re: Software para graficar funciones en Atari XL/XE
Se oye interesante...
- Chalo_mhz
- expert
- Mensajes: 1107
- Registrado: Dom Feb 18, 2007 6:42 pm
- Reputación: 0
- Ubicación: Maipu, Santiago
- Contactar:
Re: Software para graficar funciones en Atari XL/XE
400 GRAPHICS 0
410 REM *** INITIAL CONSTANTS ***
500 X1 = -20 : X2 = 20 : Y1 = 10 : Y2 = 10 : XIN = 1 : YIN = 1
510 LIST 1030
520 PRINT "WINDOW (X1, X2, Y1, Y2)";
530 TRAP 550
540 INPUT X1, X2, Y1, Y2
545 IF X2 - X1 = 0 OR Y2 - Y1 = 0 THEN 520
550 PRINT CHR$(125) ; "INTERVAL (X AXIS, Y AXIS)";
560 TRAP 590
570 INPUT XIN, YIN
580 IF XIN < = 0 OR YIN <= 0 THEN 550
590 GRAPHICS 8 : SETCOLOR 2, 0, 0 : SETCOLOR 1, 0, 10 : COLOR 1 : POKE 752, 1
595 REM *** DRAW AXES ***
600 XTOP = Y2/(Y2 - Y1) * 159
610 IF Y2 < 0 THEN XTOP = 0
620 IF Y1 > 0 THEN XTOP = 159
630 YSIDE = ABS(X1)/(X2 - X1) * 319
640 IF X1 > 0 THEN YSIDE = 0
650 IF X2 < 0 THEN YSIDE = 319
700 PLOT 0, XTOP : DRAWTO 319, XTOP : PLOT YSIDE, 0: DRAWTO YSIDE, 159
710 REM *** DRAW TIC MARKS ***
800 TIC1 = XTOP - 1 * (XTOP > 0) : TIC2 = XTOP + 1 * (XTOP < 159)
810 FX = INT(X2/XIN) * XIN
820 XV = (FX - X1)/(X2 - X1) * 319 : IF XV < 0 THEN 850
830 PLOT XV, TIC1 : DRAWTO XV, TIC2
840 FX = FX - XIN : GOTO 820
850 TIC1 = YSIDE - 1 * (YSIDE > 0) : TIC2 = YSIDE + 1 * (YSIDE < 319)
860 FY = INT(Y2/YIN) * YIN
870 YV = (Y2 - FY)/(Y2 - Y1) * 159 : IF YV > 159 THEN 1000
880 PLOT TIC1, YV : DRAWTO TIC2, YV
890 FY = FY - YIN : GOTO 870
900 REM *** GRAPH FUNCTION ***
1000 PRINT CHR$(125) : LIST 1030
1005 TRAP 2000
1010 C = 0 : FLAG = 1
1020 FOR X = X1 TO X2 STEP (X2 - X1)/319
1030 FUNCTION = SIN(X)
1040 IF FLAG THEN PLOT C, (Y2 - FUNCTI0N)/(Y2 - Y1) * 159 : FLAG = 0 : GOTO 1060
1050 DRAWTO C, (Y2 - FUNCTION)/( Y2 - Y1) * 159
1060 C = C + 1
1070 NEXT X
1080 POKE 752, 0 : GOTO 520
1090 REM *** ERROR HANDLER ***
2000 TRAP 2000 : FLAG = 1
2010 GOTO 1060
PD: para ingresar la funcion, editar la linea 1030, ojala les guste, al menos a mi si!
PD2: Este software se llama "Graph it!", les dejo a los verdaderos retrogamers esta exclusividad, chipa atarox tu eres el unico creo que lo viste graficar la funcion f=sin(x)
410 REM *** INITIAL CONSTANTS ***
500 X1 = -20 : X2 = 20 : Y1 = 10 : Y2 = 10 : XIN = 1 : YIN = 1
510 LIST 1030
520 PRINT "WINDOW (X1, X2, Y1, Y2)";
530 TRAP 550
540 INPUT X1, X2, Y1, Y2
545 IF X2 - X1 = 0 OR Y2 - Y1 = 0 THEN 520
550 PRINT CHR$(125) ; "INTERVAL (X AXIS, Y AXIS)";
560 TRAP 590
570 INPUT XIN, YIN
580 IF XIN < = 0 OR YIN <= 0 THEN 550
590 GRAPHICS 8 : SETCOLOR 2, 0, 0 : SETCOLOR 1, 0, 10 : COLOR 1 : POKE 752, 1
595 REM *** DRAW AXES ***
600 XTOP = Y2/(Y2 - Y1) * 159
610 IF Y2 < 0 THEN XTOP = 0
620 IF Y1 > 0 THEN XTOP = 159
630 YSIDE = ABS(X1)/(X2 - X1) * 319
640 IF X1 > 0 THEN YSIDE = 0
650 IF X2 < 0 THEN YSIDE = 319
700 PLOT 0, XTOP : DRAWTO 319, XTOP : PLOT YSIDE, 0: DRAWTO YSIDE, 159
710 REM *** DRAW TIC MARKS ***
800 TIC1 = XTOP - 1 * (XTOP > 0) : TIC2 = XTOP + 1 * (XTOP < 159)
810 FX = INT(X2/XIN) * XIN
820 XV = (FX - X1)/(X2 - X1) * 319 : IF XV < 0 THEN 850
830 PLOT XV, TIC1 : DRAWTO XV, TIC2
840 FX = FX - XIN : GOTO 820
850 TIC1 = YSIDE - 1 * (YSIDE > 0) : TIC2 = YSIDE + 1 * (YSIDE < 319)
860 FY = INT(Y2/YIN) * YIN
870 YV = (Y2 - FY)/(Y2 - Y1) * 159 : IF YV > 159 THEN 1000
880 PLOT TIC1, YV : DRAWTO TIC2, YV
890 FY = FY - YIN : GOTO 870
900 REM *** GRAPH FUNCTION ***
1000 PRINT CHR$(125) : LIST 1030
1005 TRAP 2000
1010 C = 0 : FLAG = 1
1020 FOR X = X1 TO X2 STEP (X2 - X1)/319
1030 FUNCTION = SIN(X)
1040 IF FLAG THEN PLOT C, (Y2 - FUNCTI0N)/(Y2 - Y1) * 159 : FLAG = 0 : GOTO 1060
1050 DRAWTO C, (Y2 - FUNCTION)/( Y2 - Y1) * 159
1060 C = C + 1
1070 NEXT X
1080 POKE 752, 0 : GOTO 520
1090 REM *** ERROR HANDLER ***
2000 TRAP 2000 : FLAG = 1
2010 GOTO 1060
PD: para ingresar la funcion, editar la linea 1030, ojala les guste, al menos a mi si!
PD2: Este software se llama "Graph it!", les dejo a los verdaderos retrogamers esta exclusividad, chipa atarox tu eres el unico creo que lo viste graficar la funcion f=sin(x)
Re: Software para graficar funciones en Atari XL/XE
Genial el programa!!
Aclaro algunas cosas.
Si desean usar los valores por defecto, en la línea 500, Y1 debería ser =-10
Y lo obvio por si a alguien no le resulta:
Línea 580 sin espacio entre "<" y "="
Línea 1040 es FUNCTION, no FUNCTI0N
Aclaro algunas cosas.
Si desean usar los valores por defecto, en la línea 500, Y1 debería ser =-10
Y lo obvio por si a alguien no le resulta:
Línea 580 sin espacio entre "<" y "="
Línea 1040 es FUNCTION, no FUNCTI0N
- Manuelink64
- expert
- Mensajes: 3585
- Registrado: Sab Feb 28, 2009 11:10 pm
- Reputación: 0
- Ubicación: La Serena...por ahora
Re: Software para graficar funciones en Atari XL/XE
tremenda paja quien diseño este software.
pongan algunas capturas para ver como funciona.
Saludos!
pongan algunas capturas para ver como funciona.
Saludos!
Re: Software para graficar funciones en Atari XL/XE
Estuve investigando más este programa en Internet y su creador sugiere también probar esto:
1030 function=peek(53279)
Para luego presionar Start, Select u Option. (una verdadera tontera).
Imagino que todos conocen la función de Altirra "paste". O sea, seleccionen el texto del programa que puso Chalo_mhz, luego Edición-> copiar y luego en Altirra ->view ->paste text.
1030 function=peek(53279)
Para luego presionar Start, Select u Option. (una verdadera tontera).
Imagino que todos conocen la función de Altirra "paste". O sea, seleccionen el texto del programa que puso Chalo_mhz, luego Edición-> copiar y luego en Altirra ->view ->paste text.
Re: Software para graficar funciones en Atari XL/XE
Jua, ja, ja... Pero me llama la atención que las líneas modificables tengan una numeración rebuscada, por qué no dejarla simplemente en la 1000.Suppawer escribió:Estuve investigando más este programa en Internet y su creador sugiere también probar esto:
1030 function=peek(53279)
Para luego presionar Start, Select u Option. (una verdadera tontera).
Suppawer escribió:Imagino que todos conocen la función de Altirra "paste". O sea, seleccionen el texto del programa que puso Chalo_mhz, luego Edición-> copiar y luego en Altirra ->view ->paste text.
Esa estuvo güena!!! Gracias por el dato.
- Chalo_mhz
- expert
- Mensajes: 1107
- Registrado: Dom Feb 18, 2007 6:42 pm
- Reputación: 0
- Ubicación: Maipu, Santiago
- Contactar:
Re: Software para graficar funciones en Atari XL/XE
Supongo q es porque el programa puede estar susceptible a modificaciones (insertar o eliminar lineas), y q por lo mismo las lineas van de 10 en 10, y no de 1 en 1, tomando en cuenta esto, tu mismo podrias hacer el acomodo y dejar en la linea 1000 el ingreso de la funcion por ejemplovitoco escribió:Jua, ja, ja... Pero me llama la atención que las líneas modificables tengan una numeración rebuscada, por qué no dejarla simplemente en la 1000.Suppawer escribió:Estuve investigando más este programa en Internet y su creador sugiere también probar esto:
1030 function=peek(53279)
Para luego presionar Start, Select u Option. (una verdadera tontera).
Re: Software para graficar funciones en Atari XL/XE
Si miras la numeración de ese programa, es bien desordenada. Si fuera mío, el programa partiría de 100 y no pasaría de 999. Además tendría el ciclo de ploteo al comienzo y todo lo demás después. Así, algo debiera mejorar en velocidad... dejando menos tiempo para jugar con el peek(53279)Chalo_mhz escribió:tu mismo podrias hacer el acomodo y dejar en la linea 1000 el ingreso de la funcion por ejemplo
- ZZT
- Site Admin
- Mensajes: 10895
- Registrado: Mar Nov 07, 2006 2:45 pm
- Reputación: 8
- Ubicación: La Florida-Santiago-Chile
- Contactar:
Re: Software para graficar funciones en Atari XL/XE
Yo no soy quisquillozo. He hecho muchos programas, ordeanados y desordenados, la cosa es que mientras se entiendan y funcionen... tudo bem.
PD: de todas formas, al tener un programa depurado, es conveniente renumerar. En Basic normal es paja, pq hay que hacerlo a mano linea por linea, pero es cosa de cargar Turbo basic y escribir:
RENUM linea de inicio, linea nueva, de cuanto en cuanto
osea.
si en el programa la primera línea es la 1000 y queremos que sea desde la 10, de uno en uno:
RENUM 1000,10,1
asi quedará:
10
11
12
13
bien ordenadito.
PD: de todas formas, al tener un programa depurado, es conveniente renumerar. En Basic normal es paja, pq hay que hacerlo a mano linea por linea, pero es cosa de cargar Turbo basic y escribir:
RENUM linea de inicio, linea nueva, de cuanto en cuanto
osea.
si en el programa la primera línea es la 1000 y queremos que sea desde la 10, de uno en uno:
RENUM 1000,10,1
asi quedará:
10
11
12
13
bien ordenadito.
- Chalo_mhz
- expert
- Mensajes: 1107
- Registrado: Dom Feb 18, 2007 6:42 pm
- Reputación: 0
- Ubicación: Maipu, Santiago
- Contactar:
Re: Software para graficar funciones en Atari XL/XE
Pero ese "desorden" influye en el rendimiento del programa en ejecucion??ZZT escribió:Yo no soy quisquillozo. He hecho muchos programas, ordeanados y desordenados, la cosa es que mientras se entiendan y funcionen... tudo bem.
(Estamos hablando en este caso de un programa de graficacion, y cualquier depuracion en el rendimiento se va a notar bastante en la velocidad de trazado del ploteo)
Re: Software para graficar funciones en Atari XL/XE
Que los números estén "ordenados" no afecta el rendimiento en ATARI BASIC. Lo que sí afecta son otras cosillas que no te las dicen en ningún lado.Chalo_mhz escribió:Pero ese "desorden" influye en el rendimiento del programa en ejecucion??
Por ejemplo, en un GOTO, el puntero que indica en qué línea va tiene que ser movido a la posición de memoria de la nueva línea, y ésta tiene que ser buscada desde el inicio del listado. Mientras más cerca del comienzo estén las rutinas intensivas en ciclos, más rápido las encuentra, disminuyendo el overhead introducido por BASIC para su pega "administrativa".
Por lo tanto, en este caso lo que recomiendo es poner todas las rutinas de inicialización al final, los menús en la mitad, y los ciclos al comienzo.
Re: Software para graficar funciones en Atari XL/XE
Exacto. Además, programar con número de líneas es sumamente tedioso y poco práctico. Eso se hizo como "solución" ante cómo distinguir las instrucciones en modo inmediato (ejecutar de una ya sea una instrucción o conjunto de instrucciones) versus las instrucciones de programa almacenados para una ejecución posterior. Además, no genera ningún incentivo para programar de manera estructurada.vitoco escribió:Que los números estén "ordenados" no afecta el rendimiento en ATARI BASIC. Lo que sí afecta son otras cosillas que no te las dicen en ningún lado.Chalo_mhz escribió:Pero ese "desorden" influye en el rendimiento del programa en ejecucion??
Por ejemplo, en un GOTO, el puntero que indica en qué línea va tiene que ser movido a la posición de memoria de la nueva línea, y ésta tiene que ser buscada desde el inicio del listado. Mientras más cerca del comienzo estén las rutinas intensivas en ciclos, más rápido las encuentra, disminuyendo el overhead introducido por BASIC para su pega "administrativa".
Por lo tanto, en este caso lo que recomiendo es poner todas las rutinas de inicialización al final, los menús en la mitad, y los ciclos al comienzo.
-
- Similar Topics
- Respuestas
- Vistas
- Último mensaje
-
- 0 Respuestas
- 1333 Vistas
-
Último mensaje por Ramogue
-
- 7 Respuestas
- 1356 Vistas
-
Último mensaje por BonesCollector
-
- 0 Respuestas
- 1229 Vistas
-
Último mensaje por BonesCollector