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