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)
0
1
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).

II).

Puntos, Lineas, Cuadros, Arcos y Trazos:


Pset, Preset, Line, Circle y Draw.

III).

De Animacin: Get y Put.

IV).

De apoyo: Pclear, Pcls y Pcopy.

V).

Prximos: View y Window.

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

12 = rojo brillante

1
3
5
7
9
11

=
=
=
=
=
=

azul
aguamarina
prpura
blanco
azul brillante
aguamarina
brillante
13 = prpura brillante

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

14 = amarillo

16

15 = blanco brillante

Funcin:

Establece el tipo de desplegados con


los que se va a trabajar: grfico,
colores y/o texto.

Comentario:

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

FUNDAMENTALES O DE CONFIGURACIN

pgina de
desplegada.
Ejemplos:

memoria

que

17

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.

Comentario:

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.

18

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

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

[<frente>][,<fondo>][, <borde>]

# COLOR

[<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.

Comentario:

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.

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.

Comentarios:

<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.

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

23

PUNTOS, LINEAS, CUADROS, CIRCULOS

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.

Comentario:

(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

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:

Comentario:

Pinta un punto de coordenadas (x, y)


con el color del Fondo definido para
la Pantalla de grficas.
Esta instruccin de graficacin de

25

PUNTOS, LINEAS, CUADROS, CIRCULOS

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.

Comentario:

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

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

<exp. alfanum.>"

* idem
Funcin:

Dibuja una figura


con
trazos
rectos segn las especificaciones
dadas a travs de la expresin
alfanumrica.

Comentario:

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.
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

Ejemplos:

32

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.

Comentario:

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).

Ejemplo:

Dibujar
un sistema de ejes
coordenados en una pantalla de
texto sobre la columna 6 y el rengln
12:

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.

comentario:

En forma similar a como opera el

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.

comentario:

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:

DE ANIMACIN

37

1.

Dimensione su (s) arreglo (s).

2.

Defina los Limites de la Regin a


utilizar para la figura-modelo.

3.

Haga una subrutina en la que


inicialice el dibujo, que lo
desarrolle y lo pinte.

4.

Gurdelo con GET.

5.

Borre el dibujo original (use LINE).

6.

Determine la nueva posicin donde


desea que aparezca (desarrolle un
algoritmo de posicionamiento).

7.

Llame o vace el arreglo donde


guardo previamente la Imagen,
con la Instruccin PUT.

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.

Comentario:

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).

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

La accin puede ser:


PRESET, AND, OR o XOR.

38

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

IV). 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.

Comentarios:

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

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.

Comentario:

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.

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.

Comentario:

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.

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

De la
umin=0, umax=255
Pantalla vmin=0, vmax=191

umin=0, umax=319
vmin=0, vmax=199

Del
xmin=0, xmax=255
Usuario ymin=0, ymax=191

xmin=0,
ymin=0,

xmax=319
ymax=199

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

vmin v vmax

Similarmente, una Ventana tiene


restricciones:

las

siguientes

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

xmin x xmax

48

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)

--- (7)

b = umin - a * xmin

----- (8)

c = (vmax - vmin) / (ymax - ymin)


d = vmin - c * ymin

----- (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.

Comentarios:

[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

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.

Comentarios:

[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.

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

APLICACIONES

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

5
10
15
20
25
30
35
40
45
50

54

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

APLICACIONES

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

APLICACIONES

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

APLICACIONES

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

10
15
20
25
30
35
40
45

60

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 -

APLICACIONES

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

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

62

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

APLICACIONES

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

APLICACIONES

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)

APLICACIONES

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:

APLICACIONES

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:

APLICACIONES

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"

APLICACIONES

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

73

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

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

74

APLICACIONES

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

APLICACIONES

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)

APLICACIONES

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

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

80

APLICACIONES

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

APLICACIONES

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

83

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

APLICACIONES

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

85

INTRODUCCIN A LAS GRFICAS POR


COMPUTADORA CON LENGUAJE BASIC

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

86

APLICACIONES

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.