STEREO. REPRESENTACION EN PERSPECTIVA CABALLERA DE

Anuncio
• E.N.
Sp ISSN 0081-3397
3P"
por
Los Arcos Merino , J.Fvi,
MADRID,1978
CLASIFICACIÓN INIS Y DESCRIPTORES
F51
COINCIDENCE SPECTROMETRY
PLOTTERS
MATRICES
TWO DIMENSIONAL CALCULATIONS
DIGITAL COMPUTERS
S CODES
FORTRAN
DATA PROCESSING
Toda correspondencia en relación con este trabajo debe dirigirse al Servicio de Documentación Biblioteca
y Publicaciones, Junta de Energía Nuclear, Ciudad Universitaria, Madrid-3, ESPAÑA.
Las solicitudes de ejemplares deben dirigirse a
este mismo Servicio.
Los descriptores se nan seleccionado del Thesauro
del INIS para-describir las materias que contiene este informe con vistas a su recuperación. Para más detalles con
súltese el informe DLEA-INIS-12 (INIS: Manual de Indización) y IAEA-INIS-13 (INIS: Thesauro) publicado por el Organismo Internacional de Energía Atómica.
Se autoriza la reproducción de los resúmenes analíticos que aparecen en esta publicación.
Este trabajo se ha recibido para su impresión en
"Febrero de 1978.'
Depósito legal n° M-7653-1978
I.S.B.N. 84-500-2552-4
CONTENIDO
PAGINA
1.-
INTRODUCCIÓN
1
2.-
DESCRIPCIÓN
2.1.-
CARACTERÍSTICAS GENERALES
4
2.2.-
FUNDAMENTO
4
2.3.-
CARACTERÍSTICAS GEOMÉTRICAS
.
(>
2.4.-
.MÉTODO: PARTICIÓN EN INTERVALOS
7
2.5.-
CARACTERÍSTICAS COMPLEMENTARIAS
9
3.-
ESTRUCTURA
3.1.-
ALMACENAMIENTO DE LA MATRIZ
•
12
3.2.-
SUBPROGRAMAS Y PROGRAMA PRINCIPAL
12
3.3.-
DATOS TÉCNICOS
14
4.-
APLICACIÓN Y RESULTADOS
4.1.-
DATOS DE ENTRADA
16
4.2,-
OPCIONES
19
4.3.-
RESULTADOS
21
5.-
LISTADO
FIGURAS
REFERENCIAS
•
23
AGR ADECIMIENTOS
El autor desea expresar su agradecimiento a los compañeros de la Sección de Fisica Nuclear de B^ja Energía, por sus sugerencias y juicio critico en el desarrollo del trabajo.
También debe su reconocimiento al Dr. Tomás Iglesias Garrido, y personas a su cargo en el Centro de Cálculo de .la J.E.N.,
por las facilidades prestadas para la utilización del Trazador
digital.
- 1 -
1,- INTRODUCCIÓN
En diversos campos de la Fisica se plantea a menudo el
problema de obtención de representaciones gráficas tridimensionales de funciones analíticas de dos variables o de datos experimen
tales dependientes de dos parámetros.
El motivo es la necesidad de contemplar una imagen global
del comportamiento cualitativo de los valores numéricos, tanto
más acusada cuando el volumen de datos es relativamente alto, como ocurre en el caso de experiencias de. coincidencias en espectr£
metria nuclear, en las que es normal trabajar con matrices de lKx
1K elementos.
Para poder determinar transiciones en cascada es preciso
localizar los máximos que presentan las matrices de datos de coin
cidencias, lo que se puede lograr por simple inspección en las cjL
tadas imágenes gráficas.
Además, es de gran utilidad poder comparar gráficamente
los resultados de varias experiencias, ya que permite seleccionar
para un tratamiento cuantitativo más preciso, aquéllos que presen
tan condiciones óptimas.
Para resolver el problema de obtención de una representación tal, se han elaborado diversos programas (1,2,3), con grados
de complejidad diferentes, que utilizan sistemas en serie o en di
ferido con soportes de información desde tarjetas a disco magnéti
co.
Aunque diseñado en principio para el tratamiento de matril
ees de datos de coincidencias, el programa STEREO, escrito en FOR
TRAN V, permite obtener en diferido, mediante un trazador digital
CALCOMP una representación en perspectiva caballera de una matriz
bidimensional cuyos elementos (en coma flotante) son valores de
una función o datos experimentales cualesquiera dependientes de
_ 2 -
dos Índices discretos y s.e suponen almacenados en disco magnético .
Se puede decir, en general, que STEREO reúne todas las pos:L
bilidades que presentan los programas citados, aporta en su método de trazado en perspectiva un sistema de opciones más amplio y
emplea una forma optimizada de acceso directo a la matriz (guarda
da en disco) y de almacenamiento en memoria principal, de modo
que se pueden tratar matrices de gran número de elementos.
La matriz de datos se ha supuesto rectangular, con dimensio
nes máximas de 1K x 1K, pero ampliables fácilmente (3.1).
De las caracterxsticas más importantes, se señala que el áii
guio de perspectiva puede variar entre 0
y 180 , la perspectiva
es de tipo caballera, isométrica o con el factor de reducción deseado, la escala de representación de los datos se puede elegir
entre las previstas o incorporarse al programa, las lineas ocul tas se omiten o se trazan en color diferente, se puede trazar los
ejes de los Índices discretos y de los valores de los elementos
de la matriz y pueden escribirse varias líneas de comentarios al
pie de cada gráfica.
En la sección 2 se describe el método de representación em
pieado y las caracterxsticas fundamentales del programa. La estruc_
tura de subprosrramas y demás características técnicas, se expone
en la sección 3. La aplicación práctica del programa junto con los
resultados típicos aparece en la sección 4, y el listado completo
se da en la sección 5El programa STEREO se ha aplicado a la representación de
funciones de 2 variables y al análisis de matrices de coinciden cias X~Y
y Y -"Tí obtenidas en medidas realizadas en el Laborato- .
rio de Espectrometría Nuclear de la Sección de Física Nuclear de
la J.E.N., permitiendo disponer de una información inexistente
hasta ahora en Centros de nuestro país.
- 3 -
Se ha utilizado de las instalaciones del Centro de Cálculo
de la J.E.N., el ordenador UNIVAC 1106, una unidad de cinta y una
de disco, asi como el trazador digital CALCOMP-93 6 y su unidad de
control CALCOMP-905- Con algunas correcciones se podría sustituir
la unidad de disco por una cinta, asi como traducir el programa
para un procesador FORTRAN IV, pudiendo además suprimirse ciertas
opciones no imprescindibles para la perspectiva propiamente dicha,
haciendo utilizable este programa en ordenadores de capacidad inferior.
- 4-
2.- DESCRIPCIÓN DEL PROGRAMA
En todo lo que sigue, las longitudes se suponen expresadas
en en, salvo mención en contra.
2.1.- CARACTERÍSTICAS GENERALES
- Todo dibujo obtenido con el programa STEREO queda siempre
enmarcado por un rectángulo de encuadre, de dimensiones DIMENX,
DIMENY. La imagen en perspectiva propiamente dicha ocupa una zona
rectangular de representación (cuyo contorno no se dibuja), inte rior al rectángulo de encuadre-, separada de éste por márgenes adecuados.
- Las- dimensiones de la matriz total se representan por las
variables LR (número de columnas) y NR (número de filas). Los elementos de la matriz se designan por los Índices cartesianos IX, IY,
donde IX representa el Índice de columna en el sentido ordinario,
e IY el complemento respecto a NR del índice de fila ordinario (es
decir, el Índice IY numera las filas a partir de la inferior), con
lo que el elemento de matriz designado por la pareja de Índices IX,
IY, es el elemento perteneciente a la columna IX y a la fila NR-IY.
La zona de interés no tiene porque ser necesariamente la ma triz total, sino una submatriz rectangular cualquiera, definida por
sus índices extremos 1X1, 1X2, IYl, IY2, pudiendo tratarse de una
sola línea en un caso límite.
2.2,- FUNDAMENTO
El fundamento del programa consiste en dibujar para cada valor del índice IY (desde IY = IYl hasta IY = IY2, con el incremento
B deseado), el histograma de los puntos representativos de los ele-
mentos de la matriz, obtenidos al variar el otro Índice IX, dentro de su rango (desde IX = 1X1, hasta IX = 1X2 con el incremento A deseado). Cada histograma se dibuja en coordenadas X, Y sobre el papel, respecto a un punto inicial, fijo, de modo que el
origen conceptual de los sucesivos histogramas se desplace sobre
puntos equidistantes de una linea que forma con el sentido positivo de la coordenada X el ángulo de perspectiva deseado (figuras
1, 2 ) .
Opcionalmente se puede aplicar la perspectiva tras una rotación global de la matriz de -90
(vista 1, frente a la inicial
que se denomina vista 0 ) , aplicándose lo explicado en el párrafo
anterior con las sustituciones IX por IY, 1X1 por IY1, 1X2 .por
IY2, IY1 por 1X2 e IY2 por 1X1 (figura 3 ) .
En lo que sigue nos referimos a la vista 0, sobreentendién
dose tales sustituciones para que sea aplicable a la vi=ta 1.
En cualquier caso, para que la imagen obtenida se interpre_
te correctamente, se omite el trazado de las lineas ocultas en
la perspectiva, o bien se realiza en otro color, y el trazado de
los histogramas se optimiza dibujándolos alternativamente en sen
tido positivo y negativo de la coordenada X, según que su número
de orden sea impar o par.
. Otra opción del programa permite dibujar en vista 0 (vista
1 ) , para cada valor del Índice IX (IY) del rango de interés, los
histogramas oblicuos (ángulo el de perspectiva) obtenidos al variar el otro índice IY (IX) dentro de su r^ingo, obteniéndose otra
visión en perspectiva, complementaria de la primera, pudiendo
trazarse individualmente o superpuesta a la del primer tipo (for_
mando malla). En lo que sigue nos referimos al trazado de histogramas del primer tipo, aplicándose consideraciones semejantes
para el segundo tipo (figura A} 5)•
- 6-
2.3.-
CARACTERÍSTICAS GEOMÉTRICAS.
La región delimitada conceptualmente sobre el papel por
los Índices IX, IY, es romboidal, calculándose sus dimensiones pa_
ra cada ángulo de perspectiva, de modo que:
le) sobre el papel, el espaciamiento CMY", de abscisas de
dos índices consecutivos del eje oblicuo (IY en vista 0,. IX en
vista 1), sea R veces el especiamiento CMX entre dos Índices consecutivos en el eje horizontal.
22) apoyándose el romboide con su lado horizontal inferior
en el rectángulo de representación, quede exactamente ajustado en
tre los lados verticales de dicha zona.
El tamaño TZ del eje Z de la perspectiva (es el eje Y sobre
el papel), conceptualmente perpendicular a IX, IY, viene determinado por la diferencia entre la altura del rectángulo de represen
tación y la del punto del romboide representativo del elemento de
matriz de valor máximo, asignándose dicho tamaño a la diferencia
entre los valores máximo y mínimo de los datos de la zona de inte_
res, a través de la escala de representación elegida. Por ello,
el extremo inferior del eje Z de cada histograma corresponde al
valor mínimo de los datos representados y el extremo superior al
valor máximo, lográndose el óptimo aprovechamiento de la zona de
representación pues se expande así la imagen al máximo en esa zona (efecto Zoom (1)). Opcionalmente se pueden aportar como datos
bien DIMENY, bien CMX, TZ (figura 6).
El origen de coordenadas X, Y, que coincide con el origen
de los índices IX, IY (1X1, IY1), se fija en el vértice inferior
izquierdo del romboide y a efectos del trazado de los histogramas
el eje de abscisas se supone conceptual, uniforme y permanente d:L
vidido en intervalos cuya anchura se discute más adelante .(2.4),
— 7 —
Para los histogramas horizontales, las ordenadas correspori
dientes a los valores de los elementos de matriz se calculan mediante la expresión:
YY (I) = YP + CMV
x
ESC (F (i))
siendo YP la ordenada del origen del histograma en cuestión, menos la ordenada correspondiente al menor elemento de matriz de
la zona de interés, CMV el incremento en cm correspondiente a
una unidad de valor de elemento de matriz, F (i) el valor del Iésimo elemento de matriz de la linea en la zona de interés y ESC
una función que transforma dicho valor según la escala (lineal,
log, etc.) elegida.
Para los histogramas oblicuos, la expresión es:
YY (I) = YP + CMV x ESC (F(l)) + PY »* (1-1) x SIG
donde YP, CMV, F (i), ESC tienen el mismo significado que antes,
SIG = +1, -1 según que el ángulo de perspectiva sea menor o mayor
que 90
y PY = CMY x SIN (FIR) siendo CMY el espaciamiento entre
índices consecutivos en el eje oblicuo, FIR el ángulo de perspectiva en radianes, SIN, la función seno.
2.4.- MÉTODO: PARTICIÓN EN INTERVALOS.
La abscisa del origen (y las de los restantes Índices) de
cada histograma se desplaza a derecha o izquierda (según que el
ángulo sea menor o ma3?or que 90 ) respecto a la del histograma
trazado inmediatamente antes, una cantidad
B
x
PX = B
x
CMY
x
COS (FIR)
- 8-
siendo B el incremento con que se toman los histogramas en direc
ción oblicua, COS, la función coseno. Esa cantidad no resulta
ser necesariamente divisor exacto del espaciamiento CMX en el eje
horizontal, lo que origina que la abscisa de un índice de un nue
vo histograma pueda quedar aproximadamente centrada dentro de uno
de los intervalos en que se Halla dividido el eje de abscisas,
debiéndose asignar a tal intervalo la ordenada del nuevo Índice
y cometiéndose por tanto cierto error. A fin de reducir esta imprecisión y obtener una representación de la máxima fidelidad,
debe minimizarse la anchura de tales intervalos, independiente mente del valor del espaciamiento CMX.
Se consiguen buenos resultados en un tiempo de proceso
razonable, trabajando en todos los histogramas con el mismo número mínimo de intervalos necesario para asegurar que su anchura
sea 0.2 mm, con lo que el error mencionado es inferior a ese va lor, siendo prácticamente inobservable al no apreciarse detalles
en longitudes comparables al grueso del trazo de la pluma. Opcionalmente se puede disminuir tal anchura a 0.1 mía, obteniéndose me
jor precisión a costa de tiempos de proceso algo mayores.
Normalmente, cada espaciamiento CMX limitado por. los indi
ees IX, IX + 1, abarca varios intervalos de trabajo, como ios citados antes, correspondiendo a todos ellos igual ordenada en el
histograma, la del índice inferior IX. Opcionalmente se puede asi
nar a esos intervalos ordenadas distintas obtenidas por interpola
ción lineal entre la 'correspondiente al espaciamiento CMX al que
pertenecen y la del siguiente, lo que combinado con la anchura de
0.1 mm se revela idóneo para la representación de funciones conti
nuas, no apreciándose notablemente su trazado en forma de histo gr-ma.
Debido al desplazamiento de orígenes, el conjunto de in tervalos de abscisas de un histograma dado, debe orlarse al pasar
- 9 -
al siguiente, a derecha o izquierda} según que el ángulo sea menor
o mayor que 90 , con más intervalos, prescindiendo en el extremo
opuesto del mismo número de ellos, de manera que habiéndoles asig
nado las ordenadas de la linea base de cada histograma, permitan
hacer comparaciones en las nuevas regiones de abscisas que necesa
riamente se alcanzan al barrer los histogramas'la región romboi dal. Observándose que con este sistema de orlas no se necesita
mantener en memoria todos los intervalos de abscisas que existen
entre los vértices del romboide más alejado horizontalmente, sino
solamente los que corresponden a cada liistograma y sus orlas, cam
blando sus abscisas de un histograma a otro pero manteniéndose su
número constante, lo que reduce considerablemente el tamaño de me
moria central ocupada.
El número máximo de intervalos (5000) previsto en el programa permite que la anchura de cada intervalo sea 0.2 mm siempre
que la longitud del eje horizontal (o la proyección horizontal del
oblicuo, en histogramas oblicuos) sea inferior a 1 m aproximadamen
te, y 0.1 mm si tal longitud es inferior a 0. 5 ni aproximadamente.
En caso de superarse tales longitudes, se reajusta automáticamente
la anchura del intervalo, seleccionándose un valor superior a 0.2
mm ó 0.1 mm, según la opción elegida, pero siendo el mínimo valor
compatible con el número máximo de intervalos previsto. Igualmente,
si la anchura de un intervalo es mayor que el espaciamiento entre
índices consecutivos, se toma como anchura, el valor de dicho espa_
ciamiento, aplicándose a continuación lo descrito arriba respecto
al número de intervalos.
.
.
2.5.- CARACTERÍSTICAS COMPLEMENTARIAS.
El sistema de partición en intervalos permite reconocer lí neas ocultas en la perspectiva mediante comparaciones en todo his-
- 10 -
tograma a partir del segundo, de la ordenada Y que hay que representar en cada intervalo con la máxima ordenada alcanzada anterio_r
mente en el mismo, de modo que si la primera es inferior a la segunda se dibuja normalmente, y en caso contrario se puede elegir
opcionalmente entre su trazado en color diferente o su eliminación.
Para calcular las ordenadas Y de los puntos representaticos
de los valores de los elementos de matriz se puede elegir una de
las escalas incluidas en el programa pudiendo incorporarse fácil mente a la subrutina ESC (sección 3) nuevas escalas que queden como permanentes.
Las escalas previstas inicialmente se identifican por el va'
lor de ÍES, y son las siguientes:
ÍES
TIPO DE ESCALA
1
lineal
2
logarítmica neperiana
3
logarítmica decimal
4
corte superior.por plano Zl = constante
5
corte inferior por plano Z2 == constante
6
corte entre planos Zl, Z2
7
cortes módulo
Zl.
En la escala ¿, a los elementos de matriz cuyo valor es in
ferior a Zl se les asigna ese valor, obteniéndose por tanto una
imagen del corte superior al plano Zl = cte.
En la escala S,
a
los elementos de matriz superior a Z2 se
les asigna dicho valor, resultando una imagen del corte inferior
al plano Z2 = cte.
En la escala 6, a los elementos inferiores a Zl o superiores a Z2 se les asigna respectivamente el valor Zl, Z2, obteniendo^
se una imagen del corte entre los planos Zl = cte y Z2 = cte. (Zl
debe ser inferior a Z2).
- 11 -
En la escala 7, .el valor de cada elemento de matriz VF se
sustituye por VF - INT (VF/Z1) X Zl, o resto por defecto módulo
Zl, resultando una imagen de los cortes módulo Zl, encajados unos
en otros.
Opcionalmente se dibujan el eje Z con anotaciones de su ti tu
lo y de los valores de los datos representados de acuerdo con la
escala elegida, y los ejes de los índices IX, IY, con sus títulos
EJE X, EJE Y, anotándose en escala lineal sus valores entre 1X1,
1X2 e IYl, IY2, respectivamente. Si- se desea, en uno o en ambos
ejes de IX, IY, aparecen sus valores no entre 1X1, 1X2 e IYl, IY2,
sino entre EX1, EX2, y EYl, EY2, obtenido a partir de las pare jas (1X3, EX3), (1X4, EX4) y (IY3, EY3), (IY4, EY4) (siempre que
se suministren como datos las de un eje dado), mediante la corres
pohdencia lineal:
EX1 = EX3 + (EX3-EX4)
x
(IX1-IX3)/(IX3-IX4)
EX2 = EX3 + (EX3-EX4)
x
(1X2-1X3)/(1X3-1X4)
y análoga para EYl, EY2. Cuando se utiliza tal correspondencia,
se puede emplear como titulos de los ejes IX, IY, las variables al
fanuméricas NITX, NITY aportadas como datos.
El valor del ángulo de perspectiva aparece bajo el eje obli cuo cuando se. trazan los ejes IX, IY y además opcionalmente, se e_s
cribe el nombre de la matriz total encabezando el dibujo, y varias
líneas de comentarios arbitrarios bajo el eje horizontal.
- 12 -
3.- ESTRUCTURA
3.1.- ALMACENAMIENTO DE LA MATRIZ.
Los valores de los elementos de matriz se suponen almacena dos en binario, con variables de tipo REAL, en un fichero de datos
en disco, tipo FASTRAND, con nombre interno 12 (4). La unidad de
información en un fichero tal es el sector, grupo de 2 6 palabras
útiles para almacenar datos. En el sector 0 se guardan siempre el
nombre genérico alfanumérico LABEL, el número de columnas LR y el
número de filas NR de la matriz total. Sus elementos se designan
por los Índices cartesianos IX, IY descritos en 2.1 y deben disponerse en el disco de modo que todos los elementos (LR) de la fila
de índice IY se almacenen consecutivamente, en orden creciente de
columna, a partir del sector,
NRX
x
(IY - 1) + 1
siendo NRX = (LR + 2 5)/26 e l número de sectores necesarios para al^
bergar una f i l a
completa.
Si se emplea la opción de vista 1, o se trazan los histogra mas oblicuos en vista 0, además, deben almacenarse consecutivamente todos los elementos (NR) de la columna IX, a p a r t i r del sector,
NRX s NR+ KRY x (IX - 1)
siendo NRY = (NR + 2 5)/2ó el número de sectores que alberga una c£
lumna completa.
3.2.- SUBPROGRAMAS Y PROGRAMA PRINCIPAL
El programa principal de STEREO hace llamadas a 9 subprogra -
- 1.3 -
mas construidos como él en FORTRAN V para un ordenador UNIVAC 1106,
a saber
GEOMET
MARCO
DATOS
ESC
EJES
STDEN
TEXTOS
GRILLO
DATOS 2
de los que sólo son esenciales para obtener una imagen en perspec_
tiva los 4 primeros, el resto se refieren a las diferentes opciones complementarias que presenta el programa.
Sólo se utilizan de la Biblioteca CALCOMP (5), las subrutinas
básicas:
PLOTS, PLOT, SYMBOL, NUMBER, AXIS, NEWPEN
Para tener acceso directo a los elementos de la matriz almace
nados en disco en fichero tipo FASTRAND, se emplea la subrutina
SETADR (12, ISEC) (6) cuya única misión es seleccionar el sector
ISEC del fichero 12, pudiéndose sustituir por la subrutina adecuada a cada sistema (4.1).
El intercambio de variables entre subprogramas y programa
principal se efectúa a través de las zonas comunes ZC1, ZC2.
El procedimiento de representación de histogramas horizonta les expuestos en la sección 2, forma el núcleo fundamental del pro
grama principal, en el que además se ha leido previa y directamente, de tarjetas, los datos numéricos y alfanuméricos necesarios,
contándose automáticamente el número de lineas de texto (sección
4) deseado y se efectúan llamadas a los subprogramas mencionados
- lá -
arriba cuando éstos deben ejecutarse, todo ello de acuerdo con el
organigrama de la figura 7•
Tales subprogramas desempeñan funciones como cálculo de características geométricas (GEOMET, MARCO), operaciones de lectura
de datos del fichero en disco (DATOS), transformación de valores
de los datos leidos, según la escala elegida (ESC), trazado de
ejes (EJES), escritura del nombre global (STDEN), y de comentarios
de cada dibujo (TEXTOS). El subprograma GRILLO tiene una estructu
ra semejante a la del programa principal y se encarga de trazar,
si procede, los histogramas oblicuos, desempeñando DATOS 2. fun ción equivalente a DATOS.
El listado completo se expone en la sección 5-
3.3-- DATOS TÉCNICOS.
- Titulo del Programa: STEREO
- Diseñado para ordenador: UNIVAC 1106. Centro de Cálculo JEN-MADRID.
- Lenguaje de programación: FORTRAN V.
- Memoria ocupada por el programa STEREO:
- Campo de Instrucciones = 4 . 5 K.
- Campo de Datos = 38 K.
.
- Memoria total requerida por el Programa STEREO, subrutinas necesarias de CALCOMP y sistema ejecutivo:
- Campo de instrucciones = 10-5 K- Campo de datos = 40.5 K.
- No exige segmentación.
- Periféricos: 1 unidad de cinta magnética, 1 unidad de disco, tr^a
zador digital CALCOMP-936 y unidad de control CALCOMP-905.
- Número de tarjetas del programa: OSO. Su número puede parecer
elevado pero es originado por la gran cantidad de opciones,de eri
trada-salida y sobre todo por GRILLO (300 tarjetas), púdiendo se
- 15 -
ñalarse que una versión reducida del programa podría requerir tan
sólo unas 320 tarjetas. Con ligerffi correcciones se podría también
eliminar la unidad de disco sustituyéndola por una cinta (no.rec£
mendable) y traducir el programa para ser tratado por un procesador
FORTRAN IV.
Como consecuencia del sistema de representación empleado,
descrito en 2.2, sólo es preciso mantener en la memoria principal
a lo sumo una fila de la matriz total, lo que permite trabajar con
matrices de gran número de elementos. Se ha supuesto la matriz re£
tangular, con dimensiones máximas 1K x 1K, ampliables a nK x nK
con un incremento de. memoria principal ocupada de sólo (n - 1) K
palabras.
Como resultado de la ejecución del programa se obtienen por
la impresora los valores de los parámetros de interés de cada dibu
jo,grabándose en cinta magnética información de los movimientos
que debe ejecutar la pluma del trazador.
Finalizado el programa, la cinta grabada' permite controlar
al trazador CALCOMP-936 a través de la unidad CALCOMP-905, obtenién
dose la imagen gráfica en diferido, debiéndose distinguir dos clases de tiempos:
19) tiempo de cálculo, de proceso de datos en el ordenador
UNIVAC 1106.
22) tiempo de trazado, en la unidad CALCOMP-93 6.
Los tiempos de cálculo y de trazado dependen no sólo del número de elementos de la matriz de interés sino también de la anchu
ra de intervalo utilizada y de los valores mismos de los datos.
Veáse en 4-3 una estimación de tiempos para gráficas típicas.
- 16 -
4-- APLICACIÓN Y RESULTADOS
4-1.- DATOS DE ENTRADA.
Los valores de los elementos de la ma-triz total deben estar
almacenados en disco, en un fichero tipo FASTRAND, con nombre interno 12, de la forma expuesta en 3-1.
Puede ocurrir que no sea posible o no convenga mantener el
fichero 12 catalagoda permanentemente en disco, en cuyo caso es
preciso construirlo temporalmente, antes de que se ejecute el pro
grama STEREO. El procedimiento más sencillo es disponer de una
cinta magnética en la que se copia el fichero con nombre 20 tal y
como debe estructurarse en disco con nombre 12. Para ello, convie
ne, en programa aparte, crear el fichero en disco (con nombre arbitrario, N) adecuadamente, y copiarlo en la cinta magnética 20
mediante'la instrucción de control '«ÍCOPY, GM N, 20. De esta fo£
ma bastara antes de ejecutar STEREO copiar de nuevo la cinta en
el fichero 12 en disco, mediante la instrucción ^COPY, G 20, 12
(sección 5). La copia en cinta actúa como fichero primario, fuente, mientras el fichero 12 en disco es el fichero sobre el que
trabaja directamente el programa.
Se puede sustituir el fichero 12 en disco por uno en cinta
magnética (también en binario) con la siguiente estructura de blo
que s:
Bloque 1: LABEL, LR, NR.
Bloque i: (i = 2,3-••, NR, NR + 1). Todos los elementos de la fila
IY = i - 1 de la matriz total (LR valores), en orden creciente de
columnas, sin tener en cuenta más que cada llamada a la,subrutina
SETADR (12, ISEC) debe reemplazarse por otra cuyo efecto sea si tuar la unidad lectora de la cinta 12 al comienzo del bloque
i = ISEC + 1 , con la única particularidad de que los valores de
- 17 -
ISEC deben calcularse con INRX = NRY = 1 (instrucciones 16, 17 del
programa principal) . Si se desea emplear vist?. 1 o histogramas
oblicuos en vista 0, además, el bloque j (j = ííR + 2, MR + 3,. • .,
NR + LR + 1) debe almacenar todos los elementos de la columna
IX = j - NR - 1 de la matriz total (NR valores), en orden creciera
te del Índice IY.
Los datos numéricos y alfanuméricos necesarios se suministran'
en tarjetas perforadas, cíclicamente, pudiéndose obtener varios
dibujos de zonas no necesariamente idénticas de la misma matriz
total, con una sola ejecución del programa.
Para un dibujo dado, son los siguientes (las longitudes se
suponen expresadas en cm.):
Tarjeta 1: en las columnas 1-3, literalmente DIB, no interpretándose el resto.
Tarjeta 2:
COLUMNA
FORMATO
11-15
1X1
1X2
Índice IX inicial
16-20
15
15
21-25
15
IY1
Índice IY inicial
26-30
15
IY2
31-35
F5-0
DIMSNX
anchura rectángulo encua
dre
3 6-40
F5.0
DIMENY
altura rectángulo encuadre .
41-45
F5-0
CMX
espaciamiento entre índi_
ees en eje horizontal
(IX en vista 0, IY en vis;
ta 1) .
46-50
F5 .0
F5 .0
TZ
FIG
Tamaño eje Z.
ángulo de perspectiva en
grados
51-55
56-60
I• 5
VALOR DE
ÍES-
SIGNIFICADO
"
•
"
" final
" final
índice de escala, control
eje Z
- 18 -
COLUMNA
FORMATO
VALOR DE
SIGNIFICADO
61-65
15
IEJES
control d e ejes e histo
gramas
66-70
15
IDEN
control d e titulo
71-75
F5.0
k
incremeir t o
de Índices
en eje horizontal, para
histograraa oblicuo
76-80
Tarjeta 3 :
F5-0
incremento de Índices
en eje oblicuo, para his
tograma horizontal
F5-0
F5.0
Zl
Z2
parámetros de escalas
(sec. 2.5)
U-15
A5
NITX
título índice IX
16-20
15
1X3
valor índice IX
21-25
F5.0
EX 3
valor correspondiente a
índice 1X3
26-30
15
1X4
valor índice IX
31-35
F5-0
EX4
valor correspondiente a
índice 1X4
36-40
A5
NITY
título índice IY
41-45
15
IY3
valor índice IY
46-50
F5.0
EY3
valor correspondiente a
índice IY3
51-55
15
IY4
56-60
F5-0
EY4
valor correspondiente a
índice IY4
61-65
15
INTERP
control de interpolación
y número de intervalos
66-70
15
I0C .
control de líneas ocultas
71-75
15
IVIS
índice de vista
76-80
F5-0
R
factor de reducción CMJT/
CMX
1-5 '
6-10
'
valor índice IY
Tarjeta 4¡ 1-3, literalmente TEX, no interpretándose el resto.
- 19 -
Cada tarjeta que siga (máximo, 9 ) , se supone que contiene
en las columnas 11-40, una linea de comentarios, a razón por tanto, de 30 caracteres por linea. Si no se desean textos, tras las
•tarjetas TEX no se pone ninguna tarjeta de comentarios.
Por cada nuevo dibujo de otra o idéntica zona de interés de
la matriz, se añade una nueva tarjeta DIB como la 1 § y se procede
como en las siguientes. Si los comentarios de un dibujo son los
mismos que los del dibujo inmediato anterior no es preciso repe tirios como datos, sino tan sólo emplear en lugar de la tarjeta
TEX una que lleve perforadas en las columnas 1-4 los caracteres
TEX = suprimiendo las de comentarios que deberían ir a continua ~
ción.
Cuando ya no hay más gráficas que dibujar, en lugar de una
tarjeta DIB se coloca una que en las columnas 1-3 ponga FIN.
4-2.- OPCIONES
En primer lugar, 1X1 (IY1) puede ser mayor que 1X2 (IY2),
obteniéndose el eje de Índice IX (IY) decreciente.
Si el valor de CMX es menor o igual que cero (perforado o en
blanco), se entiende que se desea dar preferencia a las dimensio- •
nes del rectángulo de encuadre DIMENX, DIMENY, para el cálculo de
las dimensiones geométricas del dibujo sobre el papel, calculándjo
se automáticamente los valores de CMX, TZ adecuados a tales dimen
siones. Si CMX es mayor que cero, se da preferencia a los valores
de CMX, TZ perforados, calculándose los adecuados para DIMENX, DI_
MENY, aunque se hubiesen perforado otros. En cualquier caso, el
valor máximo de DIMENY es 8 5 cm y el de DIMENX viene limitado por
la longitud del papel.
Cuando se ha dado preferencia a los valores DIMENX, DIMENY,
y se obtiene por la impresora un mensaje con el valor de TZ, y ade_
más los símbolos,
- 20 -
+ DIMENY, -SIN (FIR), -DIMENX
indica que se debe aumentar el valor de DIMENY o emplear un ángulo de perspectiva cuyo seno sea menor o disminuir el valor de DIMENX .
F1G representa el valor del ángulo de perspectiva, en grados,
entre 0° y 180°.
ÍES designa la escala deseada para representar los valores
de los elementos de matriz (2.5)- Si ÍES £ 0, no se traza el eje
Z.
El signo de IEJES determina si se desea o no que aparezcan
los ejes de los índices de la matriz (sección 2.5)• Si IEJES es
mayor que 0, se trazan los ejes de los Índices IX e YY, con anot£
ciones que dependen de los valores especificados para 1X3, 1X4,
IY3, IY4, tal como se ha explicado en 2.5, y en casp de ser IEJES
é. 0, no se trazarán tales ejes, quedando por tanto sin efecto las
especificaciones relativas a 1X3, 1X4, IY3, IY4El valor absoluto de IEJES controla los tipos de histogramas
deseados, pudiendo valer 1 (solamente histogramas horizontales),
2 (solamente histogramas oblicuos), 3 (histogramas horizontales y
oblicuos en la misma gráfica).
Si IDEN es mayor que 0 se traza, encabezando el dibujo, el tí
tulo LABEL, de la matriz total almacenada en disco, omitiéndose,
si IDEN es menor o igual que 0 (perforado o en blanco).
A (B) debe ser siempre positivo, entero, representando el in
cremento con que se examinan los índices del eje horizontal (obla,
cuo) a efectos de trazar los histogramas oblicuos (horizontales).
Si se omiten se asigna automáticamente, valor 1.
Para las escalas 4,5,6 (2,5), Zl representa el valor de elemento de matriz del corte inferior, y Z2 el del corte superior. En
la escala 6, Zl debe ser menor que Z2. En las escala 7, Zl representa el módulo de corte.
- 21 -
Si 1X3 e 1X4 son mayores que 0, las anotaciones que aparecerán en el eje del Índice IX no son sus valores entre 1X1, 1X2,
sino entre EX1, EX2 (2.5)* de acuerdo con la correspondencia li neal entre 1X3, 1X4, y EX3, EX4 y además el titulo del eje será
NITX (5 caracteres). SÍ.IX3 e 1X4 son cero o negativos (perforados
o en blanco) aparecerán los valores entre 1X1, 1X2, y el titulo
estándar, EJE X.
"
-
•
Para IY3 e IY4 se aplica lo mismo explicado p-ra 1X3, 1X4El signo de INTERP determina si se realiza o no interpola ción entre elementos de matriz, verificándose ésta cuando es posi
tivo y omitiéndose si es negativo o cero. Si el valor absoluto de
INTERP es 1, se emplea además como anchura de intervalo, 0.1. mm,
y 0.2 mm si tal valor es superior a 1 (sección 2.4).
Si IOC es mayor que 0 se trazan las lineas ocultas en la pers
pectiva con la pluma 2, y si IOC es menor o igual que 0, ce omite
su trazado, sin necesidad de retirar la pluma 2 de su emplazamien
to.
IVIS debe valer 0 (vista 0) ó 1 (vista 1) únicamente.
R puede ser mayor, menor o igual que 1. Si es negativo o cero se toma igual a l .
4.3.- RESULTADOS.
A continuación se exponen varios ejemplos de aplicación del
programa, tanto a datos experimentales como a una función de dos
variables.
a) Se ha tabulado la función
Y = A M EXP (-AX s. (X-XO) « M 2 - AY s» (Y-YO) xx2) * COS
(KX x (X-XO) * K 2 + KY x (Y-YO) x H 2 )
con A = 10, X0 = 256, YO = 50, AX = 256, AY =
50 , KX =,0000?
*• 22 -
KY = 0.00175 desde X = 1 hasta X = 512 y desde Y = 1 hasta Y =
100, obteniéndose una matriz de 512 x 100 elementos, que se graba
en cinta magnética conforme a lo indicado en 3.1.
Para poder aplicar STEREO basta copiar esa cinta en el fi chero 12 en disco, como se expuso en 4.1.
Con las tarjetas de datos especificadas en la figura 8 se
obtienen los resultados de las figuras Q, 10.
•
.
El tiempo de cálculo por dibujo es de 0.8 minutos y el tiem
po medio de trazado es de 7 minutos.
b) Los datos experimentales de una experiencia de coinciden
cias gamma-gamma de 512 x 512 canales realizada en el Laboratorio
de Espectrometria de la Sección de Física Nuclear de la J.E.N. se
han grabado en cinta magnética conforme a lo expuesto en 3-1»
Tras ser copiada en disco y con las tarjetas de datos especificadas en la figura 11, se obtienen los resultados de las figu
ras 12, 13, observándose claramente los máximos de coincidencia.
5."- LISTADO
•
A continuación se da el listado del programa principal y de
los 9 subprogramas descritos en 3.1-
-lo
05/11-21:06:3?
'UO
¡UO
•UÜ
C0HM0N/ZCl/IXlrIX2»IYl»IY2»Xl»X2»Yl»Y2,FIR»FIGtIES»fe:XTX,EXTY»TX»
lTY»TZ»uIME¡>iX»DIMENY»NTEX»TT»FMlNrFMAX»CMVrCMY»NY»CMx»NX,CEMIN»
2XPrYP»pX-»PY»F(5000) t XX (5000 ) t YY (5000) »IY t X (5000 ) t Y (5000 ) »YA (5000)
ü
E
E
»
í*EY3»IYHrEY^»NlTX»NITYfIEJESfNRXrNRYrlYMXflXMX»INTERPtIOcrlVIS»RtIT
COHMON/ZC2/YCC5000)»Z1»Z2
DATA IFIN/'FIN»/
DATA NyEV/»DIB'/
DATA luí/O/
NPUN=5u00
•
. .. . .
•
CALL 5c.TADR(12rO)
KEAD(l2)LABEL»LRrNR
•
.
WKlTE(O'600)LABELrLR»NR
600 F0RMATilHlt9X»«PROGRAMA STEREO.PERSPECTIVA CABALLERA DE LA MATRIZ
1»>A5»' DE»»I8»f X»»I8»' ELEMENTOS.'»/»10Xr88(•*•))
UO
IÜO
¡UO
iUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
NKX=(LR+25)/26
NHY=(NK+25)/26
JUO
JUO
JÜO
READ(5,500)ICONTR
5U0 FORHAT(A3)
23 IF(ICO¡jTR.EQ.IFIN)GO TO 999
JUO
JUO
JUÜ
JUO
OUÜ
ÜUO
000
ÜUO
ÜUO
ÜUO
IF(ICONTR.NE.NUEV)GO
UUO
000
000
000
OüO
ÜUO
UUO
000
OUO
UUO
UUO
UUO
OUO
ÜUO
UOO
000
000
OUO
000
OUO
OUO
OUO
UUO
ÜUO
UUÜ
ÜUO
000
ÜUO
ÜUO
ÜUO
TO
999
READ(5,502)IXl»IX2rIYl»lY2»DIMENX»DIMENY»CMX»TZ»FlGrIES»IEJEStl0EN
lrA»B»ZirZ2»NITXfIX3rEX3rIX4»EXí+»NITY»lY3fEY3»IY4rEYutINTERPrlOCpiy
2IS»R
' 502 FORMAT(10X»m5»5F5.0t3I5»2F5.0»/»2F5.0r2(A5r2(I5»F5.0) }f3I5fF5.0)
IDI=1D¿+1 AA=A
A=B --•'
B=AA
IF(A.L-|..0001)Asl.
IF(B.LT..0001)B=1.
IF(R.LE.0.)R=1.
IGRI=IABS(IEJES)
•
IVIS=lABS( IVIS)
- IET=1
— IF(IES,LT.Ü)IET=-1
lESrlAaSlIES)
IT=O
IF(INT£RP.£Q.1,OR.INTERP.EQ.-1)IT=1
FMIN=lo**lO
FMAX=-pMIN
INlTX=wITX
• —
-
-•
I!MITY=NITY
11X3=1X3
11X4=1x4
'
IIY3=IY3
IIY4=lY4
•-EEX3=EX3
EEXí*.=EX'+
EEY3=EY3
EEYi+=EY4
IAl=IXi
IA2=IX2
IBlrlYi
IB2=IY2
IF(IVI5.£Q.O)60 TO
IXIrIBi
IX2=IB2
•
IY1=IA2
1Y2=IAI
-••- -
•
-
-
-
-•
.•
iUO
¡UÜ
NITX=INITY
)UO
JUO .
IX3=llY3
IX4=ílY4
!UO
IY3=IIx3
IUO
IY4=IIx4
EX3=EEy3
N1TY=I|^ITX
'UÜ
!UÜ
JUÜ
JUÜ
EX4=EEY4
EY3=EEx3
EY4=EEA4
JUO
jUO
JUO
JUÜ
JUÜ
LRNR=LK
LR=MR
NK=LRNK
0 4444 CONTINÚE
Y2=FMAx
JUO
JUO
JUO
JUO
JUO
ÜUO
Y1=FMIN
IYE=1
NX=IABsCIX2-IXl)+l
IF(IY1.GT.IY2)IYE=-1
DO 901 IY=IYl»IY2rIYE
CALL DATOS
DO 901 IX=lfNX
IF(E5C(FÍIX) ) .GE.YDGO TO 903
Y1=ESC(F(IX>)
IXMN=Ix
ÜUO
ouo
ÜUO
ÜÜO
ouo
ÜÜO
ÜUO
7 Y jyifvJZI» X Y*
ouo
ÜUO
uuo
ÜUO
UÜO
ouo
ÜUO
ooouuo
ouo
ÜUO
uuo
ouo
ouo
uuo
ÜUO
uuo
OÜO
ouo
ouo
IYNZ=lY
9Ü2 IF(ESC(F(IX) ) .LE.Y2)G0 TO 904 -----
Y2=ESC(F<IX))
IXMX=Ix
IYMX=IY
9Ü4 IFlF(Ix).LE.FMAXJGO TO 901
FMAX=F(IX)
IXMZ=Ix
9U1 CONTINUÉ
IF(IX1.GT.IX2)GO TO 81
IXMN=IxMN+IXl-l
IXMX=IxMX+IXl-l
IXMZ=IXMZ+IX1-1
IXNZ=IxNZ+IXl-l
Gü TO bO
81 IXMN=-lXMN+IXl+l
IXMX=-lXMX+IXl+l
IXMZ=-IXMZ+IX1+1
IXNZ=-1XNZ+IX1+1
80 CONTINuE
DATA I G U A / 4 H T E X = /
READ(5,5Ü4)IC0M
5U<4 F0RMAT(A4)
I F ( I C O M . E Q . I G U A ) G O TO
OUO
UUÜ
uuo
ouo
UÜO
ÜUO
ÜUO
ouo
UUÜ
"'
IXNZ=Ix
ÜÜO
ÜUO
OÜO
"*
9U3 IF(FUx>«Gt.FMIN)GO TO 902
FMIN=F(IX)
ouo
ÜÜO
ÜUO
•
5U1
21
22
24
24
DO 21 1=1»10
READ(5,501)ICONTR»(XTEX(IrJ)fJ=l» 5)
F0RMAT(A3»7X»5A6)
IF(ICO¡,iTR.EQ.NUEV)GO TO 22
IFtICOuTR.ER.IFIN)GO TO 22
CONTINUÉ
NTEX=I-1
IF(ICOM,EQ.IGUA)READ(5»500)ICONTR
CALL G£0MET($23)
•-U0
ÍUÜ
JUÜ
¡00
;U0
)U0
<U0
)U0
JUÜ
JUO
)U0
JUU
JUO
JUO
STDEN
NXD=TX*50.+.999
IF (IT.c.Q.DNXÜ=TX*100. +
CMXD=Tx/FLOATtNXD)
IF(CMXú.GT.CMX)NXD=TX/CMX+.999
IF(IDEN.GT.O)CALL
IF(CMXD.GT.CMX)CMXD=CMX
• I F d G H x , E Q . ? ) G O TO 9 9 8
YP=-CE r /,lN
XP=O.
NU=ABS(PX)*A/CMXD+.999
l F ( N X L ) + 2 * N ü . L E . 5 0 0 0 ) 6 0 TO 9
Clv!XD=(TX+2*A*CMX)/NPUN
ND=ABSiPX)*A/CMXD+.999
NXD=50u0-2*N0
JUO
9 CONTINjE
JUO
IY=IY1
JUO
CALL DATOS
JUO
IGRA=1
JUO
Xll)=-rLOAT(HD)*CMXD
JUO
Y(1)=O.
JUO
ÜO 1 I=2»ND
JUO
X(I)=X(I-1)+CMXD
JUO
Y(I>=0.
JUÜ
1 CONTINUÉ
JUO
ND1=ND+1
JüO
NXX=NXü+ND
JUÜ
IFlINTc.RP.GT.O) GO TO 1499
JOO
ü=l
JUO
DO 2 IrNDlfNXX
JUO
X(I)=X(I-1)+CMXD
JUO
IF(X(I).GE.CMX*FLOAT<Ü))J=J+1
JUÜ
YU)=Yp+CMV*ESC(F(J>)
JUO
2 CONTINUÉ
JUO
01499 IF(INTERP.LE.0)GO TO 404
JUO
ü=l
UÜO
NNN=NDi
UUO
P=(FC2)-F(1))/CMX
UUO -••
DO 402 I=ND1»NXX
OUO
X<I)=X(I-1)+CMXD
UUO
IF(X(I).LT.CMX*FLOAT(J))GO TO 403
UUO
J=J+1
UUO
NNNzI
UUO
P=(F(J+1)-F(J))/CMX
ÜUO
4U3 FF=F(J)+P*(X(I)-X(NNN))
UUO
YU)=Yp+CMV*ESC(FF)
UUO
4U2 CONTINyE
UUO
4U4 CONTINUÉ
UUO
NXX1=NXX+1
UUO
NXT=NXx+ND
OUO
DO 3 I=NXX1»NXT
UUO
X(I)=X(I-1)+CMXD
ÜUO
Y(I)=O.
UUÜ
3 CONTINuE
OUO
CALL PLOT(X(ND1)rO.»3)
UUÜ
CALL PLOTÍX(NDl)»Y(NDD»2)
UUO
CALL PLOT(X(NU1+1)rY(NDl)»2)
UUO
ND2=NDj. + l
UUO
DO 17 ¿=ND2fNXX
UUO
CALL PLOTÍX(I)»Y(I)r2)
UUO
CALL Pi_OT(X(I+l) »YtI)»2)
UUO
17 CONTINuE
OUO
CALL PLOT(X(NXX1)»0.»2)
UUÜ
IYll=lYl+A
UÜ
UO
UÜ
UO
UÜ
UO
UO
UÜ
UO
Uü
UÜ
UO
UÜ
UÜ
'UO
UO
¡UO
IUÜ
IUO
iUO
¡UO
iUO
JÜO
!U0
1U0
)U0
JUO
JÜO
!U0
JÜO
JÜO
JUO
)U0
¡00
1U0
JUÜ
JUÜ
)U0
JUO
JUÜ
JÜÜ
Jüü
JUO
JUO
JUU
JUO
JUO
JÜO
JUO
JUO
•JUÜ
JÜO
DÚO
ÜÜO
UUO
UÜO
ÜUO
UUO
UUO
üüü
ÜUO
Uüü
UUO
)YB=ABS(Y(NXX1-ND1 + I -
IF(_YB.LT.ABS(Y(NXX1-ND1+ I -
X(1)=X{I-1)-CMXD*FLOAT(ND)
Yll)=Yp+CEMIN
YYtl)=Y(l)
DO 12 J=2»ND
X(J)=X(J-1)+CMXD
Y(J)=Yp+CEMIN
YY(J)=Y(J)
12 CONTINuE
Dü 13 J=NDlfNXT
XCJ)=X(J-1)+CMXD
YlJ)=Ye(ü-NDl+I-l)
YY(ü)=yA(ü-Nül+I-l)
13. CONTINuE
60 TO 92
69
YS=YP+CEMIN
IF(YS.LT.ABSÍYÍI-l)) )YS=ABS(Y(I-D)
YB=YP+CEMIN
DO líf o = l rND
X(ND-J+1)=X(IM2-J+I)
Y(Nn-J+l)=YC(IM2-J+l)
YY(ND-J+1)=YA(IM2-J+1)
14 CONTINuE :
DO 15 J=¡4D1»NXX
XU)=X(J-1)+CMXD
YlJ)=YcdMl+J-NDl->
YY(J)=YA(IM1+J-ND1)
15 CONTINuE
DO
16 J=NXX1*NXT
••-
-
XÍÜ)=X(J-1)+CMXD
-•-
--
-
YU)=Yp+CEMIN
YY(J)=y(J)
16 CONTINyE
92 CONTINuE
C LUBUJA LOs PUNTOS DE LA ZONA•CENTRALÍSIN LAS ORLAS.
IF(ieRA-lGRA/2*2.EQ.0)GO TO 8 •••CALL PuOT(X(NÜl)»YS»3)
IP=2
IF(Y(NU1).LT.O.)IP=3
IF(IOC.6T.0.AND.IP.EQ.3)CALL NEWPENC2)
CALL PLOT(X(NÜ1)tABS(YCNDl))»IP)
CALL NtWPEN(l) IP=2
IFÍY(Nol).LT.O.)IP=3
IFUOC,GT.0.AND.IP.EQ.3)CALL NEWPENC2)
CALL P L O T ( X ( N D 1 + 1 ) » A B S ( Y ( N D 1 ) ) » I P )
CALL NtWPEN(l)
IPV=IP
IFUOC.LE.QJGO TO 1000
IP=2
NPV=1
DO 190u I=ND2»NXX
NP=1
IKlY(l).GE.0)GO TO 1901
NP=2
01901 I F ( N P . N E . N P V ) C A L L NEWPENlNP)
CALL PLOT(XCI)»ABSÍY(I))iZ)
CALL P L O T ( X ( I + 1 ) r A 6 S C Y I D ) r2>
NPV=NP
019UÜ CONTINuE
IF(YINAX).LT.0.)IP=3
IF(IY1.GT.IY2)IY11=IY1-A
IF(IY1,EQ.IY2)GO TO 998
JUO
IYD=A
JUD
IF(IYll.GT.IY2)IYD=-A
JUO
JUO
DO 444 IY=lYllrIY2»IYD
IGRA=l6RA+l
JUO
XP=XP+pX*A
JUO
YP=YP<-pY*A
JUÜ
CALL U A T O S
IUO
XX(l)=xP
JUO
YY(l)=yP+CMV*ESC(F(l))
JUO
Dü 5 1=2»NX
JUO
XX(I)=xX(I-l)+CMX
JUO
. YY(I)=YP+CMV*£SC(F(I))
JUO
5 CONTINyE
UUO
C PONE EN YA LAS VIEJAS Y NEGATIVAS,O SI ES SUPERIOFUYY,
JUO
IF(INT¿RP.6T.0)G0 TO 1500
ÜÜO
N=l
QUO
:
DO 6 1=1»NX
UUO
DO ? J=NrNXT
ÜUO
IF(XX(D.GE.X(Ü))G0 TO 71
ÜUO
IF(XX(l)+Civ¡X.LT.X{J) )G0 TO 18
000
YA(J-1)=YY(I)
UUO
YC(J-lj=YAU-l)
UUO
IF(YY(D.GT.YtJ-1))G0 TO 7
UUO
YA(J-l)=Y(J-l)
-UUO
YC(J-1)=-YY(I)
000
GO TO 7
ÜÜO
00071
YA(J)=Y(J)
000
Y
C(J)=YA(J)
000
7
CONTINUÉ
OUO
16 N=J
- -OUO
6 CONTINUÉ
OUO
Ü15U0 IF(INT£RP.LE.0)GO TO 424
UUO
N=l
ÜUO
DO 426 I=lrNX
UUO
P=(F(I+1)-F(I))/CMX
ÜUO DO 427 J=N»NXT
••••OÜO
IF(XX(D.GE.X(J))G0 TO 471
000
IF(XX(i)+CMX.LT.X(J))GO TO 418
ÜUO
FF= F(D+P*(Xlü-l)-XX(I))
UOO
YA(J-1)=YP+CMV*ESC(FF)
OÜO
YC(J-1}=YA(J-1)
UUO
IF(YA(J-1).GT.Y(J-l))G0 TO 427
OUO
YC(J-1)=-YA(J-1)
ÜUO
YA(J-1)=Y(J-1)
UUO
GO TO 427
ÜUO
471 YAU)=Y(J)
ÜUO
ÜÜO
YC(Ü)=YA(J)
427 CONTINUÉ
ÜUÜ
418 N=J
ÜUO
426 CONTINuE
ÜÜO
424 CONTINuE
OUO
•
YA(NXTj=YY(NX)
UÜÜ
YC(NXT)=YAÍNXT)
ÜUO
ÜUO
IF(YY(¡jX).LE.ABS(Y(NXT)) )YC(NXT)=-YY(NX>
C ORLA LOS EXTREMOS DE YA Y LO PONE EN Y.
ÜÜO
DO 10 I=lrNXT
UUO
IF(XXU) •LT.XU) )G0 TO 11
000
ÜÜÜ
10 CONTINuE
11 IF(FIG.LT.90.)GO TO 89
OUO
YS=YP+CEMIN
ÜUO
YB=YP+cEMIN
ÜÜO
Uü
Uü
Uü
01UUÜ
UÜ
UO
UO
UO
UO
UO
UO
UO
UO
fUO
¡UO
00031
19
.UO
iUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JOO
JUO
)UQ
00008
CALL PLOT(X(HXX1)fYB»IP)
GO TO 4
CONTINuE
DO 19 I=ND2fNXX
IF(Yd) .LT.0.)GO TO 31
1F(IPV.EQ.3)CALL PLOT(Xd) >ABS(YYd-l) ) ,3)
CALL PuOT(Xd)fYd) f2)"
CALL PL0T(X(I+l)»YÍI)r2)
IPV=2
GO TO X 9
IF(IPV.EG.3)G0 TO 19
CALL P L O T Í X ( I ) -f ABS(YYd) ) tZ)
IPV=3
CONTINuE
CALL PLOT(X(NXX1)»YBfIPV)
GO TO 4
CONTINuE
CALL PLOT(XCNXXl)»YBÍ3)
IP=2
.'••
IF(Y(NxX).LT.0,)IP=3
IF(IOC,GT.0.AND.IP.EQ•3)CALL NEwPEN(2)
CALL P L O T ( X ( N X X 1 > »ABS(Y(NXX))»IP)
CALL NtWPEN(l)
IP=2
IF(Y(N/X),LT.0.)IP=3
IFdOC,GT.0.AND.IP.EQ.3)CALL NEWPEN(2)
CALL PLOTCX(NXX)rABSÍY(NXX))tIP)
CALL N£WPEN(1)
IPV=IP
IF(IOC,LE.0)GO TO 1001
)UO
n in
J VJ V
JUÜ
JUÜ
JÜO
JUO
JüÜ
020U1
JUO
JUO
3UO
JUO
300
JUÜ
JUO
UUÜ
JÜO
JUÜ
ÜUO
ÜUO
ÜUO
000
ÜUO
ÜUO
020Ü0
010U1
00032
ÜÜO
ÜUO
ÜUO
UUO
ÜUO
UUO
UUÜ
ÜUÜ
000
ÜUÜ
20
i+
DO 200o I=NXX»ND2>-1
NP=1
IF(Yd-l) ,GE.0)GO TO 2001
NP=2
IF(NP,wE.NPV)CALL NEWPEN(NP)
CALL PLOT(Xd) f ABS(Yd-l) ) »2)
CALL PLOT(X(I-l)»ABS(Yd-l))f2)
NPV=NP
CONTINuE
IFCY(NDl).LT.0)IP=3
CALL PLOT(XÍNDI)rYS»IP)
GO TO 4
.
CONTINuE
DO 20 l=NXXrNÜ2»-l
IF(Yd-l) .LT.Ü.)GO TO 32
IFdPV,EQ.3)CALL PLOT(X( I) t ABS (YY(I) ) »3>
CALL P L O T ( X ( I ) » Y ( I - 1 ) » 2 )
CALL PLOT(Xd-l) »Yd-l)>2)
IPV=2
GO TO 20
IF(IPV,EQ.3)GO TO 20
CALL PLOT(X(I)»ABSCYY(I-1))f2)
IPV=3
CONTINuE
CALL PLOTCX(ÍNIDI) rYS» IPV)
DO lOOj IK=1»NXT
01003 YdK)=YY(IK)
444 CONTINUÉ
00998 CONTINuE
IF(IGRi.GE.2)CALL GRILLO
IES=IES*IET
•
UO
UO
UO
UO
CALL EjES
NYD=Y1
CMYD=Y2
CALL 5 L T A D K ( 1 2 » 0 )
00
READ(1H)LABEL»LR»NR
UO
UO
UO
UO
UO
CALL TEXTOS
CALL PLOT(-XO»-YOf-3)
CALL P|_OT(Ü. rDIMENY+4. r-3)
IXMXX=IXMZ
IF(IVIs.EQ.l)IXMZ=IYMZ
Uü
UO
UO
•'UO
1UO
IUO
IMIVIS.EG.1)IYMZ=IXMXX
IXMXX=¿XNZ
lF(IVIb.EQ.l)lXNZ=IYNZ
IF(IVIS.EQ.1)1YNZ=IXMXX
NX=IABs(XA2-IAl)+l
NY=IABs(IBü-IBl)+l
)UO
WRITE(ó»601)lDI»lAl»IA2»IBlrIB2»NXrNY»IVIS»FI6iR»A»B'FMAX»lXMZ»
JUO
lIYMZrFhíNrIXNZrIYNZrlESfIEJEZÍIES)
iOO
00601 FORMÁT(1X»///»10X»*DlBUJO»»I3»/,10Xf«ZONA DE INTERÉS*IXl = «t14»',IX
JUO
22='»I4, « )XUY1=« »I4r «fIY2=» ,14, t ) i ,2X»' = '»Ií+»«X« »I4» • ELEMENTOS»»
IUO
3/'lOX,»V1STA=»,13,3X,«ÁNGULO DE PERSPECTIVAS ,F7.2» » GRADOS»»3X»«
)U0
4FACT0R DE REDUCCIÓN OBLICUOr CMY/CMX =»»F7.2,/,10X*»INCREMENTO A=»
IUO
4»F7.O,¿X»«INCREMENTO OBLICUO B=t»F7.O,/,10X»'MÁXIMO FMAx=»»F10.3»'
JUO
«• EN(IX = »»H*» f »IY=»»l4»«)»»3Xí/í
lOXf «MÍNIMO FMIN=»,FIO.3r» EN(IX=
IUO
5» »I4# » ,IY=»»I4» «)'#.3Xr/rlOX» «ESCALA DEL EJE Z» IES=« , 13» « ( ' t Aó» ' ) ')
JUO '
IF(IIX3.GT.0)WRITE(6»602)IIX3rEEX3rIIXt+rEEX4»INlTX
JUO
602 FORMAT{10X»'ESCALA DE VALORES EN ÍNDICE IX=»tZXt •1X3='*I^f2Xr'EX3=
JUO
1« fF10.¿»2X»«IX4=« r m » 2 X r «EXít='fFiOt3r • (»#A6f ») »)
JUO
IF{IIY¿.GT.0)WRITE(6»603)IIY3»EEY3»IIY4»EEY4»INITY
JUO
6U3 FORMAT(10Xr «ESCALA DE VALORES EN ÍNDICE IY=« r3Xf • IY3=« t I*»»2Xr «EY3=
)00
1» rFlO.¿f2Xr «lYí+='f 14» 2Xt «EY4='»F1O.3» • ('r Aó» «) • )
:
JOO
IFlINTj£RP.6T.0)VsíRITEC6»60ít) —
JUO
6UH FORMAT(10Xr'SE INTERPOLA ENTRE ELEMENTOS DE MATRIZ'}
JUO
IFdT.tQ.i.OR.IT.EQ.-DWRITEíe^eOS)
JUÜ
605 FORMAT(10X»'ANCHURA DE INTERVALOS= 0.1 MILÍMETROS»)
JUü
IF(IOC,GT.0)WRITE(6»606)
JUO
606 FORMAT{10X»'SE TRAZAN LAS LINEAS OCULTAS CON LA PLUMA 2')
JOO
IF(IOC.LE.0)WRITE(6f607)
JUO
6U7 F0RMAT(10Xf«SE OMITEN LAS LINEAS OCULTAS»)
JÜO
UOO
ÜUO
OUO
UUO
JUO
300
OUO
UUO
000
OUO
UUÜ
000
UUO
OUO
OUO
ÜUO
OUO
OUO
000
000
ÜUO
OUO
ÜUO
IF(IDEN.GT.0)WRITE(6»608)LABEL
608 FORMAT(10X»'SE DIBUJA EL TITULO DE LA MATRIZ='»A5)
WRITE(6 r609)DIMENX*DIMENY r CMX tCMY,CMV r TX r TY tTZ r PX tPY
609 FORMATd3Xf'DIMENX
DIMENY
CMX
CMY
CMV
TX
1
TY
T Z P X
PY'»/fl0X»10ÍF9.3rlX))
IF(IGRl.EQ.2)G0 TO 7777
WKITE<ó'610>NXD»CMXD
00610 FORMATdOX»'HISTOGRAMAS HORIZONTALES NXD=« t I4»3X» »cMXD=» »Fg.3)
7777 I M I G R l . E Q . D G O TO 7778
WRITE<t>róll)NYD*CMYD
611 FORHATdOXr«HISTOGRAMAS OBLICUOS NYD=«tI4»3X»»CMYD=»»Fg.3)
7776 CONTINyE
IF(IES.EQ.4)WRITE(6r612)Zl
612 FORMATdOX»«CORTE SUPERIOR POR PLANO Zl=»fF10.3)
IF(IES.EQ.5)WRITE(6r6l3)Z2
613 FORMAT{10Xr«CORTE INFERIOR POR PLANO Z2=«»F10.3)
IF(IES.EQ.6)WRITE(6»614)Z1»Z2
614 FORMATdUX»«CORTE ENTRE PLANOS Zl='»FlO.3#3X»«Z2=«
IF(IES.EQ.7)WRITE(6»615)Z1
615 FORMAT{10X»» CORTES MODULO',3XtFIO.3)
WRITE( O '6I6)((ITEX(ILrLD»LI=lf5)»iL=l
61b FORMAT((10Xr5A6))
GO TO ¿3 •
•
•
- 999 CONTINyE
Uü
Uü
CALL
STOP
uu
END
PLOIi(0. » 0 . r999)
-io
05/n-2i:06:<+i
!ÜÜ
JUO
•U Q
•üO
•üO
;U0
iUO
JUO
)ÜO
JUO
. . . . . . .
SUDROUjINE
GEOMETÍ*)
COMM0N/ZCl/IXlrIX2rIYl»IY2rXl»X2»Yl»Y2»FIR».FI6rIES»FXTX»EXTY»TXt
1TY r T 2 f u l M E N X r D I M E N Y r N T E X f T T , F M I N » F M A X t C M V t C M Y tNY
tCMX'NX,CEMIN»
2XPrYPfpXrPYrF(5000)rXX(5000)fYY(5000)»IY»X(5000)»Y{5000)iYA(5000)»
3 I T E X C 1 U » 5 ) f l E J E Z ( l O ) rLR» A»B»LABEL»NR»XO» YO» I X 3 r E X 3 » i X f rEX**f I Y 3 »
tfEY3rIYH»EYtfr»IUTX»NITY»IEJESrNRXrNRY»IYMX»IXMX»INTERPf I O c » l V I S » R t I T
COMMON/2C2/YC(5000)rZliZ2
M
I X = IABbUX2-IXl)+l
NY=IABstIY2-IYl)+l
DATA Pl/3.141592/
JIJO
. F1R=FIÜ*PI/160.
JUO
JÜO
X2=IYMx
RMAX=0,
JUO
JUO
JUO
IYMX=Ny
IF(NY.EG.1)FIG=QO.
IFÍCMX.GT.O.IGO TO 3
JÜO
EXTX=DJLMENX-4.
EXTY=DiMENY-í+.-FLQAT(NTEX)*(TT+.O7)
GO TO 4
JUO
JUO
JUO
3 CüNTINgE
JUO
EXTX=CMX*FLOAT(NX)+R*CMX*FLOAT(NY-1)*ABS(COS(FIR))
JUO
JUO
JUO
jUO
JUU
ÜUU
JUO
ÜUO
UUO
ÜUO
-
UUÜ
ÜUO
ÜUO
UUO
ÜUO
UUO
ÜUO
ÜUO
UUO
UUO
UUO
ÜUO
UUO
UUO
ÜUOOUO
ÜUO
ÜUO
ÜÜO
ÜUO
UUO
UUO
ÜUO
UUO
ÜUO
UUO
OUO
CMVV=T¿/ABS(Y2-Y1)
DXD=CMx*R*SlN(FIR)
IYE=1
IF(IY1.GT.IY2)IYE=-1
DO 11 xV=IYlrIY2rIYE
CALL DATOS
DXT=DXo*ABS(iY-IYl)
DO 11 iX=lrNX
HK=ESC(F(IX))*CMVV+DXT
IF(RR.LE.RMAX)eO TO 11
-
RMAX=RK
IYMX=IABSIIY-IY1)+1
11 C O N T I N y E
•
••-
EXTY=RüAX
DlMENX=EXTX+4.
DIMENY=EXTY+í+.+FLOAT(NTEX)*(TT+.07)
4 CONTINyE
IF(TT*30..6T.DIMENX)DIMENX=TT*3O.+1.
CONTINyE
TY=EXTx/(AB5(C0S(FIR))+FLOATlNX)/(FLOAT(NY-l)*R))
IF(NY.¿Q.1)TY=O.
TX=EXTx-TY*ABS(COS(FIR))
CMX=TX/FLOATINX)
CMY=R*CMX
TZ=EXTY-R*CN!X*FLOAT(IYMX-1)*SIN(FIR)
I F ( T Z . G T . 0 . ) G O TO 1
WRITE(6'600)TZ
600 FORMAT(lHlrlÜXf »TZ=» r F 1 0 . 2 » 2 X » • + D I M E N Y r - S I N ( F I 6 ) r - )
RETURN 1
1 CONTINyE
CMV=TZ/ABS(Y2-Y1)
RMAX=0.
DXD=CMx*R*SINlFIR)
IYE=1
IF(IY1.GT.IY2)IYE=-1
DO 12 IY=IY1»IY2»IYE
DXT=DXU*ABS(IY-IY1)
uuo
CALL
D A T O S
UOO
DO 12 IX=1»NX
;
UO
RH=ESC(F(IX)
UO
IMRR.LE.RMAXJGO
Uü
RMAX=RR
UO
UÜ
UO
ÜO
UO
UO
'UO
)UO
JUÜ
)UO
JUO
JUO
JUO
JUÜ
JUO
JUO
JUO
JUO
JUO
JUÜ
JUO
JUÜ
JUO
JUO
JOO
TO
12
IYMXXX = IABS(IY-IY1)+1
12 CONTINyE
DIMENY=RMAX+¡+. +FLOAT (NTEX) * (TT+ . 07)
DATA IRUN/'STEREO'/
DATA ICUE/'LAM»/
DATA XrirYH/O.fO./
1F(YH+uIMENY.LT.80.)GO TO 2
CONTINuE
CALL PL0T(XH»-YH»-3)
YH=0.
XH=0.
2 CONTINuE
CALL M A R C O ( D I M E N X » D I M E N Y » 1 R U N » I C U E )
IF
Y
H
D
XO=(DIr-,ENX-EXTX)/2.
IF(FIG,GT.90.)XO=XO+TY*ABS(C05(FIR)
YO=2.+FLOAT(NTEX)*(TT+.07)
CALL PLOTíXOrY0f-3)
PX=CMY*COSIFIR)
PY=CMY*SiN(FIK)
CEMIN=CMV*Y1
IYMX=X£
RETURN
END
-10
•UO
!
U0
UO
UÜ
¡UO
iUÜ
lUO
JÜÜ
JUO
)U0
JUU
05/ll-2i:07ij.6
SUBROUTINE MARCO(DIMEX»DlMEYrlRtlN»ICUE)
DIMENSIÓN IRUF(IOOO)
CALL PLO7S(I3UF»1000»^)
CALL PUOT(DIMEX»0,»2)
CALL PL0T(DIMEX»DIMEYf2)
CALL Pu0T(ü.»ÜIMEYt2)
CALL PLOT(0.»0.»?.)
CALL SyM30L(ü.»-.21f.14#IRUN>O.,6)
CALL SyMBOLtO.t-.^Zt.14tICUE»O.,6)
CALL P|_OT(Ü. fü. r-3)
RETURN
END
-io
05/11-21:06:42
U0
SUbROUfIWE DATOS
UO
C0MM0N/ZCl/IXl»IX2#IYl»IY2»Xl»X2»Yl»Y2rFIR»FIGfIESfEXTX,EXTYrTXr
UU
UO
Uü
UO
UO
1TY r TZ»üIWEiWX t D I M E N Y r N T E X » T T » F M I N » F M A X t CMV t CMY t NY t CMx » M X , CEMIN»
2 X P f Y P » f - X » P Y r F 1 5 0 0 0 ) f XX ( 5 0 0 0 ) f Y Y ( 5 0 0 0 ) » I Y » X ( 5 0 0 0 ) r Y ( 5 0 0 0 ) t YA ( 5 0 0 0 ) »
4ITtX(ly»5)tIE^EZ(IO)»LR»ArBrLAeELrNR»XO»YO»IX3»EX3»lXUrEX4fIY3»
4EY3»IY*+»EY*t»NlTX»NITY»IEJESf IMRX»NRY»IYMX»lXMXrINTERP»lOc»lVIS»R»IT
COMMON/ZC2/YC15000)»ZlrZ2
Uü
'Uü
iUÜ
iUÜ
iUO
IUU
iUO
JUÜ
)U0
JUO
JUÜ
JUÜ
JUO
JUO
REAL 1 A X(1O25)
ISEC=(i.-IVIS/*(fiRX*(IY-l)+l) + l
•
CALL Sc.TADK(12rISEC)
READÍlg)(IXX(1)»I=1»LR)
IXD=1
IF(IX1.GT.1X2)IXD=-1
DO 1 I = I X 1 » I X 2 » I X D
J=IABS(I-IX1)+1
F(J)=IxXCI)
1 CONTINyE
1XX(LR+1)=1XX(LR)
•
F(NX+1)=IXX(IX2+IXD)
RETURN
END
-10
U0
UÜ
UO
UO
UO
UO
¡ÜO
¡UO
iuü
JÜU
JUO
)ÜO
JÜO
JUO
JUO
JUO
JÜO
JUU
JÜO
JÜO
JUO
JUO
JUO
JUO
JUO
JUO
JÜO
JUO
JÜO
JÜO
JUO
JUO
DÚO
300
000
UOO
UUO
OUO
UUÜ
UÜO
ÜÜO
UUO
ÜUO
UUO
OUO
UÜO
ÜUO
05/ll-2i:06:t+3
REAL FuNCTION ESC(VF)
.
COMM0N/ZCl/IXl»IX2»IYl»IY2rXlrX2»Yl»Y2»FIRrFIG»ÍESrEXTX,EXTYfTX»
lTY»T2ruIMENXiüIMENYrNT£X»TT»FMlN»FMAX»CMVrCMY»NY»CMX"'NX,CEMIN»
2XP»YP»pX»PY»F(5000)tXX(5000)fYY(5000)'IYtX(5000)»Y(5000)tYA(5000)»
4 I T E X ( l u » 5 ) r I E J E Z d Ü ) rLR»A»B»LA6EL»NRrX0fYOrIX3»EX3»lX4tEX«W I Y 3 r
4EY3,IY4»EYÍ+»NITX»NITYÍIEJESrNRXfWRY»IYMXrIXMX»INTERP»IOCrIVIS»R,IT
CüMN i orj/zc2/YC'.5nno) » z i » Z 2
i
DATA I¿JEZ(1)/'ZV
DATA Ifc.JEZ(2)/'LN(Z) •/
DATA lfc.JEZ(3)/'L10(Z)'/
DATA
DATA ItJEZ (5 )/ 'Z.L.Z2V
I L ^ E Z (6)/ •Z1ZZ2'/
DATA I¿JEZ (7 )/
V
DATA ItJEZ (8 )/ '
'
'/
DATA It,JEZ (9 )/
' »/
DATA
(10)/» «/
l£JEZ
DATA PpLOG/.9/
DATA
GOTO
1 ESCSVF
GO TO
000U2 IF(VF.LT.PPLOG)VF=PPLOG
ESC=ALoG(VF)
GO TO iOO
00003 I F ( V F . L T . P P L 0 6 ) V F = P P L 0 G
ESC=ALoGlO(VF)
GO TO iOO
4 IF(VF.1_T.Z1)VF=Z1
ESC=VF
GO TO iOÜ .
b IF(VF.£T.Z2)VF=Z2
ESC=VF
GO TO iQQ
6 IF(VF.I_T.Z1)VF=Z1
IF(VF.GT«Z2)VF=Z2
7
a
9
1U
IUÜ
ESCrVF
GO TO 100
ESC=VF-INT(VF/ZD*Z1
GO TO 100
CONTlNyE
GO TO iOO
CONTINUÉ
GO TO IOÜ
CONTINuE
CONTINuE
RETURN
END
10) »IES
-10
05/11-21:06:^5
•JO
SUBROU-ylNE EJES
COMMON/ZC1/IX1»1X2fIY1»IY2»XI»X2»Yl>Y2,FIR»FIG,IESfEXTX,EXTY»TXr
1TY » TZ r üIMENX r ÜIMENY r NTEX » TT »FN!IN»FMAX r CMV t CMY »NY , CMy »NXr CEMIN t
2XP»YP»pX»PY»F15000)tXX(5000)tYY(5000)»IYtX(5000)fY(5OOO)»YA(5000)*
41TEX(lo»5)rIEJEZdO)rLRrArB»LAB^LfNR»XOrYOr1X3rEX3flX4tEX4,IY3r
1EY3»IYH»t:YítrNlTX»NITY»IEJESrNRX»NRY»IYMXrIXMX»INTERPf IOcrlVIS»R»IT
DATA 1L.JEX/5HEJE X/
DATA I¿JEY/5HEJE Y/
IEÜFZZ=IEJEZ(IE5)
.IEJEXXrlEJEX
IEJEYY=IEJEY
IF(IEJ£.S.LE.0)GO TO 11
IF(IVIs.EG.l)IEJEXX=IEJEY
IF(IVIs.EQ.l)IEüEYY=IEJEX
DELTAX=FLOAT(NX)/TX
IF(IX2,LT.IX1)DF.LTAX=-DELTAX"
VXl=IXl
IFIIX3.LE.Ü)GO TO 2
EX1=EX¿+(EX3-EX4)*FLOAT(IX1-IX3)/FLOAT(IX3-IX4)
EX2=EX¿+lEX3-EX4)*FL0AT(IX2-IX3)/FL0AT(IX3-IX4)
DELTAX=(EX2-EX1)/TX
VXl=EXi
IEJEXX=NITX
00002 IF(IEJ£S.LE.O.AND.IX3.LE.O)GO TO 5
CALL AxIS(0.»0.rIEJEXXf-5»TX»0.fVXl#DELTAX)
VX=IX1
IF(IX3.GT.0)CALL NUMBERÍ.3»-l.»TT»VXrO.»-l)
VX=IX2
IF(IX3,GT.0)CALL NUMBER(TX-.5»-l.»TTrVX»0.»-l) -
UO
UO
00
DO
üü
UO
Uü
UO
UO
UO
UO
Uü
UO
!ÜO
'UO
IUO
1UO
)U0
»U0
JUO
¡UO
)UÜ
JUO
JUO
JUO
JUO
JUO
300
JUO
JUO
JUO
JUO
JUO
JUO
DÚO
JUO
OUO
UOO
UUO
üUO
UÜO
UÜO
000
ÜUO
ÜUO
UUO
UUO
ÜUO
000
OUO
OUO
UUO
UUO
UUO
ÜUO
OUO
UUÜ
OUO
UUO
IF(NY.EQ.1}GO TO 1
000Ü5
DELTAY-FLOAT(NY-1)/TY
IF(IY2.LT.1Y1)DELTAY=-DELTAY
IFÍFIG,GT.90.)DELTAY=-DELTAY
-
IF(FIG,LT.9O.)VY1=IY1
CEY=TY*CüS(FIR)
CEYY=TY*SIN(F1R)
IF(FIG.LT.90.)CEYY=0.
1F(FIG,LT.9O )CEY=TX
IF(FIG.LT.90 )NCHAR=-5
ANG=FlG-180.
•
IF(FIG.LT.90.)ANG=FIG
IF(IY3.LE.0)GO TO 3
EY1=EY¿+(EY3-EY4)*FLOATCIY1-IY3)/FLOAT(IY3-IY4)
EY2=EY3+ ÍEY3-EYM-) *FLOAT (IY2-IY3)/FL0AT (IY3-IY4)
DELTAY=(EY2-EY1)/TY
IF(F.IG,GT.90.)DELTAY=-DELTAY
VY1=EY2
IF(FIG.LT.9O.)VY1=EY1
IEJEYY=N1TY
00003 IF(IEÜES»LE.0.AND.IX3.LE.0)GO TO 4
CALL AxIS(CEY»CEYY»IEÜEYY#-5fTY»ANGrVYl»DELTAY)
IF(IY3.LE.0)GO TO 4
VY=IY2
1F(FIG.LT.9O.)VY=IY1
DDX=.75*SIN(FIR)
DDY=-.75*AtáStC0S(FIR) )
IFIF1G.GT.9O.)DDX=-DDX
CALL NuMBER<CEY+DDXrCEYY+DDY»TTfVYfANGf-1)
CY=O.
UO
uo
uo
•uo
¡uo
!UO
uo
iUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
Uüü
JUO
ÜUO
ÜUO
ÜUO
uuo
uuo
ouo
ÜOO
uuo
IFIF1G,LT.9O.)CY=TY*SIN(FIR)
VY=IY1
IF(FIG,LT.90.)VY=IY2
CALL MyMBER(CEY+TY*ABS(COS(FIR))+DDX tCY+DDY *TT tVY »AMG»-1)
CA=-3
IF(FIG.LT.90.)CA=CEY+.5
CALL NuMdER(CA»-1.5»TTrFIG»0.»1)
CALL SyMB0L(999.'-1.5+TT/2.»TT/?.f72»0.»-l)
If- (NY.£.Q.1)FP=IY1
IF (NY.tCU DCALL NUMBER(TX+1, n.r TT»FPr0.»-D
IFÍIY3 GT.. 0. AND. NY.EQ. DCALLSYMBOL(999.»999.'TT»' = » tO
1FIXY3 GT, U . Á N D . N Y , EQ,. DCALL NUMBERC999.t999.»TT»EYlrO
NüMBER(999«r999.»TT»EYlrO.,3)
999. »TTr NlTY, 0 , » 5)
IKIY3 GT, Ü.AND.Ny, EQ..DCALL SYMBOL (999. t )99.»TTrMlTY»
11 IFÍIES LT, OKETURH
CEZ=TX
IFtFIG.LT ,90.)CEZ=0.
NCHAR=-5
IKFIG,LT.90.)NCHAR=5
DELTAZ=1./CMV
CALL AxIS(CEZr0.»IEJEZZ»NCHAR»TZ»90,»ESC(FMIN)»DELTAZ)
CEZX=TY*COS(F1R)
CEZY=Ty*SIN(FlR)
IF(FIG.LT.90.)CEZX=TX+TY*COS(FIR)
NCHAR=5
IF(Fl6.LT.90.)NCHAR=-5
SZ=DIM£NY-4.-FLOAT(NTEX)*(TT+.07)-TY*SlN(FIR}
1F(SZ.LE.O)RETURN
CALL AxIS(CEZX,CEZY rIEJEZZ»NCHAR»SZ190.tESC(FMIN)
RETUKN
END
-10
U0
UO
UO
UO
UO
UO
UU
UO
UO
UO
iUO
iUO
IUO
¡UO
JUO
¡UO
)UÜ
JUO
JÜO
JUO
05/ll-2i:06:<+7
SUBROUflNE TEXTOS
COMMON/ZCl/lXlrIX2fIYl»IY2»Xl»X2»Yl»Y2,FIR»FIG,IES»rXTX,£XTY»TXr
lTYrTZruIMENXpDIMENY»NTEX»TT»FMlNfFMAXrCMV»CMY»NY»CMX»NXrCEMIN»
2XPrYPfpX»PYfF(5000)fXX(5000)»YY(5000)tIYrX(5000)»Y(5000)»YA(5P00>»
3 I T E X ( 1 Ü ' 5 ) »I£vJEZ(lü) »LRr ArBrLABEL»NR»XOfYOr I X 3 » E X 3 F I X U » E X 4 » I Y 3 »
**EY3»IYit#EYtf»l4ITX»NlTYrIEJES»NRXrNRY»IYMX»lXMX»INTERPrIOc»IVIS»R»IT
CÜMMON/ZC2/YC(50Q0)»Z1»Z2
DIMENSIÓN IITLXÍ5)
DATA Ty/,21/
IF(MTEx.EQ,O)KETURlM
CALL
PLOT(-XOȆ.'-3)
XT=(Dlr.-,ENX-TT*30.)/2.
DO 1 I = 1 # N T E X
DO 2 v J = l r 5
0OOU2 I I T E X l J ) = I T E X ( I » J )
YT=-l.tj-FLOAT(I)*(TT+.07)
000U1 CALU S^MBOL(XT»YT»TTrlITEXrO.»30)
.
CALL PL0T(X0r0.r-3)
RETURN
END
J
.
.'-ID
JUO
)U0
JUO
iUO
JUO
JUO
JüO
JUO
JUÜ
JUÜ
JUÜ
JUO
JUO
JÜO
..
.
. ..
05/11-21:06:48
SUBROUJINE
STDEN
C0MM0N/ZCl/IXl»IX2»IYl#IY2rXl»X2rYl»Y2»FIR»FI6»IES»feXTX»E)(T-Y»TX»
lTYfTZ»üIMENXfDIMENYrNTEX»TT»FMlN»FMAX»CMV»CMY»NYrCMX»NX»CEMIN»
2XP»YP»pXfPYfF(5000)tXX(5000)tYY(50ÜO)tIYtX(5000)tY(5000)tYA(5000)t
Í + I T E X ( 1 Ú » 5 ) r T E J E Z Q O ) »LR» A , Br L A B ^ L r NR» XO» YOr 1 X 3 1 E X 3 , T X 4 1 E X 4 1 I Y 3 »
4EY3» I Y i + r E Y 4 r U I T X » N I T Y » I E J E S » N R X » N R Y » I Y M X » IXMX» INTETRP» 10c» I V I S » R » I T
C0MM0N/ZC2/YC15000)>Z1»Z2
CALL
PLOT(-XO»0.»-3)
RX={DI,.',ENX-5.*.21)/2.
RY=TY*iIN(FIRJ+TZ+.5
CALL 5|MBOL(RXfRYr.21»LABELrO.r5)
CALL PL0T(X0rü.r-3)
RETURN
END
-lo
¡UO
¡UO
'UO
UO
•UO
•UO
¡Uü
-UO
¡00
JUÜ
)U0
JUO
JUO
JUO
JUO
100
JUO
JUO
JUO
JUO
iUO
!ÜO
)U0
JUO
JUO
JUO
JUO
JUO'
JUO
JUO
JUÜ
JOO
300
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
05/11-21:06:51
SUBROUTINE GRILLO
C0FiM0N/ZCl/lXl»lX2»IYlr
IESrEXTX»EXTY»Tx»
2XPrYPfpX»PY»F(5000)>XX(5000)fYY<5000)*IY>X(5000)* Y(5000)»YA(5000> *
<+ITEX(lufS) »IEJEZ(10) rLR» A»BrLABELrNRr XO»YO» IX3»EX3r iXUrEX**» IY3»
^EY3»IY4rEYH#NlTXfNITY»IEJES»NRX,NRY»IYMX»IXMXr-INTERP»I0c»IVIS»R»IT
COMMÜN/ZC2/YC(5000)fZl»Z2
NPUN=5oOÜ
NYD=TY*AtíS(COS(FIR))*50.+.9
IFIIT.£Q.1)NYD=TY*ABS(COS(FIR))*100,+.9
CMYD=TY*ABS(COS(FIK))/NYD
DEX=ABS(PX)
IF(DEX.LT.CMYD)NYD=TY*ABS(COS(FIR))/DEX+.9
CMYD=TY*ABS(CÜS(FIR))/NYD
XQ=XO
YQ=YO
YÜ=0.
IF(FIG,6T.90.)YO=TY*SIN(FIR)
YF=TY*sIH(FIR>
IF(FIG.GT.90.)YF=0.
IB=B
ND=B*CK¡X/CMYD+.9
IF(NYD+2*ND.LE.5n00)GO TO 9
CMYD=(TY*ABS(COS(FIR))+2*B*CMX)/NPUN
ND=B*CMX/CMYD+«9
NYD=50Q0~2*ND
CONTINyE
PJ=TY*SIN(FIR>/FLOAT(NYD>
XP=TXIF(FIG.GT.90.)XP=TY*COS(FIR)
XO=XP
CALL PLOT(XO»0.»-3)
XP=0.
SIG=1.
IF(FIG,GT,90.)SIG=-l.
PJ=PJ*SIG
IX=IX2
IF(FIG,GT 90.)IX=IXl
YP=-CEMIN
IF^FIG,GT.9O.)YP=YP+TY*SIN{FIR)
CALL DAT0S2UX)
IGRA=1
X(1)=-FLOAT(ND)*CHYD
Y(l)=Yo
DO 1 I=2rND
X(I)=X(I-1)+CMYD
Y(I)=YQ
000U1 CONTINgE
ND1=ND+1
NYY=NYQ+ND
ND2=NDl+l
IF(INTtRP.6T.0)G0 TO 1499
J=l
DO 2 I=ND1»NYY
XU)=X(I-1)+CMYD
IF(X(I).GE.DEX*FLOAT(J))J=J+1
Y(I)=Yp+CMV*ESC(F(J))+PJ*(I-ND1)
0O0U2 CONTINgE
01499 IF(INTt£RP.LE.Ü)GO TO 404
J=l
-
• Uü
UO
UO
'UO
>ÜO
¡UO
üü
¡UO
1U0
;.U0
¡UO
iUU
)UO
)UO
JUO
JUO
JUÜ
JUU
JUÜ
JUO
)UO
JUO
JUO
JUO
)UO
JUO
JUO
JUO.
JüO
JUO
JUÜ
JÜO'
JUO
JUO
JUO
JUO
JUO
JUÜ
JUO
JUO
OÜO
000
3U0
JOO
UüO
UUO
OUO
UÜO
OUO
UUO
UUO
UUO
OUÜ
ÜUO
ÜUO
ÜUO
ÜUO
UUO
UUO
OUO
UUO
ÜUÜ
UOO
004U2
004U<4
3
00017
NNN=NDi
P=(F<2)-F(1))/CMY
DO 402 I=NQlfNYY
X(I)=X(I-1)+CMYD
IF(X(I) .LT.DEX*FLOAT(J) ) SO TO 403
J=J+1
NNN=I
P=(F(J+1)-F<J))/DEX
FF=F(J)+P*(XU)-X(NNN) )
Y (I) =Yp+CMV*ESC (FF) +PÜ* (I-NDl)
CONTINUÉ
CONTINUÉ
NYYÍ=NyY+l
NYT=NYy+ND
DO 3 I=NYYlrNYT
XtI)=X(I-l)+CMYD
YII)=YF
CONTINUÉ
CALL PLOT(X(ND1)»YO»3)
CALL PuOT(XtNDl)»Y(ND1>r2)
CALL PLOT(XÍND1+1)»Y(ND1>+PJ»2)
ND2=NDi+l
DO 17 l=ND2fNYY
CALL PLOT(X(I)rYÍI),2)
CALL PLOT(X(I+1)»Y(I)+PJf2)
CONTINUÉ
CALL P L O T ( X ( N Y Y D » Y ( N Y Y D » 2 )
11=1X2
IF(FIG.6T.9O.)I1=IX1
12=1X1
IF(FIG.GT.9O.)I2=IX2
••
I11=I1-IB
IF(Fie.GT.90.)Ill=Il+lB
IF(I1.£Q.I2)GO TO 998
ID=IB
IF(I1.GT.I2)ID=-IB
DO í+£fi+ IX=I11»I2»ID
IC5RA=I^RA+1
XP=XP-CMX*SIG*IB
CALL D A T0S2UX)
XX(l)=xP
YY(1)=YP+CMV*ESC(F(1)>
DO 5 I=2rNY
XX(I)=xX(I-l)+DEX
YY ( I ) =yP+C.ViV*ESC (F ( I ) ) +PY* ( 1 - 1 ) *SIG
b CONTINUÉ
IF(INTERP.GT.0)GO TO 1500
N=l
DO 6 1=1rNY
DO 7 J=N»NYT
I F I X X ( I ) . G E . X U ) JGO TO 71
IF(XX(D+DEX.LE.X(Ü) )G0 TO 18
YA(J-1)=YY(I)
YC(J-1}=YY(I)
• I F ( Y Y l I ) . G T . Y ( J - l ) ) G 0 TO 7
YA(J-1)=Y(J-D
YC(J-1)=-YY(I)
GO TO 7
00071 Y A ( J ) = Y < V J )
YC{J)=yA(J)
00007 CONTINUÉ
00018 N=J
00006 CONTINUÉ
UO
UO
ÜO
UO
Uü
UO
UO
UO
UO
UO
UO
>uo
•uu
lüü
IUO
)U0
)U0
)U0
JUO
JUÜ
JUU
JUO
JUO
)U0
JUO
JÜO
JUO
JUO
JUÜ
Jüü
JUO
300
JUO
JUO
ÜUO
ouo
uuo
000
ÜUO
UUÜ
uuo
ÜÜO
ÜÜO
ÜUO
uuo
ÜUO
ÜUO
ÜÜO
uuo
ouo
ÜUO
ÜUO
ÜUO
ÜÜO
ouo
ÜUO
ÜÜO
ÜUO
üüü
OUÜ
ouo
000
ÜUO
015UU IFCINT£RP.LE.0)GO TO 424
N=l
DO 426 I=1»NY
P=(F(I + 1)-FU) )/DEX
DO 427 J=N»NYT
IF(XX<I>.GE.X(J))G0 TO 471
IF(XX(D+DEX.LT.X(J) )G0 TO 418
FF=F(I;+P*CXlü-l)-XX(I))
YA(J-l)=YP+CMV*ESC(FF)+PJ*(J-2)
YC(J-1)=YA(J-1)
IF(YAlj-l).GT.Y(J-l))G0 TO 427
YC(J-l)=-YA(J-i)
YA(J-1)=Y(Ü-1)
GO TÜ ^27
00471
YCIJ)=YA(J)
00427 CONTINUÉ
00418 N=J
00426 CONTINuE
00424 CONTINuE
YA(NYT)=YY(NY)
YC(NYT)=YA(NYT)
IF(YY(uY),LE.AB5(Y(NYT)))YA(NYT)=Y(NYT)
IF(YY(NY).LE.ABS(Y(NYT)))YC(NYT)=-YY(NY)
DO 10 l=lrNYT
IFlXX(i).LT.X(I))G0 TO 11
00010 CONTINuE
00011 IF(FIG.GT.90.)GO TO 89
YS=YO
YB=YF
IF(YB. T.ABS(YÍNYYl-NDÍ+I-l)))YB=ABS(Y(NYYl-NDl+I-iy>
X(1)=X I-1)-CMYD*FLOAT(ND)
Y(l)=Yo
YY(1)=Y(1)
DO 12 J=2»ND
X(J)=X(J-1)+CMYD
YY(J)=Y<VJ)
00012 CONTINuE
DO 13 j=NDl»NYT
XtJ)=X(J-l)+CMYD
Y(ü)=Yc(J-NDl+I-l)
YY(J)=YAIJ-ND1+I-1)
00013 CONTINuE
GO TO 92
00089 IM2=I-2
YS=YO
IF(YS.i_T,ABS(Y(I-l) ) )YS=ABS(Y(I-1)
YB=YF
DO 14 j=l»ND
XIND-vJ+1) =X (IM2-J+1)
Y t ND-J+l)=YC(IM2-J+1)
YY(ND-J+1)=YA(IM2-J+1)
00014 CONTINuE
DO 15 o=NDl»NYY
X(J)=X(J-1)+CMYD
Y(J)=YC(IM1+J-ND1)
YYU)=YA(IM1+J-ND1)
00015 CONTINUÉ
00 16 U=NYY1»NYT
X(Ü)=X(J-1)+CMYD
Y(J)=Yp
•••••
¡líp
IUÜ
iUO
¡UO
>U0
ÍUO
¡UU
¡Uü
;UO
¡UO
iUO
JUO
iUO
)UÜ
3U0
JUÜ
JUO
JÜO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUO
JUÜ
JUO
JUO
JUO
JUO
ÜUO
UUO
JUO
UUO
ÜUO
QUO
OUO
OUO
ÜUO
ÜUO
ÜUO
ÜUO
ÜUO
ÜUO
OUO
UUO
ÜUO.
ÜUO
ÜUO
UUO
UUO
UUO
UUO-:
UUO
ÜUO
ÜUU
UUO
OUO
YY(J}=YU)
0 0 0 1 o CONTINUÉ
9 2 CONTINuE
IFÍIGRA-IGRA/2*2.EQ.0)GO
TO 8
CALL P L O T ( X ( Í N Í U 1 ) »YS»3>
IP=2
IF(Y(MU1).LT.0.)IP=3
I F ( I O C . L E . 0 ) G O TO 3 3
CALL N ¿ W P E M 2 )
IP=2
3 3 CONTINuE
CALL P L O T ( X Í H U i ) » A B S ( Y ( N D 1 ) ) » I P )
CALL N n W P E H ( l )
IP=2
IFÍYlN^l).LT.0.)IP=3
IF(I0C.GT.Ü.AND.IP.EQ.3)CALL NEwPEN(2)
CALL P L O T ( X ( N D 1 + 1 ) r A B S ( Y ( N D 2 ) ) t l P )
CALL N£.WPEN(1>
IPV=IP
1FIIOC#LE.Ü)GO TO 1000
IP=2
NPV=1
DO 190o I=ND2»NYY
NP=1
IF(Y(I).GE.O.JGO TO 1901
NP=2
019U1 I F ( N P . N E . N P V ) C A L L NEWPENCNP)
•
CALL PLOT(Xd) »ABS(Y(D) »2)
CALL PLOT(X(I+1)fABS(Y(I)>»2)
NPV=NP
019U0 CONTINyE
IF(Y(NyY).LT.0.)IP=3
CALL PLOT(X(NYY1)»YB»IP)
GO TO 4
010U0 CONTINUÉ
DO 19 I=ND2»NYYIF(Y(I).LT.0)GO TO 31
IF(IPV.EQ.3)CALL PLOT(Xd)rABS(YY(1-1)
CALL PLOT(Xd) rY(I)»2)
CALL PLOT(X(I+1)rY(I)»2)
. IPV=2
GO TO 19
00031 IF(IPV,EQ.3)GO TO 19
CALL PL0TCX(I)»ABSÍYY(I))r2)
IPV=3
00019 CONTINuE
CALL PLOTCX(NYYI)rYB»IPV)
GO TO 4
oooua CONTINUÉ
CALL PL0T(X(NYYl)»YBf3)
IP=2
"
.
IF(Y(NyY).LT.0.)IP=3
IF(IOC,LE.0)GO TO 31
CALL N£WPEN(I>
IP=2
34 CONTINuE
CALL PLOT(X(NYY1>»AB5lY(NYY))tIP)
CALL N£WPEN(1)
IP=2
IFÍY(NYY).LT.0.)IP=3
UUO
IF(IOC,GT.0.AND.IP.EQ.3)CALL NEWPEN(2)
0 0 0 C A L L
PLOT(X(NYY)»ABStY(NYY))tIP)
OUÜ
CALL NEWPEN(l)
uo
uo
UÜ
uo
uo
UO
Uü
Uü
uo
020U1
Uü
;UO
lUÜ
!UÜ
IUU
020UÜ
JUÜ
JUO
JUO
JüO
010U1
JOO
JUO
JUÜ
)ÜO
JUO
JUO
JUO
JüO
JUO
JUO
00032
00020
JUÜ
JUO
4
JÜO
010U3
JUO
444
JUÜ
00998
DOU
000
UüO
OÜO
UUO
UUO
ÜUO
IPV=IP
IF(IOC.LÉ.0)GO TO 1001
IP=2
NPV=1
DO 2 0 0 G I=NYYrND2»-l
NP=1
IF(Y{I-1).GE.0)60 TO 2001
NP=2
IF(NP.¡,E.NPV)CALL NEWPEN(NP)
CALL PL0T(X(I)rABS(Y(I-l))»-2)
CALL PLOT(X(I-1)tABSlY(I-l))f2)
NPV=NP
CONTINuE
IFÍYÍN^l).LT.U)IP=3
CALL P L O T ( X ( N D 1 ) » Y S » I P )
60 TO i+
CONTINUÉ
DO 20 1=NYY»NÜ2»-1
IF(Yd-l) .LT.0X5O TO 32
IFÍIPV.EQ.3)CALL PLOT(Xd) rABSlYY(I))
CALL PLOT(Xd) rY(I-l) »2)
2)
I-l)
CALL PuOTi
IPV=2
GO TO 20 ,3)G0 TO 20
IFÍIPV.EQ.;x(I) »ABS(YYQ-1))»2)
CALL PLOT»
IPV=3
CONTINyECALL PLOT(XCNDl)#YSrIPV)
DO 1003 IK=lrNYT
Y(IK)=yY(IK)
CONTINuE
CONTINuE
CALL PLOT(-XO»0.»-3)
XO=XQ
YO=YQ
Y1=NYD
Y2=CMYD
RETURN
END
2.
*
-10
U0
UO
UO
UO
UO
UU
Uü
UO
UO
UU
UO
UO
UO
UO
¡UO
UO
•UO
suO
¡UO
iUO
IUO
••
•
•
.
.
.
.
.
.
05/ll-2i:06:b3
'
SUBROUTIHE DAT0S2(IX)
C0MM0N/ZCl/IXlrIX2rIYl»IY2»Xi»X2'Yl»Y2,FIR»FIG»IES»EXTX,£XTYtTX»
lTY»TZfDlMENXfDIMENYrNTEXfTT»FMlN»FMAXrCMV#CMY»NYrCMX»NX,CEMINr
2XP»YP»pXfPYrFl50 00)tXX(5000)tYY(5000)11Y»X(5000)* Y(5000)* YA(5000> t
tfITEXdü»5) t IEJEZ(IO) r LR» A»B»LABEL»NRrXO»YO» IX3»EX3»lXt»»EX4» IY3»
4EY3f IYi+»EY4f NlTX»NlTYf IEvJESr NRXfNRY» IYMX» IXMX» INTERP» lOC» IVI5»R
COMMON/ZC2/YCl50no)»Z1»Z2
REAL IxX(1025)
ISEC=IvIS*lÑKX*(IX-l)+l)+(l-IVlS)*(LR*NRX+ÍIX-l)*NRY+l)
CALL S i l T A D K ( 1 2 » I S E C )
READC12)ÍIXXÍI)»I=lrNR)
. IYD=1
IFtIYl,ST.IY2)IYD=-l
DO 1 I = I Y 1 » I Y 2 » I Y D
J=IABS(I-IY1)+1
F<J)=IXXCI)
0O0U1 CONTINÚE
IXX(NR+1)=IXX(NR)
FIUY+1)=1XX(I+IYO)
RETURN
EMD
F I G U R A S
CflUSI'RNH ELIPTIC9
PRGGRRMR STEREO
SE.
Lflr.
FIGURA 1.- Perspectiva con ángulo 70°
110.0°
GPUSiPNP ELIPT1CR
PR8GRRMP. STERE0
FIGURA 2 . - Perspectiva con ángulo de 110 .
l.CC
XI.Zd
33-V?
4y."3S
55.14
32
EJE Y
S0-0B
CBUSIPNP EL.I P TICR
PRCGRnMP STEREü
FIGURA 3 . - Perspectiva en v i s t a 1
V45 337.35 405.25 <3!
EJE X
CRUS1PNR ELIPT1CR
P G R
STEREü
50-0°
FIGURA 4.- Perspectiva con histogramas oblicuos.
fffr
en
r-
T I
ir
cr-
rnt. i , \\uk
\ flfr
.".
1ili
en
"to
[1
Ir
O
r
e>">
ÍC
*en
• fHík,
CJ
to
fes
J+i
f ij }J \\k
mU M i
~¿
ID
"CJ
CJ
*CJ
I\UWk
o
Q
O
ir t
en
[mi
.00
o
>
••
JittmfimJiJJW
a^S.^S
32"..5*2 343--5,17 3 S 5 - 4 S
337.35
EJE X
4C5.2S
43'.14
453-04
09U3IRNR ELIPTICR
PRCGRñMfi STEREO
4?4.b3
ísSOe
"
60.0=
FIGX3RA 5*- Perspectiva con histogramas horizontales
y oblicuos.
9 Rectángulo de encuadre
o Rectángulo de representación
TITULO
l
r
~1
TZ
>•
z
UJ
IXMZ
I
TEXTOS-DE COMENTARIOS
I
- DIMENX-
FIG.6._
PARÁMETROS
GEOMÉTRICOS
fcOMIENZOJ
LECTURA
PARÁMETROS
ABSCISAS Y ORDENADAS
DE LOS INTERVALOS
I
¡se
>
ABSCISAS, INTERPOLACIÓN Y ORDENADAS
DE LOS INTERVALOS
NO
SI
ESC
CALCULO Y DIBUJO
HlSTOGRAMA 1
COORDENADAS ORIGEN
NUEVO HlSTOGRAMA
\
IMPRESIÓN
7
PARÁMETROS /
DATOS
NUEVO ORIGEN
ENCUADRE
ABSCISAS, ORDENADAS
DE ELEMENTOS MATRIZ
NUEVAS ORDENADAS
DE INTERVALOS
NO
TNTERPOLACIO
NUEVAS ABSCISAS,
ORDENADAS^ACTUAL|S
CALCULO Y DIBUJO
NUEVO HlSTOGRAMA
SI
INTERPOLACIÓN Y
NUEVAS ORDENADAS
DE INTERVALOS
TEXTOS
EJES
SI
EJES
Figura 7 ._ ORGANIGRAMA
DEL PROGRAMA
PRINCIPAL
NO
o
co
-
o
•
1
i
¡
1
=ECHA:
i
1
O
i
U3
i
1
I
l/l
-
*
i
o
I
1•
-
1
<
UJ
i
ID
.
—i
o
i
Z
|
i
ffi
•
~z.
Lü
ÜJ
O
1
1
!
i
o
•
i
«*r
ROGRy
Lü
íüft
en
•o
—
í
—-
a.
-
1
-—
—»
—i
co
Ui
o
esl
>»-
1
I
-a;
S:
1
rs
1
I
^~.
1
es
i
l<cl
¿ü>
Cvi
CM
m
un
1
i
-«-
R-
O
i
1
1
1
1 1
1
o—>
¡TRAE
cr
ADOR
O
1
1
1
I
—
UJ
UJl-
h-
1-
FIGURA 8 . -
FLX
i
«.49
91.93
110.0°
132*95 ¿23.44 273-93 3?S>.42 354.9! 410.39 455.33
EJE X
GflUSIP.NP. ELIPTICfl
5TERE2
tari
FIGURA 9 .
un
•
O
CO
-
-
<
o
X.
uO
4
1
o
<
1
LU un
(O
1
¡
1
1
1
OH
10
i
¡
1
1
un
un
-
"O
i
Id
va]
ce
<
J
o
un
UJ
1
i 1
1
_l
u
zp
i
!
1
!
1
1
un
2
1
ce
UJ
2
üJ
LxJ
Q
ROGRA ADOR
O
O
1
•
•
•
1 •!
4
•^~
cvl
Csl
un"
•^
«
rt-«^
Q_
_-- •>»1
rv
-»-
(
1 1
o
*
1
ro
-*-
s:
IS.
^_
-r-
1
«C
1
c-
cr-
Csl
c>
"*CS
o>
^-b
1
l
un
-^
CN
U">
«o
t
-*-
I-i
—>
--. —'
CN
^«.
\n
1
's-4
C-»-
UJ
rjjl
-^~.
CM
—
I
CSI
Si
/"*
—.
I—i
"O
—
c—
1
m
1
1
UJ
<-£>
n-
UJ
•3—
1 1
o
c>
o
SE • w
^_
un
1
1
CN|iX
1
i
1
I
1
O un
<l
ED
<
t—
II
X
X
—
UJ
•o
[_
—
ex
co
uu —
!—
FIGURA 1 1 . -
1 M
X
ÜJ
—
|l—1/«*
-2.
—
1
te
o
.00
191 .00 1&S.4S 201.92 207.33 112.35 213-31 223-T» 229-23 234.SS 240-í?
EJE X
C0INCIDENCIRS
GE(LI)-GE(LI)
STESEC
FIGURA 1 2 .
60.0°
RG-llOñ
3
•-tál.GO 1SS.Í6 201.92 207.33 212.35 213-31 223.1'? 229.23 234.53
EJE X
120-00
CQINCIDENCIRS GPMMfi-GPMMP,
GEÍLD-GECLIJ
fiG-HOM
5TEf.Ee
PIGUEA 12.-(Continuación).
2*0.1?
2110.0C2770.30233C.5029S0.39Z9S1.19
KEV
271
301
60-0°
CQINCIDENCIRS GPMMP.-GP.MMP,
GEtLIJ-GECLI)
flO-UOM
LHM
FIGURA 1 3 .
—
—
r
CDINCÍOENCIRS GPMMS-GP.IIR
GE(LI)-GE(L!J
HG-11OM
STE-itC
FIGURA 1 3 . - Continuación.
REFERENCIAS
1)
JORY, R.
" R e p r e s e n t a t i o n graphique s u r t r a c e u r d i g i t a l de
s p e c t r e s b i d i m e n s i o n n e l s s-fcockés s u r d i s q u e s
magnetiques".
. I n s t i t u t de Physique Nucléaire. Faculté des Scieri
ees de Paris e t d'Orsay. IPN 71-03 (1971).
2)
MENGOLI,P. y TARONI, A.
"GRAFD3 J Un sottoprograntma per le reppresentazione
tridimensionale di una superficie Z (X,Y) n .
Comitato Nacionale Energía Nucleare. Centro di
Calcólo. Bologna RT/FIMA (73)2 (1973).
3)
CHOUDRY, A.
"Isometric repx*esentation of two-dimensional matr¿
ces"Cbmputer Physics Communications 1 (1970) 277.
4)
EXEC-8
UNIVAC 1100 Series.
5)
Calcomp Software Reference Manual
California Computer Products. Anaheim. California
(1969)
6)
FORTRAN V LIBRARY UP7876-C
ÜNIVAC 1100 Series.
'm, •
¡ J.E.N. 416
1
J.E.N. 416
Junta de Energía Nuclear. División de Física de las Radiaciones. Madrid.
" S T E R E O . R e p r e s e n t a c i ó n en p e r s p e c t i v a c a b a l l e r a
de m a t r i c e s b i d i m e n s i o n a l e s " .
Junta de Energía Nuclear. División de Física de las Radiaciones. Madrid.
"STEREO. R e p r e s e n t a c i ó n en p e r s p e c t i v a c a b a l l e r a
de m a t r i c e s b i d i m e n s i o n a l e s " .
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . 6 r e f s .
STEREO es un programa en FORTRAN V que permite controlar en diferido a un trazador dig i t a l CALCOHP para obtener una imagen gráfica en perspectiva caballera, con ángulo variable entre 0 o y 180°, de una matriz bidimensional de elementos numéricos, bien sean datos
experimentales o valores de una función, dependientes de dos índices directos.
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . 6 r e f s .
En este trabajo se describe el método empleado para lograr l a visualización en perspectiva (eliminando o trazando en otro color las líneas ocultas),así como l a estructura
de^ubrutinas del programa y l a forma práctica de aplicación, Indicándose resultados
típicos.
'
.
En este trabajo se describe el método empleado para lograr l a visualización en perspectiva (eliminando o trazando en otro color las líneas ocultas), así como l a estructura
de subrutinas del programa y l a forma práctica de aplicación, indicándose resultados
típicos.
CLASIFICACIÓN INIS Y DESCRIPTORES: F51. Coincidence spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
CLASIFICACIÓN INIS Y DESCRIPTORES: F51. Coincidence spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
J.E.N. 416
J.E.N. 416
Junta de Energía Nuclear. División de Física de las Radiaciones. Madrid,
i
"STEREO. Representación en perspectiva caballera de
i matrices bidimensionales11.
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . 6 r e f s .
• STEREO es un programa en FORTRAN V que permite controlar en diferido a un trazador d i
g i t a l CALCOMP para obtener una imagen gráfica en perspectiva caballera, con ángulo varia
ble entre 0 o y 180° de una matriz bidimensional de elsmentos^numéricos, bien sean datos
experimentales o valores de una función, dependientes de dos índices directos. .
En este trabajo se describe el método empleado para lograr l a visualización en perspectiva (eliminando o trazando en otro color las líneas ocultas), así como l a estructura
de subrutinas del programa y l a forma práctica da aplicación, indicándose resultados
típicos.
CLASIFICACIÓN INIS Y DESCRIPTORES: F51. Coincidence spsctrometry. Plotters. Matrices.
Tv/o dimensional culculations. Digital computers. S codes. Fortran. Data processing.
STEREO es un programa en FORTRAN V que permite controlar en diferido a un trazador dí-¡
g i t a l CALCOHP para obtener una imagen gráfica en perspectiva caballera, con ángulo v a m
ble entre 0 o y 180°, de una matriz bidimensional de elementos numéricos, bien sean datos
experimentales o valores de una función, dependientes de dos índices directos.
Junta de Energía Nuclear. División de Física de las Radiaciones. Madrid.
"STEREO. Representación en perspectiva caballera de
matrices bidimensionales".
LOS ARCOS, J.M. (1978) 58'pp. 13 figs. 6 refs.
STEREO es un programa en FORTRAN V que permite controlar en diferido a un trazador di-»
g i t a l CALCOMP para obtener una imagen gráfica en perspectiva caballera, con ángulo varija
ble entre 0 o y 180°, de una matriz bidimensional de elementos^numéricos, bien sean datos
experimentales o valores de una función, dependientes de dos índices directos.
En este trabajo sé describe el método empleado para lograr l a visualización en perspectiva (eliminando o trazando en otro color las líneas ocultas), así como l a estructura
de subrutinas del programa y l a forma práctica de aplicación, Indicándose resultados
típicos.
CLASIFICACIÓN INIS Y DESCRIPTORES: F51. Coincidence spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
J.E.N. 416
.
Junta de Energía Nucl&ar. División de Física de las Radiaciones. Madrid.
" C a v a l i e r p e r s p e c t i v e p l o t s of t w o d i m e n s i o n a l m a t r i ces. Program STEREO".
.
.
.
LOS ARCOS, J.H. (1978) 58 pp. 13 figs. 6 refs.
J.E.N..416
Junta de Energía Nuclear. División de Física de las Radiaciones. Madrid.
" C a v a l i e r p e r s p e c t i v e plots of two dimensional m a t r i c e s . P r o g r a m STEREO 1 1 .
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . '6 r e f s .
The program STEREO allows to represent a two dimensional matrix containing numerical '
data, i n the frow of a cavalier perspective, isometric or not, with an angle variable
between 0 o and 180°.
The program STEREO allows t o represent a two dimensional matrix containing numerical
data, In the from of a cavalier perspective, isometric or not, with an angle variable
between 0 o and 180°.
The representation i s '<n histogram from f o r each matrix row and those curves which
f a l l behind higher curves and there fore would not been seen, are suppressed.
The representation i s i n histogram from f o r each matrix row and those curves which
f a l l behind higher curves and there fore would not been seen, are suppressed.
I t has been written i n FORTRAN V f o r a CALCOHP-936 d i g i t a l plotter operating o f f - l i n e j
with a UNIVAC 1106 computer.
Drawing method, subrou-cine structúre and running instructions are described i n this
paper.
INÍS CLASSIFICATiON AND DKSCRIPTORS: F51. Coincidence spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
I t has been written i n FORTRAN V f o r a CALCOHP-936 digital plotter operating o f f - l i n e
with a UNtVAC 1106 computer.
Drawing method, subroutine structúre and running instructions are described in t h i s
paper.
INIS CLASSIFICATION AND DESCRIPTORS: F51. Coincidence spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
J.E.N.. 416.
J.E.N. 416
Junta de Energía Nuclear. Divisio'n de Física de las Radiaciones. Madrid.
" C a v a l i e r p e r s p e c t i v e plots of two dimensional m a t r i ces. P r o g r a m STEREO".
Junta de Energía Nuclear. División de Física de Radiaciones. Madrid.
" C a v a l i e r p e r s p e c t i v e plots of two d i m e n s i o n a l . m a t r i ces. P r o g r a m STEREO".
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . 6 r e f s .
LOS ARCOS, J.M. (1978) 58 pp. 13 f i g s . 6 r e f s .
The program STEREO allows to represent a two dimensional matrix containing numerical
The program STEREO allows to represent a two dimensional matrix containing numerical
data, In the from of a cavalier perspective, isometric or not, with an angle variable
data, In the froin of a cavalier perspective, isometric or not, with an angle variable
between 0° and 180°.
between 0° and 180°.
The representation i s In histogran from f o r each matrix row and those curves which
The representation i s i n histogram from f o r each matrix row and those curves which
f a l l behind higher curves and there fore would not been seen, are suppressed.
f a l l behind higher curves and there fore would not been seen, are suppressed.
I t has been written i n FORTRAN V f o r a CALCOHP-936 digital plotter operating o f f - l i n e
i t has been written in FORTRAN V f o r a CALCOHP-936 digital p l o t t e r operating o f f - l i n e
with a. UN I VAC 1106 computer.
u i t h a UNÍVAC 1106 computer.
•
Dr.awincj method, subroutine structúre and running instructions are described in t h i s
Drawing method, subroutine structúre and running instructions are described 1n t h i s
paper.
paper.
INIS CLASSIFICATION AND DESCRIPTORS: F51. Coincidence spectrometry. Plotters. Matrices.
INIS CLASSIFICATION AND DESCRIPTORS: F51. Coincidente spectrometry. Plotters. Matrices.
Two dimensional calculations. Digital computers. S codes.. Fortran. Data processing. .
Two dimensional calculations. Digital computers. S codes. Fortran. Data processing.
CPUSiPNP. ELIDT1CR
FIGURA 10.
|
|H OJA:
co
-
....
•
Uí
IFEGHA:
1
!
• —
1
|Cvl|
U3
-
1
~
|
»
<=»
*•—
un
1
1
%
o
1
1
ce
<
I
1
i
1
tn
LxJ
1
_J
1
1
U
3
IX)
1
üJ
l
^DOR
1
|
b
1
i
1
O
CZ
Lü
21
1
1
•
•
«4.
ROGR>
«-r
1
"«a;
trt
co
•o
—
<--
va
CL
-
|
|
va
—
|
1
i
—.
Ci
co
o
<a
-«-
tu
•*.
«SC
Ci
• * .
S:
uH
rs
^ ~
•=>
i«^i
¿ü
CvJ
!
CM
LO
o
iTRABA
ÜJ
Q
l£
«*-
O
i
1
!
1
i
m
i
1
as
—
UJ
1—
cQ
—
1
M
X
•21
Ujl-
1
i-ju. _ _ _
FIGURA 8 . -
u
1
l.OC
4S.49
91.93
13-".45 132.a5 223.44 273-93 359.42 354.91 410.39 455-33 5C1.
110.0°
EJE X
DflUSIfiNR ELIPTICfl
STEREE
Lfiii
PIGURá 9.
Descargar