Está en la página 1de 84

INTRODUCCION A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

MIGUEL SOLARES RIACHI


Profesor del Instituto Politcnico Nacional En La E.S.I.M.E. Plantel Azcapotzalco

AGRADECIMIENTOS

Mi ms sincero agradecimiento para mi Alma Mater el Instituto Politcnico Nacional, Institucin rectora de la enseanza tecnolgica en nuestro pas, a travs de la cual me he formado y me ha permitido ser formador tambin, de ya muchas generaciones en las asignaturas de Programacin y de Mtodos Numricos. Sea pues el principal reconocimiento sobre la presente Obra para el Instituto Politcnico Nacional, forjador de profesionistas de alta calidad y reconociento mundial, en todas las ramas educativas, de acuerdo a sus Planes y Programas de Estudio, poniendo la Tcnica al Servicio de la Patria. Miguel Solares Riachi

INTRODUCCION A LAS GRAFICAS POR COMPUTADORA............................................................9 I). FUNDAMENTALES O DE CONFIGURACIN........15

SCREEN......................... 15 PMODE.......................... 17 COLOR.......................... 18 PAINT.......................... 19


II). PUNTOS, LINEAS, CUADROS, CIRCULOS, .......23

PSET........................... 23 PRESET......................... 24 LINE........................... 25 CIRCLE......................... 27 DRAW........................... 29 SET............................ 32 RESET.......................... 33


III). DE ANIMACIN. ....................................................35

GET............................ 36 PUT............................ 37 PCLEAR......................... 41 PCLS........................... 42 PCOPY.......................... 43


V). PRXIMOS. ...........................................................45

VIEW........................... 50 WINDOW......................... 51
VI). APLICACIONES.....................................................53 BIBLIOGRAFIA ............................................................88

INDICACIONES

La simbologa usada para expresar la sintaxis de las instrucciones es la siguiente:

[]

Corchetes. - Indica que el elemento encerrado entre ellos, es opcional y que por lo tanto se puede omitir; con lo que la Instruccin o Comando asumir los valores que tiene asignados por omisin de especificaciones. Parntesis Angulares.- El o los elementos especificados entre ellos, deben ser provistos por el usuario de acuerdo con las especificaciones Y reglas de uso de la Instruccin de que se trate. Llaves.- Indica la posibilidad de seleccionar algu-no de los elementos que se listan en columna dentro de la llave. Elipsis.- Se pone en lugar de uno o mas elementos que se pueden emitir por ser repetitivos y cuyo sentido o significado se sobreentienden. Diagonal Ascendente.- Separador usado en los comandos para la especificacin de Parmetros (el cmo). Separador requerido en ciertas instrucciones por su sintaxis. Separador de una lista de elementos.

< >

{}

INTRODUCCIN

INTRODUCCION A LAS GRAFICAS POR COMPUTADORA

Como se sabe una imagen dice ms que mil palabras, por ello muchas veces es conveniente dar la representacin de Datos en forma Grfica, lo que nos puede dar un panorama general inmediato de las Magnitudes y/o representaciones del comportamiento de los Datos, en una sola mirada. El trmino grficas es un nombre que se ha dado a la produccin de imgenes sintticas para las ms diversas reas del saber humano, como son las educativas, tcnicas, mdicas, de negocios, cientficas e inclusive de entretenimiento. De las diferentes aplicaciones mencionadas anteriormente se inferir la importancia que tiene el conocer o dominar el diseo y la generacin de las diversas grficas que se requerirn, segn corresponda. Por otro lado, el conocimiento que hay para el tratamiento de Grficas es muy basto y especializado por lo que un solo texto no podra abarcar la totalidad. Se tendra uno quizs para, conocer el Hardware disponible que soportan usos grficos, como los seran los dispositivos de entrada grfica divididos en analgicos y digitales, entre los que se encuentran el teclado, la pluma luminosa, el tablero magntico (digitales), el ratn, la palanca de juegos, el mando de bastn (analgicos), etc.; otro ms con la teora correspondiente al manejo de las seales analgicas y digitales, y quiz otro ms sobre el Software disponible para el tratamiento de grficas que van desde Las instrucciones de graficacin propias de algn

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

10

lenguaje de programacin, paquetes graficadores, Hojas de Clculo Electrnicas que incluyen graficacin, paquetes tipo CAD (diseo asistido por computadora como el AUTO CAD), o paquetes muy especializados para el proceso digital de imgenes (VICAR). Asimismo depender del enfoque o profundidad con el que se quiera tocar el tema, ya que como afirman Plastok y Kelly: El estudio de grficas por computadora requiere del conocimiento de la mquina y de la tecnologa disponible de exhibicin, as como una base slida de geometra analtica bi y tridimensional, incluyendo operaciones matriciales, el manejo de Estructuras de Datos y la capacidad para elaborar los diferentes Algoritmos a que haya necesidad1. Sin embargo, nosotros solo tocaremos un tema introductorio enfocado hacia el conocimiento, descripcin y aplicacin de las Instrucciones grficas que tiene el Lenguaje Basic para plataformas personales. Profundizar en este tema ser cuestin de otro libro en el que se vean con ms profundidad estos temas e inclusive otros ms. Siendo as, entremos en materia con nuestro tema.

***** Las computadoras estn dotadas de un conjunto de caracteres de graficacin a los que podemos tener acceso mediante la funcin CHR$". Al uso de esta forma de graficacin se le denomina: Graficacin en Lnea o en Modo Texto. Hay otra forma de graficacin que se realiza mediante instrucciones especiales como son: "CIRCLE, DRAW,
1 Grficas por Computadora; Roy Plastok & Gordon Kaelly; Shawm, Mc. Graw Hill, 1987; Prefacio.

INTRODUCCIN

11

LINE, etc., a travs de los cuales podemos dibujar Elipses, Circunferencias, Arcos, Cuadrados, Rectngulos, hacer Trazos Rectos, o bien, dar la representacin Grfica de una Funcin Matemtica. Para poder utilizar estas Instrucciones o para que puedan aplicarse, se debe activar la Funcin Grfica del Monitor, as coma la de su Interfase. Los monitores tienen dos formas de operacin: una denominada Modo de Texto y la otra, Modo Grfico. El Modo de Texto, es el funcionamiento que tienen los Monitores por omisin, a travs del cual trabajamos para elaborar un programa y ejecutarlo. Para trabajar en Modo Grfico, hay que solicitarlo a travs de la instruccin "SCREEN, la que habilita la funcin Grfica del Monitor. Cuando estamos trabajando en Modo Grfico tenemos la posibilidad de usar tres tipos de resolucin: Baja, Media y Alta resolucin. El trmino, resolucin se refiere a la calidad de las Imgenes que podemos representar a travs de la cantidad de puntos (pixeles) seleccionada para representar una determinada grfica en el monitor. La distribucin de estos puntos es desde el Angulo Superior Izquierdo del Monitor, hasta el Angulo Inferior Derecho, con avances, en su posicin, hacia la derecha y hacia abajo.

La cantidad de puntos, (pixeles, tcnicamente hablando), varia de equipo a equipo; as por ejemplo, en los desaparecidos equipos MicroSep se utilizaba PMODE, y para las PCs se utiliza la instruccin SCREEN. El Color en modo grfico, vara de acuerdo a la Resolucin con la que se est trabajando y, nuevamente,

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

12

del equipo. La relacin que hay entre la Resolucin y los Colores disponibles, en MicroSep, es la siguiente: MODO COLORES COMBINACIONES: 0 0/1 NEGRO-VERDE/NEGRO-BLANCO 1 0/1 VER-AM-AZ-RO/BLC-AZ-MAG-NAR 2 0/1 NEGRO-VERDE/NEGRO-BLANCO 3 0/1 VER-AM-AZ-RO/BLC-AZ-MAG-NAR 4 0/1 NEGRO-VERDE/NEGRO-BLANCO Como se notar, los Modos 0,2 y 4, solo tienen 2 posibilidades de contraste, el Negro con Verde o bien con Blanco. En los Modos 1 y 3, baja y media resolucin, respectivamente, podemos combinar hasta cuatro colores, segn el grupo de colores definido (0 1) a travs de la Instruccin SCREEN. Los colores de fondo para las PC's son 16 y los de frente o de primer plano, son 6, divididos en dos grupos de 3: 0 = negro l = azul 2 = verde 3 = azulado 4 = rojo 5 = magenta 6 = caf 7 = blanco 8 = gris del 9 al 13 se repiten los colores del 1 al 5 solo que en colores brillantes. 14 = amarillo I5 = blanco intenso

GRUPO 0 GAMA (paleta) 1 0 1 = verde 1 = azulado (cyan) 2 = rojo 2 = magenta 3 = caf 3 = blanco

INTRODUCCIN

13

Cabe mencionar que esta forma de operar de la Instruccin SCREEN para seleccionar el grupo de colores, difiere de como lo hace en otro equipos, as por ejemplo en las computadoras compatibles con IBM, en modo de texto, si su segundo parmetro (el de color), se define como 0 se deshabilitar el color, s se define como 1, lo habilitar; en modo grfico de media resolucin es al revs: un 0 habilitar el color y el 1 lo deshabilitar. El Color, en modo grfico, para los planos del Frente y del Fondo (para las letras o trazos sobre el color de fondo de la pantalla), se fijan a travs de la Instruccin COLOR. Estas tres instrucciones son bsicas para la ambientacin requerida del modo grfico: SCREEN, para pasar del modo de texto al grfico y viceversa, definiendo el grupo de colores con los que trabajaremos; PMODE, para especificar el tipo de resolucin que requerimos (para la calidad de las imgenes), definiendo en que pgina de memoria para grficas se va a trabajar (solamente aplicable para ciertos equipos como los mencionados de MicroSep) y, COLOR para fijar los colores de frente y de fondo en la pantalla. A continuacin desglosaremos las Instrucciones que tiene el Lenguaje Basic, que se ejecuta en procesadores Intel instalado en las computadoras personales compatibles con IBM (PCs),

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

14

Se recomienda utilizar las versiones de BASICA o GWBASIC ya que la de Turbo Basic muestra ciertas incompatibilidades. Puede bajar stas versiones de la WEB, son gratuita. Se mostrar la sintaxis equivalente de las mismas instrucciones del Lenguaje Basic, que corren en otro tipo de procesadores como es el caso de los equipos denominados MicroSep -referenciamos ste equipo, porque fue muy utilizado durante algn tiempo en algunas escuelas del Politcnico, le antepondremos un asterisco para identificar la sintaxis para este tipo de equipos-, as como instrucciones adicionales que tengan uno u otro, para la generacin de grficas, haciendo los comentarios pertinentes. Las instrucciones se agrupan por temas afines y no por su orden alfabtico:

I).

Fundamentales o de configuracin: Screen, Pmode y Color (y ya hablando de colores, se ana Paint). Puntos, Lineas, Cuadros, Arcos y Trazos: Pset, Preset, Line, Circle y Draw. De Animacin: Get y Put. De apoyo: Pclear, Pcls y Pcopy. Prximos: View y Window.

II).

III). IV). V).

FUNDAMENTALES O DE CONFIGURACIN

15

I). FUNDAMENTALES O DE CONFIGURACIN Como mencionamos anteriormente las principales instrucciones de que disponen las computadoras personales en el Lenguaje basic, para la configuracin del modo Grfico son: SCREEN, PMODE y COLOR, de las cuales solo la primera y la ltima son requeridas por las PCs. Para ser ms exactos, PMODE no existe en el repertorio de instrucciones del Lenguaje Basic de las PCs, ya que la definicin de la resolucin, est implcita en la Instruccin SCREEN como veremos a continuacin.

SCREEN
# SCREEN [<modo>][, [<color>][, [<pg. activa>][, [<pg. visual>]]] * # SCREEN [<modo>, <gpo. de colores>]

Para las PCs: Modo: 0 = Texto 1 = Resolucin Media (320 x 2OO ptos.) y 40 columnas 2 = Alta resolucin (640 x 2OO ptos.) y 80 columnas. Colores: 0 2 4 6 8 10 = = = = = = negro verde rojo caf gris verde brillante 1 3 5 7 9 11 azul aguamarina prpura blanco azul brillante aguamarina brillante 13 = prpura brillante = = = = = =

12 = rojo brillante

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

16

14 = amarillo Funcin:

15 = blanco brillante Establece el tipo de desplegados con los que se va a trabajar: grfico, colores y/o texto. Cualquier parmetro se puede omitir asumindose el ltimo valor. El Modo de Texto es el valor por omisin, por lo que cuando se desea realizar una grfica o usar instrucciones de grficas, se debe pasar a modo Grfico primero y posteriormente elaborar la grfica correspondiente. El modo en la instruccin SCREEN, en las PCs define el tipo de resolucin tanto para grficas como para texto, no existe la instruccin PMODE en el Lenguaje Basic de las PCS. El segundo parmetro de la instruccin SCREEN, (color) funciona diferente en las PCs, respecto a equipos como MicroSep: un 1, activa los colores, el 0, lo desactivar (blanco y negro, solamente). <Pg. activa>.- selecciona la pgina de memoria a ser escrita por las instrucciones grficas, haciendo posible elaborar una pantalla diferente a la presente para desplegarla posteriormente. <Pg. Visual>, en forma complementaria, selecciona la

Comentario:

FUNDAMENTALES O DE CONFIGURACIN

17

pgina de desplegada. Ejemplos:

memoria

que

ser

a). Pasar a modo grfico habilitando el grupo de colores donde este el amarillo: 10 SCREEN 1,0 b). Regresar al modo de Texto dejando habilitado el grupo de colores que contenga al magenta: 210 SCREEN 0,1

PMODE
* # [PMODE [<modo>[,<pgina>]]] Funcin: Selecciona el Modo de Resolucin: baja, media o alta, determinndose el conjunto de colores a utilizar. La seleccin de la calidad de las imgenes, as como de los colores posibles a utilizar depender de los parmetros especificados. Esta instruccin no existe en el repertorio del Basic de las PCs, solo en algunos como en el caso de los extintos MicroSep. A continuacin se presenta una tabla que muestra las relaciones que hay entre el modo definido, los colores y pantallas posibles a utilizar: Modo: Resolucin Cols. Pants.

Comentario:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

18

0 1 2 3 4

baja 2 baja 4 media media alta

8 4 2 4 2 4 2 2

La pgina, define cual de las ocho, en memoria, reservadas para grficas (en las localidades 1536 13823), se utilizar. Como se observar, puede omitirse el modo de resolucin asumindose los valores por omisin que son: modo = 2 y pgina = 1.

Ejemplos:

a). Pasar al modo grfico estableciendo alta resolucin:

10 SCREEN 1,0 : PMODE 4,0,6 10 SCREEN 1 : PMODE 4

b. Definir modo de resolucin media para utilizar cuatro colores en los que se incluya el rojo: 10 SCREEN 1,0 : PMODE 3

COLOR
# COLOR # COLOR [<frente>][,<fondo>][, <borde>] [<fondo>][[,<gpo.colores>][,<frente>]];

FUNDAMENTALES O DE CONFIGURACIN

19

(en media resolucin) # COLOR [<frente>]; (alta resolucin.)

* # COLOR [<fte, fdo>]

Funcin:

Selecciona los colores de frente y de fondo de una pantalla de grficas. Los parmetros, fte. y fdo., son un dgito que corresponde a la tabla de colores disponible para el equipo en cuestin si se omiten, fte. = menor cdigo disponible (0); fdo. = mayor cdigo (8). En la PCs, se tienen tres formas para manejo del Color, en cualquier forma, los parmetros son nmeros enteros que deben estar en el rango permitido segn el equipo; si se omiten los parmetros, se asumen los valores previos.

Comentario:

Ejemplo:

Pasar a modo grfico fijando el fondo de la pantalla de Blanco y el frente de azul:

10 SCREEN 1,1 PMODE 3 20 COLOR 5,6

PAINT

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

20

PAINT(<x,y>)[,<atrib.de color>,[<borde>][,<atrib.de fdo>]] * PAINT(<x, y>)[,<color>,[<borde>]]

Funcin:

Pinta el rea de la grfica definida con el color especificado. <x,y> coordenadas del punto desde donde se iniciar el pintado (un punto cualquiera que este dentro del rea a iluminar, no en el borde). Si el punto est fuera del borde, se pintar el rea del fondo. <color> Expresin numrica que debe resultar un dgito dentro del rango de 0-3 (del grupo de colores fijado por COLOR y SCREEN), si se omite, el color del Frente ser usado. <borde> Identifica el color del borde de la figura que ser pintada. Si se omite se asumir el color especificado en <color>. Los atributos del fondo permiten (en las PCs) formar un fondo con mosaicos de colores, de tal forma que se pueda pintar sobre un rea previamente pintada sin que el proceso de pintado termine al encontrar dos lneas con el mismo atributo.

Comentarios:

Ejemplo:

Dibuje un rectngulo slido al centro

FUNDAMENTALES O DE CONFIGURACIN

21

de la pantalla que mida 60 unidades en su base y 30 de altura, e ilumnelo con el color 3: 200 ... 210 LINE (98,81)-(158,111),2,BF 230 PAINT (100,100),3,2

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

22

PUNTOS, LINEAS, CUADROS, CIRCULOS

23

II). PUNTOS, LINEAS, CUADROS, CIRCULOS, ...

En esta unidad describiremos las Instrucciones de ms uso para la elaboracin de una grfica o dibujo, desde el iluminar un solo punto en la pantalla, hasta la elaboracin de grficas complicadas de formas caprichosas. Para ello es bsico que se encuentre familiarizado con las reas que se pueden utilizar de la pantalla, dependiendo del equipo inicialmente y de la resolucin especificada para la grfica en cuestin. Asimismo, que se comprenda claramente la dependencia que hay en la fijacin de los colores, entre las tres instrucciones bsicas de configuracin vistas anteriormente, para que podamos controlar plenamente todas las posibilidades o capacidades de las instrucciones. Por lo mismo se recomienda que no inicie esta seccin mientras no haya comprendido o ejercitado suficientemente las tres instrucciones mencionadas.

PSET
PSET [STEP](<x,y>)[,<color>] * PSET (<x,y,c>) Funcin: Pinta un Punto de coordenadas (x, y) con el color Indicado o con el color de frente definido de la Pantalla. (c) es el nmero del color a seleccionar de los disponibles de acuerdo al SCREEN, PMODE y COLOR especificados. Si el color no se especifica, se asigna el color del

Comentario:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

24

Frente de la pantalla. El parmetro STEP permite el manejo de coordenadas relativas. Cabe mencionar que los valores numricos mximos que se pueden utilizar en la computadora estn en el rango -32768 a 32767, cualquier nmero fuera de este, causar un error de overflow. En forma similar el tamao de la pantalla depender del equipo en el que se est trabajando y/o del modo de resolucin especificado. Ejemplo: Fijar el punto de Posicin Actual en la coordenada (90,100) y dibujar un ngulo recto de 30 unidades por lado: 10 A=90 : B=100 : PRESET (A, B) 20 POR I=B TO B+30 : PSET (A,I) : NEXT I 30 FOR J=A TO A+30 : PSET (J,I) : NEXT J

PRESET
PRESET [STEP](<x, y>)[,<color>] * PRESET (<x, y>)

FuncIn:

Pinta un punto de coordenadas (x, y) con el color del Fondo definido para la Pantalla de grficas. Esta instruccin de graficacin de

Comentario:

PUNTOS, LINEAS, CUADROS, CIRCULOS

25

puntos funciona ms bien como borrador de puntos de una grfica dada, al pintar el punto con el color del fondo. Los colores disponibles para el fondo y el frente dependern de lo especificado en las instrucciones SCREEN, PMODE, y COLOR. La opcin STEP permite manejar las coordenadas en forma relativa. El parmetro <color> permite pintar del color indicado el punto, evitando con esto que la instruccin funcione como borrador, segn habamos comentado. Ejemplo: Graficar una letra T roja, con base en el centro de una pantalla color naranja.

10 SCREEN 1,0 : PMODE 3,1 : COLOR 2,4 20 PRESET (127,95) 30 FOR R=95 TO 75 STEP - l : PSET (127,H) : NEXT H 60 FOR V=107 TO 88 STEP - l : PSET (V,75) : NEXT V

LINE
LINE[[STEP]](<X1,Y1>)]-[STEP](<X2,Y2>),[,[<color>] [,B[F]]][,<est>]

* LINE [(<X1,Y1.>)] (<X2,Y2>), [{PRESET}],[B[F]]

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

26

[(PSET) ] Funcin: Dibuja una Lnea, un Cuadrado o un rectngulo dejando solamente el marco o simulando apariencia slida. Las Coordenadas (x1, y1), son el punto inicial de la Lnea a trazar, o la arista del ngulo superior izquierdo del rectngulos a dibujar; similarmente, (x2, y2) son las coordenadas del punto final, o de la arista del ngulo inferior derecho del rectngulo. Si se omiten las primeras coordenadas, asumen como primer punto el ltimo trazado en la grfica o el centro, en caso de estar inicindola. PSET dibuja la lnea con el color de Frente definido para la Pantalla y PRESET la dibuja con el color de Fondo. Por omisin, asume PSET. En las PCs en lugar del PSET o PRESET, se define el color a travs de un nmero entero, en el rango de 0 - 3 si se esta en media resolucin o entre 0 y 1, si es alta resolucin. Para dibujar cuadros o rectngulos, se utilizar el parmetro B, si se desea solo los contornos, o BF si se desea la figura slida (rellena). El parmetro 'Estilo en las PCs

Comentario:

PUNTOS, LINEAS, CUADROS, CIRCULOS

27

permite definir el tipo de lnea a utilizar en el trazo: lnea punteada, segmentada o con punto y guin, alternados. Es una manera con un numero entero de 16 bits, as, una lnea punteada se representar como: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0. El parmetro STEP, permite el manejo de las coordenadas en forma relativa. a). Trazar cuatro lneas que crucen la pantalla en diagonal, horizontal y verticalmente, asuma alta resolucin (MicroSep): 100... 110 LINE (0, 0) - (255,191) 120 LINE (0,191) - (255,0) 130 LINE (0, 96) - (255,96) 140 LINE (128,0) (128,191) b). Dibuje un rectngulo slido al centro de la pantalla que mida 60 unidades en su base y 30 de altura: 200 210 LINE (98,81) - (158,111), 2, BF

CIRCLE
CIRCLE [STEP](<x,y>),<rad.>[,<color>[,<ini.>,<fin> [,<asp>]]] * CIRCLE (<x,y>),<rad.>,<color>,<y/x>,<ini.>,<fin> Funcin: Para dibujar un Arco, Crculo o Elipse

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

28

con el centro y radio especificados. Comentario: X y Y son las coordenadas del centro, cuyo mximo valor depender del modo de resolucin (255,191, para MicroSep); <rad>, es el radio del crculo en el Sistema de Coordenadas dado; <color>, es el nmero que corresponde al color deseado segn el cdigo correspondiente; <y/x>, es una relacin de altura y anchura para la elaboracin de elipses: x-x = 2r; Y-Y = 2r(y/x); si y/x < 1, se tendr una elipse horizontal; si es > 1, ser vertical. <ini> - <fin>, son los ngulos en radianes de inicio y trmino de la elipse (entre 0 y 1, que equivale al rango de 0 a 2 p, iniciando el cero en la posicin con orientacin este y aumentando en sentido horario). En las PCs, si estos ngulos se dan negativos, se trazan lneas que unen los extremos con el centro; se utilizan cuando se requiere representar una grfica de sectores con porcentajes. La opcin STEP de las PCs, permite manejar coordenadas relativas respecto al ultimo punto graficado; si no se especifica, las coordenadas dadas se asumen absolutas.

Ejemplos:

a). Dibujar un crculo al centro de la pantalla con radio de 5o unidades,

PUNTOS, LINEAS, CUADROS, CIRCULOS

29

suponiendo alta resolucin: 30 CIRCLE (128,96), 50 b). Para trazar una elipse vertical, al centro: 25 CIRCLE (128, 50),50,,1.5

DRAW
DRAW * idem Funcin: Dibuja una figura con trazos rectos segn las especificaciones dadas a travs de la expresin alfanumrica. La expresin puede incluir Prefijos, Parmetros de movimiento del cursor (absolutos o relativos), Atributos de Rotacin, especificando la Escala y Color del trazo. Prefijos (B-N).- pueden preceder cualquier parmetro de movimiento: "B.- Permite el movimiento pero no grfica punto alguno. "N, permite el movimiento el trazo especificado, retornando a la posicin de origen. <exp. alfanum.>"

Comentario:

Parmetros de Movimiento.- Especifican el movimiento en unidades

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

30

(puntos segn la resolucin especificada). El tamao de las Unidades puede modificarse a travs del parmetro de control de escala (S"). U[<n>].- Mueve hacia Arriba el cursor n unidades D Mueve hacia Abajo R Mueve hacia la Derecha L Mueve hacia la Izquierda E Mueve al Noreste F Mueve al Sureste G Mueve al Suroeste H Mueve al Noroeste M<x,y>.- Para movimientos Absolutos o Relativos. Si X y Y no son precedidos por el signo positivo o negativo, se tendr un movimiento absoluto, representando las coordenadas del nuevo punto, esto es, unir con una lnea el ltimo punto trazado en una grfica con el nuevo punto especificado con M<x,y> (obtenindose una nueva posicin actual). Si "X es precedida por un signo, la nueva coordenada es agregada a la posicin anterior, por ejemplo: M+7,33 dibujar una lnea 7 puntos a la derecha y 33 hacia abajo a partir de la ultima posicin o punto graficado. Atributos.- Los Atributos permiten especificar el giro de rotacin (A)

PUNTOS, LINEAS, CUADROS, CIRCULOS

31

con el que deseamos aparezca la figura desarrollada; la escala (S), al tamao que deseamos representarla, o bien, seleccionar el color (C) de los trazos. A<n>.- Indica el giro con el que deseamos representar la figura: 0=0 grados; 1= 90; 2 = 180 y 3 = 270 grados. C<n>.- Especifica el color del trazo, el que podr modificarse trazo a trazo. S<n>.- Establece la escala para la representacin de la figura: n es un nmero entre 1 y 62, que indica el factor de escala en l/4s (cuartos): 1=1/4 de escala; 2 = 2/4; 3 = 3/4; 4 = 4/4 = 1. Por omisin n = 4. <var. alf.> Comando.- "X <exp. alfanum.> .opera como un llamado a una Subrutina. Las PCs tienen dos atributos adicionales TA y p, los cuales permiten especificar, respectivamente, un ngulo de rotacin (de 0 a 360 grados, con giros en sentido horario negativos-, o inverso, positivos) y pintar el dibujo o la grfica (fondo y borde) segn el grupo de colores disponible, vg.:... TA = -45 ... P1,3, etc.

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

32

Ejemplos:

a). Trazar un cuadrado con el comando Draw que mida 40 unidades por lado 20 25 DRAW "R40 D40 L40 U4011 b). Trazar una Estrella de ocho puntas: 100 ... 105 DRAW M+20,-55" 110 DRAW M-55,+20 115 DRAW M+55,+20 120 DRAW M-20,-55 125 DRAW M-20,+55 130 DRAW M+55,-20 135 DRAW "M-55,-20 140 DRAW M+20,+55

c).- Trazado de un rectngulo usando el Comando de llamado a subrutina de Draw:

200 ... 210 RE$="R50; : CT$="D30; : "L50; 215 GU$="U30 220 RC$=RE$+CT$+AN$+GU$ 230 DRAW XRC$;"

AN$ =

SET

PUNTOS, LINEAS, CUADROS, CIRCULOS

33

* # SET (X, Y, C) Funcin: Pinta un punto con el color especificado o con el del Frente, en una pantalla de Texto, segn las coordenadas dadas. Como se observar, esta instruccin es similar a la de PSET, con la diferencia de que sta es para modo Grfico y aquella para el modo de Texto; por lo que los linderos estarn dados por la cantidad de puntos posibles a utilizar en el modo de texto particular en que se este trabajando (32 x 16, en MicroSep; 24 X 40 o 24 X 80, en las PCs). Dibujar un sistema de ejes coordenados en una pantalla de texto sobre la columna 6 y el rengln 12:

Comentario:

Ejemplo:

10 FOR V=3 TO 15 : SET (V,6) : NEXT V 20 FOR H=3 TO 25 : SET(12,H) : NEXT H

RESET
# RESET (x, y) Funcin: Pinta un punto con el color de Fondo en una Pantalla de Texto, segn coordenadas dadas. En forma similar a como opera el

comentario:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

34

'PRESET en modo grfico, aqu el RESET acta como borrador, ya que todo punto de cualquier color, ser reemplazado por uno con el color del fondo, simulando el borrado del mismo. En las PCs, esta Instruccin se usa para cerrar todos los archivos abiertos en un programa, no es una Instruccin grfica. Ejemplo: Borrar el sistema de ejes coordenados creado por la instruccin anterior (SET):

10 FOR V=3 TO 15 15 PRESET (V,6) 20 NEXT V 20 FOR H=3 TO 25 25 PRESET (12,H) 30 NEXT H

DE ANIMACIN

35

III). DE ANIMACIN. El elaborar grficas animadas en la Computadora es quiz uno de los atractivos ms importantes que motivan al estudiante o usuario a compenetrarse con la mquina, el lenguaje y sus instrucciones. Es interesante observar que el primer contacto de los nios o jvenes con una computadora es a travs de los juegos programados para sta, quedando asombrados por los efectos, los colores, los sonidos, etc. y todo concentrado en una reducida rea de 14 o 19 pulgadas. Las preguntas que les surgen y quedan en su mente son: Cmo lograr hacer tal o cual efecto de animacin?, Cmo lograr controlar el movimiento de una figura a travs de una cierta escenografa dominndolo manualmente a travs del teclado?, Qu instrucciones tiene la computadora que me permitan desarrollar un programa para desarrollar un juego? Podramos adelantar un poco sobre este tema y dejar aclarada algunas de las preguntas formuladas, sabiendo de antemano que se requiere profundizar un poco ms de lo que veremos aqu ahora. Equipos como MicroSep, tiene dos Instrucciones principales que permiten crear animacin: GET y PUT, las cuales se pueden complementar con otras y en conjunto lograr la animacin deseada. Las PCs a travs de la Instruccin SCREEN, tienen otra posibilidad ms para los fines de animacin, a travs de las opciones de las Pginas Activa y Visual, aunado a las instrucciones KEY (n, x$), ON, OFF y LIST, que permiten programar las teclas para desarrollar ciertas funciones como el controlar el movimiento de las figuras

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

36

previamente dibujadas. La Sintaxis de las Instrucciones antes mencionadas son:

GET
GET <x1,y1>-<x2,'y2>.,<nomb.arreglo> * GET <x1,y1>-<X2, y2>.<nomb. arreglo>[,G] Funcin: Para transferir una Imagen desarrollada en una regin rectangular de la Pantalla, al arreglo especificado. La imagen contenida en el rectngulo imaginario enmarcado por los puntos del ngulo superior izquierdo (x1-y1) y el inferior derecho (x2-y2), es almacenada en el arreglo indicado, con la finalidad de usarlo en combinacin de la instruccin PUT, para fines de animacin. El Arreglo no debe ser alfanumrico (o de cadena de caracteres) y debe ser dimensionado lo suficientemente grande para que pueda contener la imagen completa. La G solo es requerida cuando se utiliza los Modos de Resolucin 3, 4, o cuando se utilizarn los parmetros de accin en la Instruccin PUT. El procedimiento o los pasos a seguir para crear animacin son:

comentario:

DE ANIMACIN

37

1. 2.

Dimensione su (s) arreglo (s). Defina los Limites de la Regin a utilizar para la figura-modelo. Haga una subrutina en la que inicialice el dibujo, que lo desarrolle y lo pinte. Gurdelo con GET. Borre el dibujo original (use LINE). Determine la nueva posicin donde desea que aparezca (desarrolle un algoritmo de posicionamiento). Llame o vace el arreglo donde guardo previamente la Imagen, con la Instruccin PUT.

3.

4. 5. 6.

7.

PUT
PUT (<x1, y1>),<nomb.arreglo>[,accin] * idem Funcin: Transfiere hacia la pantalla una imagen que fue almacenada en un arreglo a travs de la instruccin GET. El punto especificado corresponde al punto del ngulo superior izquierdo de la imagen que se desplegar; si esta no cabe en la regin a ser desplegada se recibir un mensaje de error (illegal function call).

Comentario:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

38

La accin puede ser: PRESET, AND, OR o XOR.

PSET,

PSET.- Transfiere los datos punto por punto a la pantalla conservando los colores con los que fueron salvados. PRESET.- Es similar al PSET con la diferencia de que se presenta la imagen en vdeo inverso. AND.- se usa para combinar imgenes. La imagen resultante es el producto de la expresin lgica AND; compara los puntos del arreglo con los de la imagen en la pantalla, cuando ambos son del color del frente de la pantalla, los deja de este color, en caso contrario lo pinta del color del fondo. OR.- Este parmetro se usa para sobreponer imgenes. En forma similar al parmetro anterior, cuando los puntos de la imagen en la pantalla o los del arreglo son del color del Frente, los deja del ese color; cuando ambos estn con el color del Fondo as quedan. NOT (XOR).- Se usa generalmente en programas de animacin. Cambia el color de los puntos del color de Frente al color del Fondo y viceversa, lo que permite mover un objeto

DE ANIMACIN

39

alrededor de la pantalla sin que se borre la imagen, o el color, del fondo de la pantalla. El modo activo por omisin es el SET (en las PCs, es el XOR)

DE APOYO

41

I V) . DE APOYO.
Las instrucciones de apoyo, como el nombre lo indica, nos auxilian facilitando la programacin y evitndonos el tener que elaborar los algoritmos que se tendran que desarrollar al no contar con estos ya integrados a travs de una instruccin. Se les conoce tambin como Instrucciones de Utilera. Sus funciones no son precisamente de Graficacin pero facilitan esta labor: liberan o reservan rea en memoria para los casos en que se tiene un Programa muy largo o se van a elaborar ms de una grfica con los mismos datos; reproducen alguna grfica previa en otra rea (pgina) para ahorrarnos estos trazos y complementarla con otros ms; borra una grfica de alguna de las pginas en memoria, para poderla reutilizar, etc. Equipos como MicroSep incluyen tres instrucciones utilitarias que realizan precisamente las tres funciones arriba mencionadas, y son:

PCLEAR
* PCLEAR <num.pags.> Funcin: Reserva de o a 8 pginas de memoria, del rea reservada para grficas. A travs de esta instruccin podemos, tambin, liberar el rea en memoria reservada para grficas. Por omisin, se reservan 4 pginas de memoria, por lo tanto, si

Comentarios:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

42

requerimos de ms memoria para el programa y no vamos a necesitar ms que una pgina, debemos especificarlo as a travs del PCLEAR, y liberar las otras tres pginas. Las pginas reservadas son de 1.5 kb. Ejemplo: Se tiene un Programa muy largo que no cabe en memoria, usa varios arreglos pero no grficas. Libere el rea reservada para ellas, para poder correr el programa: 10 PCLEAR 0 20 DIM A(30,30), B(30,30), C(30,30) 30 ...

PCLS
* PCLS <COLOR> Funcin: Limpia la pantalla dejndola del color especificado. Funciona en igual forma que el cls en modo de texto. <color> debe ser un dgito del rango 0-8. Si se usa PCLS o CLS en una Ventana (lanse los comentarios sobre las instrucciones VIEW y WINDOW para las PCs), el rea que se borrar es la que esta dentro de la Ventana y no toda la pantalla.

Comentario:

DE APOYO

43

Ejemplo: 20 ... 30 PCLS 5

PCOPY
* PCOPY <pag.orig.> TO <paq.dest.> Funcin: Copia una pgina de memoria de Grficas a otra. Como se coment cuando se vio la Instruccin PMODE se pueden tener de 2 a 8 pginas de memoria para grficas, segn el modo de resolucin indicado. Puede usarse esta instruccin en programas de animacin o cuando requiera hacer presentaciones y requiera el apoyo de dos o ms grficas para un mismo grupo de datos.

Comentario:

Ejemplo: 10 SCREEN 1, 1 : PMODE 2,2 20 ... . 500 PCOPY 2 TO 3 510 DRAW ....

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

44

PRXIMOS

45

V). PRXIMOS. Habr ocasiones en que se desear desplegar la imagen de un objeto dimensionado de acuerdo al Sistema Coordenada Mundial conocido como Sistema de Coordenadas Cartesiano o Sistema Coordenado Derecho (X crece a la derecha y y, hacia arriba) -conocido en computacin como Coordenadas del usuario-, en un dispositivo cuyo Sistema Coordenado es diferente, como en los monitores que tienen un Sistema de Coordenadas Izquierdo, (X, crece tambin hacia la derecha pero, Y, crece hacia abajo) -conocido como Coordenadas del Dispositivo-; presentndose otro problema adicional: que el Sistema Coordenado Mundial tiene prcticamente una amplitud Infinita y el rea de exhibicin del dispositivo, es finita. Por lo tanto habr necesidad de buscar una tcnica o algoritmo que nos permita representar cualquier objeto que dibujemos, o representemos, de acuerdo al modelo real y con el acercamiento deseado, esto es, que nos permita representar imgenes tal y como las vemos en el mundo real y no que nos la despliegue de cabeza (en un sistema coordenado izquierdo) y que adems nos permita ver la imagen en una escala requerida para algn anlisis particular. Ese algoritmo se basa en una transformacin de las coordenadas cartesianas o mundiales, a las coordenadas de la pantalla del monitor, o viceversa, que es lo ms usual, o sea, pasar del izquierdo de la pantalla al derecho o convencional, con el que estamos ms familiarizados; a esta transformacin se le conoce como Transformacin visual.

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

46

Para efectuar una Transformacin Visual debemos, primero, determinar cual es la parte del mundo, que deseamos representar: la central, la parte derecha, la izquierda, o algn acercamiento; para esto se trabaja con una Regin Finita del Sistema de Coordenadas Mundial que se denomina "Ventana" (Window) la cual nos definir lgicamente la parte a representar. Ahora bien, una vez definida la parte a representar, debemos determinar como la vamos a representar en la pantalla: a pantalla completa o en alguna regin particular de la pantalla, estas regiones rectangulares se denominan Puertos Visuales (Viewport), de los que podemos definir uno o ms en la pantalla del monitor. Las Pcs tienen dos instrucciones que nos permiten realizar estas dos funciones en forma automtica: WINDOW y VIEW que definen una regin rectangular en forma similar a como lo hace la instruccin LINE, pero con ciertas particularidades y funciones muy diferentes que veremos mas adelante. Desafortunadamente, por ahora, Basic de MicroSep, no cuenta con estas instrucciones en su repertorio, pero seguramente muy pronto las desarrollar para facilitarnos la Programacin, sin embargo, y mientras tanto, se pueden definir las Funciones requeridas para realizar las Transformaciones visuales, para ello es necesario recordar, conocer y comprender lo siguiente: La Alta Resolucin en MicroSep es de 255 x 191 puntos o pixeles, la Media Resolucin en las PCs, es de 319 x 199.

PRXIMOS

47

Si denominamos como u" y v a la coordenadas en x e y de la pantalla del monitor, respectivamente, y x e y a las de Usuario, tenemos, antes que especificar algn Puerto o Ventana:

Coord.

Para MicroSep

Para las PCs umin=0, umax=319 vmin=0, vmax=199 xmin=0, ymin=0, xmax=319 ymax=199

De la umin=0, umax=255 Pantalla vmin=0, vmax=191 Del xmin=0, xmax=255 Usuario ymin=0, ymax=191

Cuando se mapea una ventana con iguales coordenadas a las del puerto, el efecto es como si se ignoraran ventanas y puertos. Ahora bien, se tienen dos frmulas que relacionan tanto a las coordenadas de la pantalla como a las del usuario: u = a * x + b............(1) v = c * y + d............(2) en donde a, b, c, y d son las constantes que determinan la Transformacin Visual. La determinacin de estas constantes es a partir de los limites asignados a la Ventana y al Puerto. La descripcin de un Puerto Visual tiene las siguientes restricciones: umin u umax y vmin v vmax las siguientes

Similarmente, una Ventana tiene restricciones:

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

48

xmin x xmax

ymin y ymax

Ahora bien, el proceso de Transformacin o Mapeo consiste en hacer coincidir las esquinas de la Ventana con las del Puerto Visual, para esto es conveniente dar antes la descripcin de la estructura de estas dos regiones y sus particularidades: La Instruccin VIEW define un Puerto Visual o Regin rectangular dentro de los limites de la Pantalla del Monitor definindola como rea de trabajo o rea activa; esta regin queda definida por los Puntos de dos esquinas: el del ngulo superior izquierdo y el del ngulo Inferior derecho. Una vez definido el puerto, todos los puntos que sean marcados, lo sern respecto a este, sern relativas, esto es, que las Coordenadas del Punto a graficar se aadirn a las primeras coordenadas (x1, y1) definidas en el View. Tiene un parmetro denominado SCREEN, que cuando es especificado, indica que las ordenadas x & y son absolutas respecto a la pantalla. WINDOW redefine las coordenadas de los bordes o limites de la Pantalla para permitirnos representar las imgenes (del Sistema Coordenado Mundial o Cartesiano), sin que estn limitadas por las Dimensiones Fsicas de la Pantalla (establece las dimensiones lgicas del actual Puerto Visual), esta redefinicin la hace tomando las Coordenadas de las Esquinas de los Puntos del Angulo Inferior Izquierdo y del Angulo Superior Derecho (x crece hacia la derecha, y hacia arriba). Basic transforma las coordenadas de Usuario a coordenadas del Dispositivo y las deja establecidas para subsecuentes desplegados en el Puerto activo. Tambin

PRXIMOS

49

tiene el parmetro SCREEN, pero en este caso opera en forma diferente: cuando se especifica, indica un giro de 180 sobre el eje de las abscisas, de tal forma que X seguir creciendo a la derecha, pero y crecer hacia abajo (como sucede con las coordenadas de la pantalla del monitor). Habamos dicho que para realizar la transformacin visual tenamos que hacer coincidir las esquinas de la Ventana con las del Puerto para lo que era importante conocer la funcin de la opcin Screen de aqulla de tal forma que la transformacin se realiza de la siguiente forma: La esquina Inferior Izquierda de la Ventana, sin la opcin SCREEN, se Mapea con la Esquina Inferior Izquierda del Puerto, con lo que obtendremos como resultado umin, vmax; y la Esquina Superior Derecha de la Ventana, se Mapea con la Superior Derecha del Puerto, con lo que obtendremos umax, vmin". Observe que vmax y vmin se permutan. Con la opcin Screen, el punto (xmin, ymin) se Mapea, con el (umin, vmin), y, el (xmax, ymax) con (umax, vmax, de tal forma que las Coordenadas de la Ventana van en la misma direccin a las del Puerto: de arriba hacia abajo. Por lo tanto, asumiendo la opcin screen en Window tenemos:

umin = a * xmin + b umax = a * xmax + b vmin = c * ymin + d vmax = c * ymax + d

--- (3); --- (4) --- (5); --- (6)

Despejando a las constantes a y b, de (3) y (4) y a c

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

50

y d de (5) y (6):

a = (umax - umin) / (xmax xmin) b = umin - a * xmin c = (vmax - vmin) / (ymax - ymin) d = vmin - c * ymin

--- (7) ----- (8) ----- (9) ---- (10)

Tales ecuaciones (7, 8, 9 y l0), deben ser escritas en una subrutina que calcule estas Constantes, la cual ser llamada cada vez que los Limites de la Ventana o del Puerto sean cambiados. En la Subrutina mencionada tambin se deben incluir las Ecuaciones de Transformacin visual originales (1) y (2), definindolas a travs de la Instruccin para la Definicin de Funciones DEF FN, vg: DEF FNU(X) = CA * X + CB y DEF FNV(Y) = CC * Y + CD. De tal forma que cada vez que tenga que usar una instruccin grfica, deber invocar estas Funciones en forma explcita: Vg. CIRCLE (FNU(X), FNV(Y)),10. De esta forma podramos simular las instrucciones Wndow y View en los equipos que tengan una versin del Basic que no las contenga. A continuacin escribiremos la sintaxis de estas instrucciones, en la forma acostumbrada, para aquellas versiones que s las incluyan en su juego de instrucciones.

VIEW

PRXIMOS

51

VIEW[[SCREEN] [(<vx1,vy1> )(<vx2,vy2>) [, [<color>] [,[<borde>]]]] ] Funcin: Define los Limites de una o ms Regiones Rectangulares en la Pantalla, donde se elaborarn las grficas. [SCREEN].Indica que las c<>ordenadas x - y sern absolutas para la pantalla y no relativas a los limites del Puerto. <vx1, vx2, vy1, vy2>.- Delimita el Puerto en la Pantalla con los puntos de las esquinas superior izquierdo e inferior derecho. <color>.- Establece el color del rea del Puerto. <borde>.- Enmarca el Puerto si hay espacio disponible; si no se especifica, no se dibuja marco alguno. Ejemplo: Definir tres puertos en la pantalla: uno arriba, al centro; otro abajo, a la izquierda y, uno ms abajo a la derecha, todos con marco. 400 ... 410 VIEW (85,16) - (220,32),,1 420 VIEW (20,68) - (100,178,,1 430 VIEW (185,80) - (260,132),,1

Comentarios:

WINDOW

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

52

WINDOW [[SCREEN] (<wx1, wy1>) (<wx2, wy2>)]

Funcin:

Define las Dimensiones Lgicas del Actual Puerto de visin. [SCREEN].- Invierte la direccin del eje de las abscisas, provocando que los valores de y, se incrementen hacia abajo, en la misma forma en que sucede con las coordenadas del monitor. Omitindolo, y se incrementa hacia arriba, de acuerdo a las coordenadas cartesianas, o sistema de coordenadas derecho. <wx1, wy1, wx2, wy2>.- Define las dimensiones lgicas para el puerto actual, con los puntos de las esquinas del ngulo Inferior Izquierdo y el del Superior Derecho, respectivamente.

Comentarios:

Ejemplo:

Dibujar una misma Lnea, una en la pantalla normal y otra en una ventana:

600 ... 610 LINE (130,130) - (180,180), 3 620 WINDOW SCREEN (130,130) - (220,220) 630 LINE (130,130) - (180,180), 3

53

VI). APLICACIONES.

1. Dibujar una Elipse dividida en cuatro sectores por lneas que cruzan la pantalla en diagonal, pintando cada sector con un color: 5 CLS : KEY OFF 10 SCREEN 1,0 20 COLOR 15,1 30 LINE (0,0)-(320,200),2 40 LINE (0,200)-(320,0),2 50 CIRCLE (160,100),120,2,,,.75 60 PAINT (120,50),0,2 70 PAINT (157,90),3,2 80 PAINT (157,100),2,2 90 PAINT (157,175),1,2 100 IF INKEY$="" THEN 100

ELIPSE: Prog. Nm. 1

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

54

5 10 15 20 25 30 35 40 45 50

SCREEN 1,0 : PMODE 3,1 COLOR 2,0 : PCLS 1 LINE (O,O)-(255,191),PSET LINE (0,191)-(255,0),PSET CIRCLE (127,95),120,,0.4 PAINT (120,87),0,2 PAINT (137,90),3,2 PAINT (127,105),1,2 PAINT (95,90),2,2 FOR T=l TO 2000 : NEXT T

2. Uso de la Instruccin LINE para dibujar un Hexgono: 5 CLS : SCREEN 1,1 10 PI=3.141592 15 AN=2*PI/6 20 R=45 25PRESET(160+R,100) 30 FOR A=0 TO 2*PI STEP AN 35 X=R*COS(A) : Y=R*SIN(A) 40 LINE -(160+X,I00+Y),2 45 NEXT A 50 IF INKEY$="" THEN 50 55 END

HEXAGONO: Prog. Nm. 2

55

5 SCREEN 1, 1 : PMODE 4,1 : PCLS 10 PI=3.141592 15 AN=2*PI/6 20 R=45 25 LINE(100,100)-(200+R,100), 30 FOR A=O TO 2*PI STEP AN 35 X=R*COS(A) : Y=R*SIN(A) 40 LINE -(200+X,100+Y),PSET 45 NEXT A 50 IF INKEY$="" TREN 50 55 END Modifique el Programa para que dibuje prinero un pun to, despus una lnea, un tringulo, un cuadrado, un pentgono, hasta un nongono. Tip: AN=2*PI/n, en donde n va de 1 a 9. 3. Elaborar una figura con trazos rectos controlados por el usuario usando la Instruccin DRAW: 5 CLS : SCREEN 1,1 10 COLOR 7,0 15 DRAW "C1 L60 C2 L60 F20 R40 E20 L20 20 INKEY$="" THEN 20 25 END

BARCO: Prog. Nm. 3

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

56

Para otros equipos, con lenguaje Basic integrado, como las MicroSep: 5 SCREEN 1,1 : PMODE 3,1 : PCLS 3 10 COLOR 7,0 15 DRAW C1 L60 E60 D80 C2 L60 F20 R40 E20 L20 20 IF INKEY$= THEN 20 25 END

4. variacin de la figura anterior para mostrar el uso del parmetro Angle de la Instruccin Draw: 5 SCREEN 1,1 : CLS 10 C=1 15 FOR N=0 TO 3 20 DRAW "A=N; BM170,100 C1 L60 E60 D80 C2 L60 F20 R40 E20 L20 25 FOR T=1 TO 500000 : NEXT T 30 CLS 35 NEXT N 40 C=C+ 1 45 IF C>5 THEN 100 50 GOTO 15 100 END

5 SCREEN 1, 1 : PMODE 3,1 10 PCLS 3 15 C=1 20 FOR N=0 TO 3 25 DRAW A=N; BM 120,90 C4 BU40 L30 E30 D40 C2 L30 F10 R20 E10 L20" 30 FOR T=1 TO 1000 : NEXT T

57

35 PCLS 3 40 NEXT N 45 C=C+1 50 IF C>5 THEN 100 55 GOTO 10 100 END

5. Graficacin de Funciones que generan figuras interesantes con la Instruccin Draw: 5 CLS 10 SCREEN 1,1 15 FOR R=0 TO 6.3 STEP 0.1 20 A=160+70*(COS(R) :B=100+70*SIN(R) 25 DRAW NM=A;, =B;' 30 NEXT R 35 IF INKEY$=" THEN 35 40 END

FUNCIN COSENO_SENO: Prog. Nm. 5

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

58

5 PCLS : PMODE 4,1 10 SCREEN 1, 1 : CLS 7 15 FOR R=0 TO 6.3 STEP 0.1 20 A=160+70*COS(R) : B=100+70*SIN(R) 25 DRAW NM=A;, =B; 30 NEXT R 35 IF INKEY$= THEN 35 40 END 6. variacin de la Figura anterior para mostrar otro efecto: 5 CLS : C=O : I=195 10 SCREEN 1,1 15 FOR R=O TO 6.3 STEP .1 20 A;=I+70*COS(R) : B=100+70*SIN(R) 25 DRAW NM=A;, =B; 30 NEXT R : GOSUB 50 35 I=I - 40 : C=C + l 40 IF C=3 THEN GOTO 100 45 GOTO 15 50 FOR T=1 TO 2000 : NEXT T : RETURN 100 END

FUNCIN COSENO_SENO (variacin 1): Prog. Nm. 6

5 PCLS : C=0 : I=170

59

10 SCREEN 1,1 : CLS 7 15 FOR R=O TO 6.3 STEP .1 20 A=I+70*COS(R) : B=100+70*SIN(R) 25 DRAW NM=A;, =B; 30 NEXT R : GOSUB 50 35 I=I - 40 : C=C+1 40 IF C=3 THEN GOTO 100 45 GOTO 15 50 FOR T=1 TO 2000 : NEXT T : RETURN 100 END

7. Variacin del Programa anterior para mostrar otro efecto: 5 10 15 20 25 30 35 40 45 SCREEN 1 : CLS LINE (0, 0)-(320, 0) FOR R=0 TO 6.3 STEP .1 A=160+70*COS(R) : B=100+70*SIN(R) LINE (0, 0)-(320,0),3,BF DRAW NM=A;, = B; NEXT R IF INKEY$="" THEN 40 END

FUNCIN COSENO_SENO (variacin 2): Prog. Nm. 7

5 SCREEN 1,1 : PMODE 3,1 : PCLS

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

60

10 15 20 25 30 35 40 45

LINE (0, 0)-(255, 0), PRESET FOR R=0 TO 6.3 STEP .1 A=160+70*COS(R) : B=100+70*SIN(R) LINE (0, 0)-(255,0),SET,BF DRAW NM=A;, = B; NEXT R IF INKEY$="" THEN 40 END

8. Variacin del programa anterior para mostrar otro efecto: 5 10 15 20 25 30 35 40 45 SCREEN 1,1 : PMODE 3,1 : PCLS 3 LINE (0, 0)-(255,0),PRESET FOR R=0 TO 6.3 STEP .1 A=160+70*COS(R) : B=100+70*SIN(R) LINE (0, 0)-(255,0),SET,BF DRAW NM=A;, = B; NEXT R IF INKEY$="" THEN 40 END

FUNCIN COSENO_SENO (variacin 3): Prog. Nm. 8

Modifique la linea 25 en su segunda coordenada por -

61

(a,b), en lugar de -(255,0) y en lugar de BF deje solamente B, corra el programa de nuevo y observe.

9. Uso de la Instruccin PSET para graficar la Funcin SIN(A)/A (armnica): 5 SCREEN 1,0 : CLS 10 FOR K=O TO 200 15 PSET (1,K),1 : NEXT K 20 FOR K=O TO 320 25 PSET (K,96),1 : NEXT K 30 FOR K=O TO 320 35 T=48 : PI=3.141592 : A=PI*K/T 40 H=SIN(A)/A 45 J=96-H*96 50 PSET (K,J),3 55 NEXT K 60 IF INKEY$="" THEN 60 65 END

FUNCIN ARMNICA: Prog. Nm. 9

5 SCREEN 1,0 : PMODE 4,1 : PCLS

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

62

10 15 20 25 30 35 40 45 50 55 60 65

FOR K=0 TO 191 PSET (1,K,1) : NEXT K FOR K=O TO 255 PSET (K,96,1) : NEXT K FOR K=l TO 255 T=48 : PI=3.141592 : A=PI*K/T H=SIN(A)/A J=96-H*96 PSET (K,J,l) NEXT K IF INKEY$="" THEN 60 END

Modifique el parmetro: PI*K/T por PI*T/K y observe el cambio.

10. Genera la Grfica de una Funcin Parablica aplicando la funcin PSET. 10 SCREEN 1,1 : CLS 20 LINE (64,96)-(250,96),2 30 LINE (158,186)-(158,5),2 40 FOR K=1 TO 16 45 V=176-10*K :H=78 +10*K 50 LINE (154,V)-(158,V),2 60 LINE (H,96)-(H,100),2 70 NEXT K 80 X=118 : PI = 3.1415 90 COLOR 15,2 100 FOR P=-3 TO 4 STEP .1 110 Y = P^2-2*P+1 120 Y1 =Y*20 : Y1 =96-Y1 130 PSET(X,Y1),1 140 X= X+1 150 NEXT P 160 IF INKEY$="" THEN 160

63

200 END

FUNCIN PARABLICA: Prog. Nm. 10

10 SCREEN 1,1 : PMODE 3,1 : PCLS 2 20 LINE (4,96)-(250,96),PSET 30 LINE (128,186)-(126,5),PSET 40 FOR K=1 TO 15 45 V=176-10*K :H=48 +10*K 50 LINE (124,V)-(128,V),PSET 60 LINE (H,94)-(H,108),PSET 70 NEXT K 80 X=100 100 FOR P=-1 TO 6 STEP 0.1 110 Y = (P^2)-4*P+1 120 Y1 =Y*10 : Y1 =96-Y1 130 PSET(X,Y1,2) 140 X= X+1 150 NEXT P 160 IF INKEY$="" THEN 160 200 END Pruebe con otras Funciones, con lo que en algunos casos

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

64

habr necesidad de cambiar algunos valores, vg: para la Funcin SIN(PI/IQ/(PI/X), tiene que modificar, adems de introducir el valor de PI, la variable Y1 con el valor =Y*30, intntelo. 11. Genera la Grfica de una Funcin de Tercer Orden aplicando la funcin PSET. 10 SCREEN 1,1 : CLS 20 LINE (64,96)-(250,96),2 30 LINE (158,186)-(158,5),2 40 FOR K=1 TO 16 45 V=176-10*K :H=78 +10*K 50 LINE (154,V)-(158,V),2 60 LINE (H,96)-(H,100),2 70 NEXT K 80 X=128 85 PI = 3.1415 90 COLOR 15,2 100 FOR P=-3 TO 4 STEP .1 110 Y = P^3 120 Y1 =Y*20 : Y1 =97-Y1 130 PSET(X,Y1),1 140 X= X+1 150 NEXT P 160 IF INKEY$="" THEN 170 200 END

65

FUNCIN de TERCER ORDEN: Prog. Nm. 11

11. 10 SCREEN 1,1 : PMODE 3,1 : PCLS 2 20 LINE (4,96)-(250,96),PSET 30 LINE (128,186)-(126,5),PSET 40 FOR K=1 TO 15 45 V=176-10*K :H=48 +10*K 50 LINE (124,V)-(128,V),PSET 60 LINE (H,94)-(H,108),PSET 70 NEXT K 80 X=100 100 FOR P=-1 TO 6 STEP 0.1 110 Y = (P^3) 120 Y1 =Y*10 : Y1 =96-Y1 130 PSET(X,Y1,2) 140 X= X+1 150 NEXT P 160 IF INKEY$="" THEN 160 200 END

12. Graficacin de Funciones Polares usando PSET, graficar la Funcin Cardioide r = a+b COS :

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

66

5 CLS 10 INPUT "Dimension: "; D : REM pruebe con d=7 15 CLS 20 A=125/D 30 SCREEN 1,1 : COLOR 15,1 40 FOR T=-3.141592 TO 3.141592 STEP .01 : REM pruebe desp. con step=.1 50 R=A*(1+(1+5*COS(T))) 60 X1=R*COS(T) 70 Y1=R*SIN(T) 80 X=X1+100 : Y=100-Y1 90 PSET (X,Y),2 100 NEXT T 110 IF INKEY$="" THEN 110

FUNCIN CARDIOIDE: Prog. Nm. 12

10 INPUT "Dimension: "; U : REM pruebe con u=7 20 A=125/U 30 SCREEN 1,1 : PMODE 4,1 : PCLS3 40 FOR T=-3.141592 TO 3.141592 STEP .01 : REM pruebe desp. con step=.1 50 R=A*(1+(1+5*COS(T))) 60 X1=R*COS(T)

67

70 Y1=R*SIN(T) 80 X=X1+120 : Y=95 -Y1 90 PSET (X,Y,2) 100 NEXT T 110 IF INKEY$="" THEN 110

13. Genera grficas de Funciones Polares simulando ptalos: 5 CLS : COLOR 15 10 INPUT "Proporciona la Dimension y el # de Bucles ('D' y 'N'),la ult. solo para la funcion a(sin(n*t)): "; D,N : REM pruebe con D=5 y N=3 20 A=125/D 30 SCREEN 1,1 40 FOR T=-3.141592 TO 3.141592 STEP .01 : REM pruebe desp. con step=.1 50 R=A*SIN(N*T) 60 X1=R*COS(T) 70 Y1=R*SIN(T) 80 X=X1+160 : Y=100-Y1 90 PSET (X,Y),2 100 NEXT T 110 IF INKEY$="" THEN 110

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

68

FUNCIONES POLARES: Prog. Nm. 13

5 INPUT DIMENSION y BUCLES - (U y N), la ultima solo para la Funcin a*SIN(n*t): U, N : REM pruebe con U=6 10 A=125/U ... 15 SCREEN 1,1 : PMODE 4,1 : PCLS 3 20 FOR T= -3.141592 TO 3.141592 STEP .01 22 REM pruebe despues con step=0.l 25 R=A*(1+(1+5*COS(T))) 30 X1=R*COS(T) 35 Y1=R*SIN(T) 40 X=X1+120 :Y=95-Y1 45 PSET(X,Y,2) 50 NEXT T 55 IF INKEY$="" THEN 55

Pruebe cambiando la Funcin por r = A*(1+5*SIN(T)), despus r =A*(1+5*SIN(2*T)) y, r=A*SIN(N*T), en donde si N=par, se tendrn 2N ciclos o bucles; si N=mpar, se tendran N bucles. Pruebe con U=3, N=9 y Step=.01

14. Generacin de una Espiral Circular utilizando la Instruccin CIRCLE:

69

5 SCREEN 1,1 : COLOR 1 : CLS 10 PI=3.1415926535# 20 R=45 30 FOR A=0 TO 2*PI STEP PI/50 40 Y=100-R*SIN(A) 50 X=160+R*COS(A) 60 CIRCLE(X,Y), R, 3, 0, A,1.5 70 NEXT A 75 IF INKEY$="" THEN 75 80 END

FUNCIONES POLARES: Prog. Nm. 14

15. Trazado de arcos y radios por medio de las Instrucciones CIRCLE y LINE: 5 CLS 10 PRINT @ 98, DIBUJO DE ARCOS l5 PRINT "INSTRUCCIN CIRCLE Y 20 GOSUB 200 : INPUT GRADOS: ;GR 25 PCLS : SCREEN 1,0 , PMODE 4,1 30 CIRCLE (120,95),50,1,1,.0,.25 35 SCREEN 0,1 40 PRINT @ 164,ARCO DE 0 A .25 : GOSUB 200

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

70

45 SCREEN 1,1 50 CIRCLE (120,95),50,1,1,.25,.50 55 SCREEN 0,1 60 PRINT @ 164,ARCO DE .25 A .50 : GOSUB 200 65 SCREEN 1,1 70 CIRCLE (120,95),50,1,1,.50,.75 75 GOSUB 200 80 CIRCLE (120,95),50,1,1,.75,1 85 GOSUB 200 90 R=90 100 CIRCLE (X0,Y0),R 105 FOR I=1 TO 360 STEP GR 110 X1=X0+R*COS(3.141592*I/180) 115 Y1=Y0+R*SIN(3.141592*I/180) 120 LINE(X0,Y0)-(X1,Y1) 125 NEXT I 130 GOSUB 200 135 END 200 IF INKEY$= THEN 200 205 RETURN

ARCOS Y LNEAS: Prog. Nm. 15

16. Variacin del programa anterior: Trazado de Arcos y Radios por medio de las Instrucciones CIRCLE y LINE:

71

5 SCREEN 2,2 10 COLOR 1 : CLS


20 PRINT "DIBUJO DE ARCOS A TRAVES DE LA"

30 PRINT "INSTRUCCION 'CIRCLE' Y, TRAZADO DE ARCOS" 40 INPUT "GRADOS "; GR 50 CLS : SCREEN 1,0 60 GOSUB 260 80 PRINT "ARCO DE 0 A .25: (de RETURN)" : GOSUB 300 : GOSUB 260 90 SCREEN 1,0 100 GOSUB 270 105 PRINT "ARCO DE 0 A .50: (de RETURN)" : GOSUB 300 : GOSUB 260 : GOSUB 270 110 SCREEN 1,0 120 GOSUB 280 125 PRINT "ARCO DE 0 A .75: (de RETURN)" : GOSUB 300 : GOSUB 260 : GOSUB 270 : GOSUB 280 130 SCREEN 1,0 140 GOSUB 290 145 PRINT "ARCO DE 0 A 1: (de RETURN)" : GOSUB 300 : GOSUB 260 : GOSUB 270 : GOSUB 280 : GOSUB 290 160 R=90 170 X0=160 : Y0=100 180 CIRCLE (X0,Y0),R : GOSUB 400 190 FOR I=1 TO 360 STEP GR 200 X1=X0+R*COS(3.141592*I/180) 210 Y1=Y0+R*SIN(3.141592*I/180) 220 LINE (X0,Y0)-(X1,Y1) 230 NEXT I 240 GOSUB 300 250 END 260 CIRCLE (160,100),50,3,0,1.57 : GOSUB 400 : RETURN

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

72

270 CIRCLE (160,100),50,3,1.57,3.14 : GOSUB 400 : RETURN 280 CIRCLE (160,100),50,3,3.14,4.71 : GOSUB 400 : RETURN 290 CIRCLE (160,100),50,3,4.71,6.28 : GOSUB 400 : RETURN 300 IF INKEY$="" THEN 300 305 COLOR 1 : CLS 310 RETURN 400 FOR T=1 TO 2000 : NEXT T : RETURN

ARCOS Y LNEAS: Prog. Nm. 16

17. Programas para graficar sectores, utilizando las funciones Seno y Coseno con la instruccin CIRCLE. 100 REM GRAFICA DE SECTORES 110 ' 120 ' 130 KEY OFF 140 SCREEN 1 150 CLS 160 ' 170 PI=3.1415926535# 180 DIM SECTOR(25) 190 ' 200 PRINT "Para Finalizar introduzca un Valor negativo"

73

210 J=0 220 REM CICLO DE ENTRADA 230 J=J+1 240 INPUT "TAMAO DEL SECTOR: "; SECTOR(J) 250 IF SECTOR(J) < 0 THEN 300 260 TOTAL=TOTAL+SECTOR(J) 270 GOTO 220 280 ' 300 REM CONTINUA 310 N=J-1 320 ' 330 CLS 335 COLOR 15,1 340 INI=0 350 RADIO=80 360 ' 370 FOR J=1 TO N 380 FIN=2*PI*SECTOR(J)/TOTAL+INI 390 MIT=(INI+FIN)/2 400 ' 410 X=160+COS(MIT)*RADIO*1.2 420 Y=100-SIN(MIT)*RADIO*1 430 M$=STR$(SECTOR(J)) 440 LOCATE (Y+4)/8, X/8-LEN(M$)/2 450 PRINT M$; 460 ' 470 A1=-INI-.001 480 A2=-FIN 490 CIRCLE(160,100),RADIO,,A1,A2 500 ' 510 INI=FIN 520 NEXT J 530 ' 550 LOCATE J 555 IF INKEY$="" THEN 555 556 SCREEN 2 560 END

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

74

GRAFICAS DE PIE: Prog. Nm. 17

18. Programa que genera una Grfica de Barras en modo de Texto: 5 CLS 1 10 FOR J=0 TO 7 15 A(J)=INT(RND(24)) 20 NEXT J 25 A (8) = -1 30 J=I00 35 FOR I=64 TO 64+32*10 STEP 32 40 PRINT @ I,J; 45 J=J -10 50 NEXT 55 PRINT @ 422, 1 2 3 4 5 6 7 8 60 FOR Y=4 TO 25 65 RESET (10,Y) 70 NEXT Y 75 FOR X=11 TO 45 80 RESET (X,25) 85 NEXT X 90 C=2 95 FOR I=0 TO 7 100 IF A(I)=0 THEN 120

75

100 FOR Y=4 TO 24-A(I) STEP -2 105 SET (I*4+14,Y,C) 110 NEXT Y 115 C=C+ l : IF C=9 THEN C=2 120 NEXT I 125 END

19. Programa que Genera una Grfica de Barras de modo Grfico. Este es solo un programa que bosqueja la generacin de barras en forma dinmica, pero que no controla las Magnitudes de las posibles variables a las que representan; buen tema a desarrollar por algn estudiante con espritu investigador, apyate en tu maestro. 10 INPUT "CUANTAS BARRAS: ; B 15 E=40/B 20 CLS 25 SCREEN 1,1 30 DRAW BM40,10; C2 L2 E3 F3 L2 35 DRAW BM220,168; U2 F3 G3U2 40 LINE (40,10)-(40,168) 45 LINE (40,168)-(220,168) 50 DRAW BM3,3;D5 R4 U5 BM10,3; R5 BL3 D5;BL3 D5; BM19,3 D5 BM24,3; D5; BM194,173; D5 R4 BL4 BU2 R4 BL4 BU3 R4; BM202,173; R4 BL4 D2 R4 D3 L4 55 DRAW BM185,173; D5 BU5 F2 E2 D5;BM19,3; D5; BM24,3; D5 R4 60 X=4*(12+(E/2)) 65 FOR I=1 TO B 70 LINE(X,30+I*3) -(X+4,168),2,B 80 X=X+E*4 85 NEXT I 90 IF INKEY$= THEN 90 95 END

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

76

BARRAS EN MODO DE TEXTO: Prog. Nm. 19

10 DIM A(250) 15 INPUT "CUANTAS BARRAS: ;B 20 E=40/B 25 PCLS 2 30 SCREEN 1,1 : PMODE 3 35 DRAW BM40,10; C5 L2 E3 F3 L2 40 DRAW BM220,168; U2 F3 G3 U2 45 LINE (40,10)-(40,168),PSET 50 LINE (40,168)-(220,168),PSET 55 DRAW BM3,3;D5 R4 U5 BM10,3; R5 BL3 D5;BL3 D5; BM19,3 D5 BM24,3; D5; BM194,173; D5 R4 BL4 BU2 R4 BL4 BU3 R4; BM202,173; R4 BL4 D2 R4 D3 L4 60 DRAW BM185,173; D5 BU5 F2 E2 D5;BM19,3; D5; BM24,3; D5 R4 65 X=4*(12+(E/2)) 70 FOR I=1 TO B 75 PUT (X,30+I*3)-(X+4,168),A,NOT 80 X=X+E*4

77

85 NEXT I 90 SCREEN 0,3 : CLS : PRINT @ 268 "CONTINUA : FOR T =1 TO 9000 : NEXT T : SCREEN 1,3 95 FOR T =1 TO 9000 : NEXT T 100 END 20. Graficacin de una Funcin Trigonomtrica de la forma Y = F(x). Como comentbamos, los equipos PCs tienen dos instrucciones que nos permiten representar en forma grfica una Funcin en el Sistema de Coordenadas Cartesiano o Derecho, y hacerlo en una cierta regin de la Pantalla, como no contamos con stas instrucciones podemos simular la primera de las funciones en forma explcita, esto es, provocando el giro del eje en las abscisas cambiando de signo la coordenada, veamos: 10 ' GRAFICAS DE FUNCIONES 20 ' 30 GOTO 220 ' INICIO DEL PROG. PRINC. 40 ' 50 ' 60 ' SUBRUTINA PARA GRAFICAR UNA FUNCION 70 ' 80 ' FNF ES LA FUNCION A SER GRAFICADA 90 ' 100 FOR Y=YMIN*C TO YMAX*D/C STEP 2 ' CICLO PARA EL EJE "Y" 110 PSET(B,Y) 120 NEXT Y 130 FOR X=XMIN*A TO XMAX*B/C STEP 2 ' CICLO PARA EL EJE "X" 140 PSET(X,D) 150 NEXT X 160 REM PRESET (FNA(X),FNB(Y))

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

78

170 FOR X = XMIN TO XMAX STEP XSTEP ' CICLO QUE GRAFICA LA FUNCION 180 LINE -(FNA(X),FNF(X)*C),C,,S 181 REM LINE -(FNA(X),FNB(Y)),C,,S 190 NEXT X 200 ' 210 RETURN 220 ' 230 ' PROGRAMA PRINCIPAL 240 ' 250 XMIN=-15:XMAX=15:YMIN=-15:YMAX=15 260 UMIN=0:UMAX=325:VMIN=0:VMAX=200 270 XSTEP=(XMAX-XMIN)/50 280 ' 290 ' ESPECIFICACIONES PARA LA PANTALLA 300 ' 310 CLS: KEY OFF 320 SCREEN 1 ' MEDIA RESOLUCION 330 COLOR 0,1 ' FONDO Y FRENTE 340 GOSUB 550 370 ' 380 L$=" GRAFICA 'SIMPLE' DE UNA FUNCION" 390 LOCATE 2, (40-LEN(L$))/2 400 REM PRINT L$ 410 ' 420 ' GRAFICACION DE LA FUNCION Y=(E^X)-X 430 ' 440 DEF FNF(X)=-X^2+90 450 C=2 460 S=&HAAAA 470 GOSUB 60 480 ' 490 LOCATE 20,1 520 IF INKEY$="" THEN 520 530 SCREEN 2 540 END 550 A=(UMAX-UMIN)/(XMAX-XMIN)

79

560 B=UMIN-A*XMIN 570 C=(VMAX-VMIN)/(YMAX-YMIN) 580 D=VMIN-C*YMIN 590 DEF FNA(X)=A*X+B 600 DEF FNB(Y)=C*Y+D 610 RETURN

GENERACIN DE GRAFICA POR COORDENADAS: Prog. Nm. 20

21. Variacin del programa anterior, generando la grfica de una funcin utilizando las instrucciones VIEW y WINDOW. 100 ' GRAFICAS DE FUNCIONES 110 ' 150 GOTO 300 ' INICIO DEL PROG. PRINC. 160 ' 170 ' 200 ' SUBRUTINA PARA GRAFICAR UNA FUNCION 210 ' 220 ' FNF ES LA FUNCION A SER GRAFICADA 230 ' 240 PSET (XMIN,FNF(XMIN)) 250 FOR X =XMIN TO XMAX STEP XSTEP 260 LINE -(X,FNF(X)),C,,S

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

80

270 NEXT X 271 FOR Y=YMIN TO YMAX STEP .1 272 PSET(0,Y) 273 NEXT Y 275 FOR X=XMIN TO XMAX STEP .1 276 PSET(X,0) 277 NEXT X 280 ' 290 RETURN 300 ' 310 ' PROGRAMA PRINCIPAL 320 ' 330 XMIN=-10:XMAX=10:YMIN=-10:YMAX=10 340 XSTEP=(XMAX-XMIN)/50 350 ' 360 ' ESPECIFICACIONES PARA LA PANTALLA 370 ' 380 CLS: KEY OFF 390 SCREEN 1 ' MEDIA RESOLUCION 400 COLOR 15,1 ' FONDO Y FRENTE 410 WINDOW (XMIN,YMIN)-(XMAX,YMAX) 420 VIEW (30,30)-(300,150),,3 430 ' 450 LOCATE 1, (40-LEN(L$))/2 460 REM PRINT L$ 470 ' 480 ' GRAFICACION DE LA FUNCION Y=(E^X)-X 490 ' 500 DEF FN F(X)=-X^2+5 510 C=2 520 S=&HAAAA 530 GOSUB 200 540 ' 550 LOCATE 23,1 554 IF INKEY$="" THEN 554 555 SCREEN 2 560 END

81

GRFICA DE FUNCIONES USANDO VIEW Y WINDOW: Prog. Nm. 21

22. Utilizacin de la instruccin DRAW para generacin de dibujos grficos. 10 CLS 20 SCREEN 1,1 : COLOR 15,1 30 C=0 : I=195 40 FOR R=0 TO 6.3 STEP .03 50 A=I+70*COS(R) : B=100+70*SIN(R) 60 DRAW "NM=A;, =B;" 65 FOR T=1 TO 2000 : NEXT T 70 NEXT R : GOSUB 110 80 I=I-40 : C=C+1 90 IF C=3 THEN GOTO 120 100 GOTO 40 110 FOR T=1 TO 2000 : NEXT T : RETURN 120 IF INKEY$="" THEN 120 130 END

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

82

GENERACIN DE DIBUJOS: Prog. Nm. 22

23. Muestra de las potencialidades de un programa de graficacin para el control en el dimensionamiento de una grfica. 100 ' GLOBO 110 ' 120 ' PAQUETE DE GRAFICAS SIMPLES DE 2-DIMS 130 ' 140 GOTO 220 150 ' 160 ' SUB-RUT PARA CENTRAR TITULOS 170 ' 180 LOCATE 1,(40-LEN(L$))/2 190 PRINT L$ 200 RETURN 210 ' 220 ' PROG. PRINCIPAL DEL GLOBO

83

230 ' 240 ' PARAMETROS INICIALES DE LA VENTANA 250 X0=0 : Y0=0 : RD=20 260 DIM X(20,20) , Y(20,20) 270 ' 280 SCREEN 1 290 COLOR 15,1 300 CLS : KEY OFF 310 ' 320 ' IMPRESION DE MENSAGE DE ESPERA 330 LOCATE 12,18 350 ' 360 'CALCULO DEL 'ENREJADO' 370 ' 380 ' CONSTANTES 390 PI=3.141592 400 R=9 ' RADIO DEL GLOBO 410 A=.7 ' ANGULO PIVOTE DEL GLOBO 420 COSA=COS(A) : SENA=SIN(A) 430 ' 440 ' VALORES DEL ENREJADO 450 FOR I=0 TO 20 460 T=I*PI/10 470 COST=COS(T) : SINT=SIN(T) 480 FOR J=0 TO 10 490 S=J*PI/10 500 COSS=COS(S) : SINS=SIN(S) 510 X(I,J)=R*COST*SINS 520 Y(I,J)=R*SENA*SINT*SINS+R*COSA*COSS 530 NEXT J 540 NEXT I 550 ' 560 'ESTABLECIMIENTO DEL MARCO VISUAL 570 ' VIEW (60,20)-(260,180),,3 580 ' 590 L$="EFECTO ZOOM, MANUAL, DE UN GLOBO" 600 GOSUB 160 ' CENTRADO DEL TITULO

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

84

602 ' 604 PRINT : PRINT"TECLEE ";CHR$(24);CHR$(25);" P/AUM. O DISM.; ";CHR$(26);CHR$(27);" P/DESP. IZQ. O DER." 605 PRINT : PRINT " Presione cualquier tecla p/inic." 606 IF INKEY$="" THEN 606 610 ' 620 ' EL CICLO COMIENZA AQUI 630 ' 640 CLS 650 ' 660 ' ESTABLECIMIENTO DE LA VENTANA 670 WINDOW (X0-RD,Y0-RD)-(X0+RD,Y0+RD) 680 ' 690 ' EL LOGOTIPO 700 ' 710 Y=.3 720 LINE (-1.65,Y)-(-1.05,Y),2 730 LINE (-.95,Y)-(-.25,Y),2 740 LINE (-.15,Y)-( .15,Y),2 750 LINE (.25,Y)-( .45,Y),2 760 LINE (.75,Y)-( .95,Y),2 770 LINE (1.05,Y)-(1.65,Y),2 780 Y=.2 786 LINE (-1.65,Y)-(-1.05,Y),2 790 LINE (-.95,Y)-(-.25,Y),2 800 LINE (-.15,Y)-( .15,Y),2 805 LINE (.25,Y)-( .5,Y),2 810 LINE (.7,Y)-( .95,Y),2 815 LINE (1.05,Y)-(1.65,Y),2 820 Y=.1 825 LINE (-1.55,Y)-(-1.45,Y),2 830 LINE (-.95,Y)-(-.7,Y),2 835 LINE (-.05,Y)-( .05,Y),2 840 LINE (.35,Y)-(.55,Y),2 845 LINE (.65,Y)-( .85,Y),2 850 LINE (1.15,Y)-(1.25,Y),2

85

855 Y=0 860 LINE (-1.55,Y)-(-1.15,Y),2 865 LINE (-.95,Y)-(-.25,Y),2 870 LINE (-.05,Y)-( .05,Y),2 876 LINE (.35,Y)-(.57,Y),2 880 LINE (.62,Y)-( .85,Y),2 890 LINE (1.15,Y)-(1.55,Y),2 900 Y=-.1 905 LINE (-1.55,Y)-(-1.15,Y),2 910 LINE (-.95,Y)-(-.25,Y),2 915 LINE (-.05,Y)-( .05,Y),2 920 LINE (.35,Y)-(.59,Y),2 925 LINE (.6,Y)-( .85,Y),2 930 LINE (1.15,Y)-(1.55,Y),2 935 Y=-.2 940 LINE (-1.55,Y)-(-1.45,Y),2 945 LINE (-.5,Y)-(-.25,Y),2 950 LINE (-.05,Y)-( .05,Y),2 955 LINE (.35,Y)-(.45,Y),2 960 LINE (.5,Y)-( .7,Y),2 965 LINE (.75,Y)-(.85,Y),2 970 LINE (1.15,Y)-(1.25,Y),2 975 Y=-.3 980 LINE (-1.65,Y)-(-1.05,Y),2 995 LINE (-.95,Y)-(-.25,Y),2 1000 LINE (-.15,Y)-( .15,Y),2 1005 LINE (.25,Y)-(.45,Y),2 1010 LINE (.55,Y)-(.65,Y),2 1015 LINE (.75,Y)-(.95,Y),2 1020 LINE (1.05,Y)-(1.65,Y),2 1025 Y=-.4 1030 LINE (-1.65,Y)-(-1.05,Y),2 1035 LINE (-.95,Y)-(-.25,Y),2 1040 LINE (-.15,Y)-( .15,Y),2 1045 LINE (.25,Y)-(.45,Y),2 1050 LINE (.6,Y)-(.6,Y),2 1055 LINE (.75,Y)-(.95,Y),2

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

86

1060 LINE (1.05,Y)-(1.65,Y),2 1110 ' 1120 ' LATITUDES 1130 ASP0=.67*COSA 1140 FOR S=0 TO PI STEP PI/10 1150 X=0 1160 Y=R*COSA*COS(S) 1170 R0=R*SIN(S) 1180 CIRCLE(X,Y),R0,1,,,ASP0 1190 NEXT S 1200 ' 1210 ' LONGITUDES 1220 FOR I=0 TO 20 1230 PSET(X(I,0),Y(I,0)) 1240 FOR J=1 TO 10 1250 LINE -(X(I,J),Y(I,J)) 1260 NEXT J 1270 NEXT I 1280 ' 1290 ' OBTENCION DE LA TECLA DE MOVTO. 1300 A$=INKEY$ 1310 IF LEN(A$)<>2 THEN 1300 1320 ANS=ASC(MID$(A$,2,1)) 1330 IF ANS =72 THEN RD=RD*.9 1340 IF ANS =80 THEN RD=RD/.9 1350 IF ANS =75 THEN X0=X0+RD*.1 1360 IF ANS =77 THEN X0=X0-RD*.1 1370 ' 1380 GOTO 620 1390 ' 1400 END

87

GENERACIN DE LA ARMADURA DE UN GLOBO TERRAQUEO Prog. Nm. 23

INTRODUCCIN A LAS GRFICAS POR COMPUTADORA CON LENGUAJE BASIC

88

BIBLIOGRAFIA

Goldstein, Larry J. Martin & Brady Robert EL SISTEMA OPERATIVO MS-DOS Prentice-Hall, 1986.

Microsoft. BASIC INTERPRETER MANUAL MicroSoft, 1985

Person, Ron. ANIMATION MAGIC Osborne, McGraw-Hill, 1985.

Plastock, Roy & Kelley, Gordon. GRAFICAS POR COMPUTADORA Osborne, McGraw-Hill, 1987.

Waite, Mitchell & Morgan, Christopher L. GRAPHICS PRIMER FOR THE IBM PC Osborne McGraw-Hill, 1983.

También podría gustarte