Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMINARIO DE COMPUTACIN
FACULTAD DE CIENCIAS EXACTAS UNIVERSIDAD NACIONAL DE SALTA Salta, Septiembre 2. 2
Carrera:
Licenciatura en Anlisis de Sistemas
Alumnos:
Santiago Russo L.U. 203.704 Hugo Ariel Tapia L.U. 202.924
Director:
Dr. Luis Saravia
RADSOL 3D
Agradecimientos
A nuestro director Dr. Luis Saravia por el tiempo dedicado a nosotros, por los conocimientos aportados, por brindarnos la posibilidad de trabajar con l y llevar a la prctica lo aprendido. Al Lic. Luis Mealla Snchez por habernos brindado las primeras nociones y encaminarnos en el desarrollo de nuestro proyecto.
A todas las personas que de una u otra manera aportaron su granito de arena en este emprendimiento tan importante para nosotros. A nuestras familias que con tanta paciencia nos acompaaron durantes muchas horas de trabajo, fundamentalmente por darnos la posibilidad de desarrollarnos intelectualmente en la universidad.
RADSOL 3D
Prlogo
Un aspecto de importancia en un planteo global de la simulacin numrica de un equipo solar es el clculo de la radiacin solar que incide sobre sus componentes. Si bien existen mtodos muy divulgados de clculo para estimar la radiacin incidente horaria sobre una superficie dada (Duffie y Beckman, 1991), la simulacin trmica de un equipo completo, como ser, por ejemplo, una cocina o un secador solar, exige determinar la radiacin absorbida por cada componente como resultado de las distintas reflexiones e interaccin de los rayos solares sobre los mismos. Recientemente (Saravia y Alia, 2001), han presentado un simulador trmico llamado SIMUSOL, que evala el comportamiento trmico de un equipo a lo largo del tiempo, pero el mismo requiere que se le entregue como datos la radiacin absorbida por cada elemento del equipo. El presente trabajo introduce un programa que permite calcular la distribucin de radiacin, con lo cual se completa la programacin necesaria para realizar la evaluacin del comportamiento trmico de un sistema solar. El programa est escrito en Visual Basic 6.0 para Windows y se espera que quienes lo utilicen indiquen a los autores posibles mejoras o correcciones.
RADSOL 3D
Captulo 1: Introduccin
Por qu usar este soft?
Existen programas muy detallados para el anlisis de la iluminacin, por ejemplo en edificios, o para la distribucin de luz en una escena, por ejemplo para la creacin de pelculas, que utilizan los llamados mtodos de ray tracing, pero los mismos no estn orientados a determinar la absorcin de radiacin y en general son programas de gran envergadura con exigentes requerimientos computacionales. Presentamos un programa destinado a calcular la distribucin de radiacin absorbida por un equipo solar en sus distintas caras cuando es iluminado a lo largo de un da. El programa utiliza una descripcin no muy detallada del equipo y permite obtener valores de la distribucin de energa sobre las partes del mismo en un tiempo razonable y sin necesidad de introducir una descripcin muy exigente de la geometra del sistema.
Objetivos
Desarrollar una herramienta de clculo de la distribucin dentro de las partes del equipo de la radiacin solar incidente en el mismo como funcin del tiempo, con el fin de poder realizar el balance trmico del sistema a posteriori. Se pretende que el paquete sea de uso sencillo y no necesite de una descripcin muy detallada del equipo. Se espera que los resultados tampoco tengan una distribucin espacial de mucha definicin, de modo que el clculo pueda realizarse en un tiempo razonable sin necesidad de equipos de clculo de alto rendimiento. Estos resultados estn destinados a su posterior uso en una simulacin trmica del comportamiento del equipo.
RADSOL 3D
La versin actual no permite la impresin por papel de las tablas de resultados de la distribucin de la radiacin que llega a las distintas caras, en un futuro prximo se incorporarn rutinas y ventanas de impresin.
Herramientas utilizadas.
Microsoft Visual Basic 6.0 Edicin Empresarial, como lenguaje principal de programacin. 3D Building Blox 1.0, rutinas para el manejo de figuras tridimensionales, utilizadas para le representacin de los colectores. Microsoft Access 200 para el almacenamiento da datos. Microsoft Help Workshop 4.03, generador de ayudas. Globlalink Power Traslator Pro 6.2, herramienta de traduccin (ingles/castellano; portugus/castellano) asistida por computadora.
RADSOL 3D
Introduccin
Los puntos de referencia son vitales cuando se trata de describir la localizacin de un objeto o lugar en el espacio. Para localizar por ejemplo una casa buscamos los puntos de referencia cercanos a ella y la numeramos para individualizarla de las casas vecinas, es decir les damos una direccin o coordenadas. En astronoma se han ideado varios sistemas de coordenadas para ubicar los objetos, unos relacionados con la posicin del individuo (relativos) y otros con respecto a puntos de referencia fijos en la esfera celeste (absolutos).
90) y negativa hacia el polo Sur (Latitud -90). Longitud. En este caso las lneas (meridianos) van de polo a polo y dividen la circunferencia de la tierra (el Ecuador) en 24 horas - es decir estn localizadas cada 15 de arco.
RADSOL 3D
Angulo de incidencia, es el ngulo entre la radiacin directa sobre la superficie y la normal a la superficie.
Cenit Normal a la sup. horizontal N
Sol
z s O s
S N O E
Sol
Angulo cenit (cima): ngulo entre el vertical y la direccin del sol. Angulo de altitud solar: ngulo entre el horizontal y la direccin de sol. Angulo solar acimut: desviacin de la proyeccin de la radiacin directa del meridiano local sobre el plano horizontal, cero al sur, negativo al este y positivo al oeste. (-180<= <=180). La declinacin puede ser calculada como: = 23.45 sen (360(284 + n)/365)
La direccin de la radiacin solar directa que incide sobre una superficie de cualquier orientacin con respecto a las coordenadas locales puede ser calculada mediante la siguiente expresin: Cos = Sen * Sen * Cos - Sen * Cos * Sen * Cos + Cos * Cos * Cos * Cos + Cos * Sen * Sen * Cos * Cos + Cos * Sen * Sen * Sen se calcula como:
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
en donde h es la hora
= 23.45 * Sen [360 * (284+n)/365] en donde n es el nmero del da del ao, con 1<= n <= 365 s podr calcularse, simplemente haciendo = 0: Cos s = Sen * Sen * Cos + Cos * Cos
Definiciones
La siguiente figura muestra los flujos de radiacin primaria en una superficie hacia o cerca de la tierra que son importante en relacin con los procesos termales solares. Es conveniente considerar la radiacin en dos rangos de longitud de onda.
RADSOL 3D
Radiacin onda-larga
Radiacin solar o onda-corta, es radiacin originada en el sol, el rango de la longitud de onda es de 0.3 a 3 m. A menos que se especifique lo contrario, la radiacin solar incluye componentes de la directa y la difusa. Radiacin onda-larga, es radiacin que se origina de las fuentes a temperaturas ambiente ordinarias y as substancialmente todas las longitudes de onda son mayores a 3 m. La radiacin onda-larga es emitida por la atmsfera, por un colector, o por cualquier otro cuerpo a temperaturas ordinarias. (Si se origina en la tierra, radiacin terrestre".)
10
Deseamos obtener una expresin general para el intercambio de energa entre estas superficies cuando se les mantiene a temperaturas diferentes. El problema es en esencia la determinacin de la cantidad de energa que sale de una superficie y alcanza la otra. Para resolver este problema los factores de forma de la radiacin se definen como: F 1-2 = fraccin de energa que sale de la superficie 1 y que alcanza la superficie 2. F 2-1 = fraccin de energa que sale de la superficie 2 y que alcanza la superficie 1. F m-n = fraccin de energa que sale de la superficie m y que alcanza la superficie n. Factor de vista, factor de ngulo y factor de configuracin son otros de los nombres para el factor de forma de la radiacin. La energa que sale de la superficie 2 y alcanza la superficie 1 es: 1 cos 1 cos 2 F21 = dA1dA2 (1) A2 A1A2 r 2 De igual manera la energa que sale de la superficie 1 y alcanza la superficie 2 es: F12 = 1 A1 cos 1 cos 2 dA1dA2 r 2 A1 A2
(2)
En conclusin, el significado fsico del factor de forma es: F12 = q1-2 (radiacin que sale de A1 y es interceptada por A2) Eb,1 A1 (radiacin que sale de A1 en todas las direcciones) La definicin de la relacin formulada sugiere que el valor del factor de forma est entre 0 y 1. Esta caracterstica importante es evidente en las ordenadas de las siguientes figuras: Estas figuras contienen los factores de forma de algunas configuraciones de dos superficies que pueden encontrarse.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
11
El Factor de Forma Geomtrico entre dos rectngulos paralelos se puede apreciar en la primera figura. Para obtener el Factor de Forma segn el grfico debemos tomar el largo (X) y el ancho (Y) de las placas, X e Y deben ser iguales en ambas placas. Tambin tomamos la distancia entre las placas (H).
El Factor de Forma Geomtrico entre dos rectngulos perpendiculares unidos por un borde comn se puede apreciar en la segunda figura. Para obtener el Factor de Forma segn el grfico debemos tomar el largo (X) y el ancho (Y) de las placas, X e Y deben ser iguales en ambas placas. Tambin tomamos la altura de la placa vertical (H).
Para evaluar las integrales (1) como la (2), se debe conocer las geometras especficas de las superficies A1 y A2. Normalmente esto no es sencillo, por lo cual la resolucin algebraica de
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
12
las integrales de superficie es extremadamente compleja. Sin embargo para algunas configuraciones de superficies esta integral est resuelta. Para dos placas de longitud infinita de ancho L, unidas a lo largo de un borde:
F12 = F21 = 1 sen
Para dos placas de longitud infinita de diferentes anchos (H, L), unidas a lo largo de un borde y con un ngulo de 90 entre ellas: 1 F12 = [1 + x (1 + x 2 ) 2 ] 2
1
donde x = H/L
Una propiedad importante es: La relacin entre dos factores de forma diferentes es la comparacin:
A1F12 = A2 F21
La forma directa de calcular el factor de forma es utilizando la integral espacial que define el factor de forma. Desafortunadamente, esta integral solamente puede resolverse de forma analtica para ciertos casos. Otra posibilidad es efectuar la integracin de forma numrica o aproximada. Uno de los mtodos es el de Montecarlo, que consiste en un muestreo aleatorio y se explicar en el captulo siguiente, ya que es el mtodo utilizado por la presente aplicacin.
Hi
Bi Cara i
Intercambio de radiacin difusa. entre las superficies i y j.
RADSOL 3D
13
Definimos: Ei: Energa que le llega a la cara i desde el exterior (rayo). Bi: Energa que emite la cara i hacia todos lados. Hi: Energa que le llega a la cara i desde todas las otras Fij: Fraccin de energa que sale de la superficie i y alcanza la superficie j. i: Coeficiente de absorcin de la cara i. El valor puede estar entre [0, 1] i: Coeficiente de reflexin de la cara i. El valor puede estar entre [0, 1] i: Coeficiente de transmisin de la cara i. El valor puede estar entre [0, 1] Observacin: Solamente las caras transparentes como los vidrios poseen un coeficiente distinto de cero, para las dems = 0. En consecuencia la suma de los coeficientes es: + + = 1
Sistema de ecuaciones
Para encontrar cuanto absorbe cada cara debemos plantear un sistema de ecuaciones en B, desarrollamos aqu brevemente como llegar a tal sistema. H i = Fki Bk + Ei para cada cara i
k
La ecuacin me dice cuanto recibe la cara i desde todas las otras caras y del exterior. Para resolver B planteamos el siguiente sistema de ecuaciones: Bi = i Fki Bk + i Ei para cada cara i
k
Es un sistema de ecuaciones en los Bi. Se resuelven los Bi y se calculan los Hi; luego Abi = iHi, donde Abi es la Energa absorbida por la cara i Si efectuamos los despejes correspondientes, tenemos simplemente un sistema de ecuaciones del tipo Ax = b
Tenemos ya todo lo necesario para resolver el sistema, la aplicacin usa para esto el sistema de Gauss Seidel.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
14
Cubiertas
Para cada cara del modelo se deben introducir los parmetros que definen su comportamiento ptico teniendo dos opciones en cuanto al tipo de cara: Cara opaca. En este caso se supone que los rayos incidentes sern en parte absorbidos y el resto de la radiacin ser reflejado en forma difusa. El nico parmetro ser la reflexin de la cara (), mientras que su absorcin valdr uno menos el coeficiente de reflexin ( = 1 ); Cara transparente. En este caso existen una o ms cubiertas superpuestas e iguales. Para ellas se deber dar el nmero de cubiertas, su ndice de refraccin (n), su coeficiente de extincin (k) y el espesor (l). Con estos datos se calcular la radiacin reflejada hacia el exterior por la cara, la radiacin absorbida cuando el rayo atraviese las cubiertas y la transmitida ( =1 ), que entrar a la zona interna y llegar a una de las caras correspondientes.
La aplicacin permite redefinir el coeficiente de reflexin de las caras opacas y en el caso del vidrio (cara transparente) se ingresan los parmetros, y la aplicacin calcular y almacenar como atributos el rho ()y tau () correspondiente. Puedo considerar absorcin para cubiertas de una sola lmina (cubierta por defecto) o para cubiertas con dos lminas. Al tener ms de dos lminas no se considera absorcin, es decir no se requieren los coeficientes de extincin y el espesor. A continuacin se describe el pseudocdigo para el calculo del Rho y Tau correspondiente: Si considero absorcin entonces Si es 1 cubierta Tau = TransUnaLamina(tita1, n2, k1, l1) Rho = RefleUnaLamina(tita1, n2, k1, l1) Si es 2 cubiertas Tau = TransDosLaminas(tita1, n1, k1,l1, n2,k2, l2) Rho = RefleDoslaminas(tita1, n1, k1,l1, n2,k2, l2) Sino {No se tienen en cuenta el coeficiente de extincin k ni el espesor l} Tau = TransNLaminas(tita1, n1, n2, ncub) Rho = 1 - Tau Fin Si
RADSOL 3D
15
ecuacin general o implcita: Ax + By + Cz + D = 0; (A, B, C) son coeficientes del vector Normal del plano.
ecuacin segmentaria:
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
16
Un plano tambin se puede hallar sabiendo UN PUNTO Y SLO UN VECTOR, siempre y cuando ese vector sea perpendicular al plano( llamado vector normal), las coordenadas de ese vector coinciden con los coeficientes (A, B, C) del plano; para hallar el trmino independiente (D) del plano, slo hay que sustituir las coordenadas del punto que nos den y despejar D.
Se sustituye la recta (siempre en forma PARAMTRICA) en el plano (siempre en forma GENERAL ) y se despeja t pudiendo dar tres resultados.
la recta coincidente con el plano.
Para hallar el punto P donde la recta corta al plano slo hay que sustituir el valor de t en las ecuaciones paramtricas de la recta.
RADSOL 3D
17
a2x + b2y + c2z + d2 = a1x + b1y + c1z + d2 = (a1x + b1y + c1z) + d2 = (- d1) + d2 = 0. Por lo tanto, d2 = d1 y las ecuaciones 1 y 2 son proporcionales. Recprocamente, si las ecuaciones de 1 y 2 son proporcionales, entonces claramente los dos planos son coincidentes. Por lo tanto, dos planos son coincidentes si, y solamente si, sus vectores normales son paralelos entre s, y sus ecuaciones son proporcionales.
18
y R2:
x = x0 + t v1 y = y0 + t v2
Mediante el sistema de ecuaciones de 2 x 2 descripto arriba podemos encontrar s y t, los cuales reemplazados en cualquier ecuacin de la recta permite encontrar el punto P. Ahora para saber si ese punto P est en la interseccin de los segmentos S y T hacemos lo siguiente (lo hacemos con s): Primero establecemos un punto base que pertenece a la recta, por comodidad ese punto base es el punto donde inicia el segmento y un segundo punto donde finaliza el segmento, llamemos a esos puntos A y B A = (x1, y1) y B = (x2, y2) De stos puntos vamos a utilizar la componente x nicamente.
Hacemos lo mismo para t y se debe cumplir que: s a < s < sb t a < t < t b Entonces el punto P est en la interseccin de los dos segmentos. Hay que decir que este pequeo desarrollo para encontrar un punto en comn entre dos segmentos es uno de los motores principales de nuestro trabajo ya que permite decir con precisin si un punto cualquiera est o no en el interior de un polgono.
19
Dados dos planos, y . Dados dos planos, y , de vectores ortogonales entre . El ngulo entre los planos se calcula como: , el ngulo de y es el menor
Mtodo de Montecarlo.
El mtodo de Montecarlo es una tcnica para obtener muestras aleatorias simples de una v.a. X, de la que conocemos su ley de probabilidad (a partir de su funcin de distribucin F). Con este mtodo, el modo de elegir aleatoriamente un valor de X siguiendo usando su ley de probabilidad es: Usando una tabla de nmeros aleatorios se toma un valor u de una v.a. Si X es continua tomar como observacin de X, la cantidad x=F-1(u). En el caso en que X sea discreta se toma x como el percentil de X, es decir el valor ms pequeo que verifica que .
Este proceso se debe repetir n veces para obtener una muestra de tamao n. El problema crucial de la aplicacin de los mtodos de Montecarlo es hallar los valores de una variable aleatoria (discreta o continua) con una distribucin de probabilidad dada por la funcin p(x) a partir de los valores de una variable aleatoria uniformemente distribuida en el intervalo [0, 1), proporcionada por el ordenador o por una rutina incorporada al programa. Para simular un proceso fsico, o hallar la solucin de un problema matemtico es necesario usar gran cantidad de nmeros aleatorios. El mtodo mecnico de la ruleta sera muy lento, adems cualquier aparato fsico real genera variables aleatorias cuyas distribuciones difieren, al menos ligeramente de la distribucin uniforme ideal. Tambin, se puede hacer uso de tablas de cifras aleatorias uniformemente distribuidas, comprobadas minuciosamente en base a pruebas estadsticas especiales. Se emplean solamente cuando los clculos correspondientes a la aplicacin del mtodo de Montecarlo se realiza a mano, lo que en estos tiempos resulta inimaginable. En la prctica, resulta ms conveniente emplear los denominados nmeros pseudoaleatorios, se trata de nmeros que se obtienen a partir de un nmero denominado semilla, y la aplicacin reiterada de una frmula, obtenindose una secuencia {x0, x1, x2, ... xn} de nmeros que imitan los valores de una variable uniformemente distribuida en el intervalo [0, 1).
RADSOL 3D
20
El mtodo de MonteCarlo es usado por la aplicacin para encontrar Factores de Forma, concepto que ya fue definido en el captulo correspondiente, explicamos brevemente el proceso para realizar ese clculo con ste mtodo aleatorio. Para calcular el factor de forma tenemos que estimar qu porcentaje de rea sobre el mximo posible ocupa una cara vista desde otra. Para ello podemos lanzar rayos desde una de ellas con una orientacin al azar. Midiendo el porcentaje de rayos que atraviesan la otra cara respecto al nmero total que hemos lanzado sabremos lo grande que resulta vista desde la primera. Este sistema tiene la ventaja adicional de que incluye la visibilidad, ya que si el rayo atraviesa un objeto intermedio, entonces no debemos contarlo.
La ecuacin (1) sugiere un proceso iterativo que se concreta al escribir: (2) El vector inicial x(0) puede ser arbitrario, aunque si se dispone de un buen candidato como solucin ste es el que se debe emplear. La aproximacin inicial que se adopta, a no ser que se disponga de una mejor, es la idnticamente nula
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
21
A partir de la ecuacin (2) se puede calcular una sucesin de vectores x(1), x(2), .... Nuestro objetivo es escoger una matriz Q de manera que: Se pueda calcular fcilmente la sucesin [x(k)]. La sucesin [x(k)] converja rpidamente a la solucin. Como en todo mtodo iterativo, deberemos especificar un criterio de convergencia y un nmero mximo de iteraciones M, para asegurar que el proceso se detiene si no se alcanza la convergencia. En este caso, puesto que x es un vector, emplearemos un criterios de convergencia que se deber satisfacer: El mdulo del vector diferencia, , partido por el mdulo del vector x,
La iteracin de Gauss-Seidel se define al tomar Q como la parte triangular inferior de A incluyendo los elementos de la diagonal:
y la ecuacin (2) se puede escribir en la forma: Qx(k) = -Rx(k-1) + b Un elemento cualquiera, i, del vector Qx(k) vendr dado por la ecuacin:
RADSOL 3D
22
Si tenemos en cuenta la peculiar forma de las matrices Q y R, resulta que todos los sumandos para los que j > i en la parte izquierda son nulos, mientras que en la parte derecha son nulos todos los sumandos para los que . Podemos escribir entonces: =
Obsrvese que en el mtodo de Gauss-Seidel los valores actualizados de xi sustituyen de inmediato a los valores anteriores. Por contra, en el mtodo de Gauss-Seidel los clculos deben llevarse a cabo por orden, ya que el nuevo valor xi depende de los valores actualizados de x1, x2, ..., xi-1. En la figura siguiente se incluye un algoritmo para la iteracin de Gauss-Seidel.
RADSOL 3D
23
Observacin. Es lgico preguntarse si siempre el mtodo de Gauss-Seidel converge a la solucin del sistema de ecuaciones y tambin es lgico esperar que la respuesta es NO. Un resultado de Anlisis Numrico nos da una condicin suficiente para la convergencia del mtodo. Teorema. El mtodo de Gauss-Seidel converge a la solucin del sistema si se cumple la condicin de que la matriz de coeficientes del sistema sea una matriz diagonalmente dominante, es decir, si se cumple la siguiente condicin: ,para cada La condicin de ser una matriz diagonalmente dominante simplemente significa que los elementos de la diagonal son mayores (en valor absoluto) que la suma de los valores absolutos de los dems elementos del mismo rengln. Sin embargo, la condicin de la matriz diagonalmente dominante, solamente es una condicin suficiente pero no necesaria, es decir, existen sistemas de ecuaciones que no cumplen con la condicin y que si convergen a la solucin y tambin existen sistemas de ecuaciones que no cumplen con la condicin y que no convergen a la solucin. Finalmente, obsrvese que aunque un sistema no cumpla con la condicin de ser diagonalmente dominante, es posible a veces, lograr que si se cumpla con esta condicin mediante un intercambio de renglones, como veremos en el siguiente ejemplo.
Ejemplo
Usar el mtodo de Gauss-Seidel para aproximar la solucin del sistema:
Solucin En este caso, vemos que la matriz de coeficientes del sistema no es diagonalmente dominante. Pero tambin vemos que si intercambiamos los renglones 2 y 3 entonces si es diagonalmente dominante. As, primero hacemos el intercambio de renglones y nuestro sistema es:
El objetivo se ha logrado en la cuarta iteracin y tenemos los valores aproximados de la solucin del sistema:
RADSOL 3D
24
Con esto determinaramos sobre el plano, y tendramos que utilizar algn test de pertenencia del punto al polgono para averiguar si el punto de interseccin cae fuera o dentro de ste. Un algoritmo para comprobar la pertenencia de un punto a un polgono es: Regla de la paridad de intersecciones.
Si se traza una semirrecta desde un punto interior al polgono hasta el punto a comprobar, si el nmero de intersecciones con la frontera del objeto es par, el punto es interior, mientras que si es impar el punto es exterior. Vale aclarar que para nuestra regla consideramos al cero como nmero par por estar entre dos impares.
25
ahora construyamos una esfera con centro de coordenadas (0, 0, 0) y de radio , la distancia del origen al punto. Sea tambin el ngulo formado por el eje z y el radio.
Analizando su proyeccin podemos, vemos que se forma un triangulo rectngulo con vrtices el origen, el punto de proyeccin A y el punto P, con hipotenusa el radio
RADSOL 3D
26
Vemos que debido a que el tringulo descripto es un tringulo rectngulo entonces la proyeccin sobre el plano X-Y es: OA = * sen
Llamemos OA al ngulo entre el eje X y la proyeccin OA . Ahora proyectemos OA sobre el eje X y sobre el eje Y, entonces, tendremos:
x = OA * cos = OP * sen * cos = * sen * cos y = OA * sen = OA * sen * sen = * sen * sen
RADSOL 3D
27
Para encontrar cul es el valor de Z analicemos la proyeccin de sobre el eje Z, el cual, como vemos del tringulo rectngulo OPZ
z = * cos
= x2 + y2 + z 2
de z podemos determinar como:
= arccos
z z = arccos 2 2 2 x +y +z
RADSOL 3D
28
= arcsen
y * sen
= arccos
x * sen
RADSOL 3D
29
Nos aparece la ventana de propiedades de la tabla, all definimos los nombres de los campos, sus tipos de datos, claves primarias, una breve descripcin de los campos y algunas otras cosas. La llave a la izquierda del nombre del campo indica que ste es clave primaria. Cuando terminamos guardamos la tabla bajo algn nombre.
RADSOL 3D
30
Repetimos los mismos pasos para todas las tablas que queramos crear y as obtenemos todas las tablas necesarias.
Relaciones
Una vez que tenemos todas las tablas creadas, podemos relacionarlas, esto es, asignar las distintas claves forneas. Nuestras tablas tienen un buen grado de normalizacin y por su sencillez no nos fue difcil crear la estructura de la Base de Datos. Para relacionar tablas presionamos el botn , nos aparece una ventana como la siguiente:
RADSOL 3D
31
Arrastramos el nombre del campo desde la tabla que contiene a la clave primaria hacia la tabla que contiene el campo que ser clave fornea (que no necesariamente tiene que tener el mismo nombre que la clave primaria) y soltamos, exigimos ahora integridad referencial y actualizacin en cascada.
Aceptamos y repetimos el proceso con cada tabla que queramos vincular y obtenemos las relaciones de la base de datos.
Tipos de datos
Mostramos los tipos de datos que soporta Access 2000, sus rangos y tamaos en bytes. Cada campo slo puede contener datos de un tipo.
RADSOL 3D
32
Valor
Tipo de datos (Predeterminado) Texto o combinaciones de texto y nmeros, as como nmeros que no requieran clculos.
Tamao Hasta 255 caracteres o la longitud que indique la propiedad Tamao del campo (el menor de los dos valores). Microsoft Access no reserva espacio para la parte que no se utiliza de un campo de texto. Hasta 65.535 caracteres. (Si el campo se manipula a travs de DAO y slo se va a almacenar en l texto y nmeros [no datos binarios], el tamao est limitado por el de la base de datos). 1, 2, 4 u 8 bytes (16 bytes si el valor de la propiedad Tamao del campo es Id. de rplica). 8 bytes.
Texto
Numrico
Fecha / Hora
Valores de fecha y hora para los aos del 100 al 9999. Valores de moneda y datos numricos utilizados en clculos matemticos en los que estn implicados datos que contengan entre uno y cuatro decimales. La precisin es de hasta 15 dgitos a la izquierda del separador decimal y hasta 4 dgitos a la derecha del mismo. Nmero secuencial (incrementado de uno a uno) nico, o nmero aleatorio que Microsoft Access asigna cada vez que se agrega un nuevo registro a una tabla. Los campos Autonumrico no se pueden actualizar. Valores S y No, y campos que contengan uno de entre dos valores (S / No, Verdadero / Falso o Activado / desactivado). Objeto (como por ejemplo una hoja de clculo de Microsoft Excel) vinculado o incrustado en una tabla de Microsoft Access. Texto o combinacin de texto y nmeros almacenada como texto y utilizada como direccin de hipervnculo. Una direccin de hipervnculo puede tener hasta tres partes: texto: el texto que aparece en el campo o control. direccin: ruta de acceso de un archivo (ruta UNC) o pgina (direccin URL). subdireccin: posicin dentro del archivo o pgina.
8 bytes.
Moneda
Autonumrico
4 bytes (16 bytes si el valor de la propiedad Tamao del campo es Id. la rplica).
1 bit.
S / No
Objeto OLE
Cada una de las tres partes del tipo de datos hipervnculo puede contener hasta 2048 caracteres.
Hipervnculo
RADSOL 3D
33
Crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Al hacer clic en esta opcin se inicia el Asistente para bsquedas, que crea un campo de bsqueda. Al salir del Asistente, Microsoft Access establece el tipo de datos basndose en los valores seleccionados en l.
Tamao igual al del campo clave principal utilizado para realizar la bsqueda (habitualmente 4 bytes).
Estructuracin de tablas.
1-Parts IDPart @ Camino
NroCuerpo
NroCara
IDPart FK(1)
IDCara: Numrico NroCuerpo: Numrico NroCara: Numrico. IDPart: Numrico 3-Puntos IDCara @ FK(2)
X @
Y @
Z @
IDCara2 @
FactorForma
34
IDCara: Numrico. Aclaramos porque aparecen dos tablas (HuecosIDPart, HuecosIDCara) sin relaciones con otras tablas y con solo un campo. Debido a que en nuestra base de datos se guardarn las coordenadas (X, Y, Z) del espacio que definen a los distintos cuerpos que puede haber en una escena determinada (Part) se hace necesaria, a nuestro parecer, la existencia de estas dos tablas. Cuando la aplicacin define un cuerpo (por ej. una cocina solar) se guardan en la BD los puntos que definen a ese equipo en el espacio, estos puntos poseen dos identificadores: el identificador de escena (IDPart) y el identificador de cara (IDCara), as podemos saber que punto pertenece a tal cara de tal cuerpo de tal escena. Es lgico pensar, y ocurre en realidad, que una escena puede tener muchos cuerpos y que cada uno de esos cuerpos puede tener muchas caras. El problema aparece en el momento de que un usuario decida que un equipo creado hace tiempo y definido en la base de datos sea dado de baja, mediante unos pasos sencillos puede eliminar el archivo (.SAT) que contiene al equipo, esta accin provoca que la definicin de ese equipo eliminado en nuestra base de datos quede sin archivo asociado, nosotros llamamos a esto Cubrimientos Hurfanos. Estos cubrimientos no tienen sentido de existir, por lo que si el usuario decide eliminarlos de la BD puede hacerlo apretando un botn. Al eliminar esos cubrimientos, se pierden los identificadores de escena y de caras, al perderse no pueden volver a ser utilizados por ninguna otra definicin de escenas posterior. Para evitar que esos identificadores se pierdan para siempre, al momento de la eliminacin de una escena de la BD, los salvamos en dos tablas: HuecosIDPart para los identificadores de escena y HuecosIDCara para los identificadores de caras.
Muchas pruebas nos han demostrado que salvar los identificadores alargan la vida til de stos y alargan de cierta manera la vida til de la BD pues el tipo de datos Numrico con el
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
35
tamao de campo Entero Largo de Access 2000 tiene como valor mximo a 2.147.483.647, si bien ste es un nmero demasiado grande no es imposible llegar a l, sobre todo en los identificadores de cara, ya que en una escena puede haber cientos o tal vez miles de caras pertenecientes a los distintos cuerpos.
Parts FactorForma
HuecosIDPart
RADSOL 3D
36
Libreras.
Las siguientes son las libreras que pertenecen al paquete 3D Building Blox. blox.dll bloxprop.dll: librera de Propiedades. bloxsolid.dll: librera de slidos. bloxwire.dll: librera de alambres. bloxtext.ocx: Control de texto. bloxvisual.ocx: Control de escena. constrct.dll: Librera de construcciones. faceter.dll: Librera de caras. Otras libreras: gihusk.dll, intersct.dll, kernel.dll, part.dll, rnd_husk.dll, rwdx6b20.dll, rwdl6b20.dll, rwdl6c20.dll, rwdl6d20.dll, rwdl8a20.dll, rwdl8b20.dll, rwdl8c20.dll, rwdl8d20.dll, rwdx6a20.dll, rwdl6a20.dll, rwdx6c20.dll, rwdx6d20.dll, rwdx8a20.dll, rwdx8b20.dll, rwdx8c20.dll, rwdx8d20.dll, rwl20.dll, y rwx20.dll.
Geometra
La geometra se refiere a los elementos fsicos que pueden representarse, como puntos, curvas, y superficies, independiente de sus relaciones espaciales o topolgicas.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
37
Topologa
La topologa se refiere a las relaciones espaciales entre las entidades geomtricas en el modelo. En ACIS, ejemplos de topologa son: CUERPO (body), ALAMBRE (wire), LUMPS, CASCARA (shell), SUBSHELL, CARA (face), CURVA (curve), COEDGE, BORDE (edge), y VRTICE (vertex). La figura siguiente muestra la topologa conceptual que constituye un modelo de 3D Building Blox.
Entidades
Una entidad es el objeto bsico de 3D Building Blox. As una entidad es un cuerpo, una lnea, un punto, etc.
RADSOL 3D
38
Un cuerpo (body) es una entidad slida, puede estar formado por una o varias entidades cuerpo.
Una cscara (shell) es un juego de caras conectadas y/o alambres. Se conectan caras a lo largo de los bordes comunes o al vrtice comn.
Una cara (face) es una porcin de una sola superficie geomtrica en el espacio.
Una curva (curve) representa una porcin conectada del lmite de una cara.
Un alambre (wire) es una coleccin conectada de bordes no ligada a las caras y que no posee volumen.
Un borde (edge) es la topologa asociada con una curva. Un borde es limitado por uno o ms vrtices y tiene un vrtice en cada extremo. Un caso especial ocurre cuando el puntero de la geometra es NULO y ambos indicadores del vrtice apuntan al mismo vrtice; por ejemplo, al pice de un cono.
Un vrtice (vertex) es la esquina de una cara o un alambre. El vrtice se refiere a un punto en el espacio del objeto, y a los bordes que limita.
RADSOL 3D
39
stas son las entidades mas importantes de 3D Building Blox, existen una gran cantidad adems de stas pero sera muy largo y aburrido enumerarlas, adems, no es objeto de nuestro seminario. Podemos decir para terminar que, con stas entidades y algunas otras hemos logrado buenas representaciones de objetos reales en la computadora.
Un ejemplo.
Presentamos ahora un sencillo ejemplo de cmo utilizar 3D Building Blox. Vamos a mostrar unas pocas lneas de cdigo en Visual Basic 6.0 y una pantalla que muestre el resultado, el lector podr apreciar la gran capacidad de las libreras con un ejemplo simple y ver tambin la facilidad de programacin que posee.
40
Dim p2 As Blox.Position Dim vec As New Blox.vector Dim l As Blox.Entity 'Tomo la normal de la esfera en el punto u, v surf.EvaluateNormal u, v, vec 'Devuelvo las coordenadas en el espacio de u y v surf.EvaluatePosition u, v, p1 'Me muevo 20 lugares en direccin normal, sobre la normal Set p2 = math.OffsetByDistance(p1, vec, 20) 'Dibujo una punta de la esfera y la pinto de azul Set l = wm.Line(p1, p2) l.Visual.Color = vbBlue Next v Next u Dim eye As New Blox.Position 'Posiciono la cmara para poder obtener la mejor visin de la esfera eye.Set 100, 200, 250 Scene1.Camera.eye = eye Scene1.Camera.Update Scene1.Camera.ZoomAll 'Pongo a la escena en modo cuerpo Scene1.DisplayMode = dispmodeShaded End Sub
Vale recordar que nuestra aplicacin no utiliza en sus rutinas las esferas ni ningn otro cuerpo con caras redondeadas, el motivo de esto es porque rara vez (nunca en nuestro caso) aparecen figuras con caras redondeadas en los sistemas solares, sino con caras planas. Si en algn momento la necesidad indica que se hace necesario dibujar un cuerpo con caras curvas, el usuario deber representar a ste cuerpo con caras planas. Sin embargo el ejemplo mencionado arriba demuestra que 3D Building Blox esta capacitado para tratar con cuerpos curvos.
RADSOL 3D
41
Introduccin
Qu es Visual Basic? La palabra "Visual" hace referencia al mtodo que se utiliza para crear la interfaz grfica de usuario (GUI). En lugar de escribir numerosas lneas de cdigo para describir la apariencia y la ubicacin de los elementos de la interfaz, simplemente puede agregar objetos prefabricados en su lugar dentro de la pantalla. La palabra "Basic" hace referencia al lenguaje BASIC (Beginners All-Purpose Symbolic Instruction Code) Visual Basic ha evolucionado a partir del lenguaje BASIC original y ahora contiene centenares de instrucciones, funciones y palabras clave, muchas de las cuales estn directamente relacionadas con la interfaz grfica de Windows. El sistema de programacin de Visual Basic, Scripting Edition (VBScript) es un lenguaje de secuencias de comandos ampliamente difundido y un subconjunto del lenguaje Visual Basic. La aplicacin terminada es un autntico archivo .exe que utiliza una mquina virtual de Visual Basic que puede distribuir con toda libertad.
RADSOL 3D
42
Los objetos tienen propiedades, responden a eventos y ejecutan mtodos Si se pudiera programar un globo, el cdigo de Visual Basic podra ser como el siguiente. Para establecer las propiedades del globo:
Globo.Color = Rojo Globo.Dimetro = 10 Globo.Inflado = True
Observe la sintaxis del cdigo: el objeto (Globo) seguido de la propiedad (.Color) seguida de la asignacin del valor (Rojo). Podra modificar el color del globo desde el cdigo si repitiera esta instruccin y sustituyera el valor por otro diferente. Tambin es posible establecer las propiedades en la ventana Propiedades mientras se est diseando la aplicacin. Los mtodos de un globo se invocan de esta forma:
Globo.Inflar Globo.Desinflar Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
43
Globo.Elevar 5
La sintaxis es similar a la sintaxis de las propiedades. El globo puede responder a un evento como se muestra a continuacin:
Sub Globo_Pinchazo() Globo.Desinflar Globo.HacerRuido "Bang" Globo.Inflado = False Globo.Dimetro = 1 End Sub
En este caso, el cdigo describe el comportamiento del globo cuando se produce un evento Pinchazo: invoca el mtodo Desinflar y luego invoca el mtodo HacerRuido con un argumento "Bang" (el tipo de ruido que se va a hacer). Como el globo ya no est inflado, la propiedad Inflado tiene el valor False y la propiedad Dimetro adopta un nuevo valor. Si bien no puede programar un globo, s puede programar un formulario o un control de Visual Basic.
Controles
Los controles son objetos que estn contenidos en los objetos de formularios. Cada tipo de control tiene su propio conjunto de propiedades, mtodos y eventos, que lo hacen adecuado para una finalidad determinada. Algunos de los controles que puede usar en las aplicaciones son ms adecuados para escribir o mostrar texto, mientras que otros controles permiten tener acceso a otras aplicaciones y procesan los datos como si la aplicacin remota formara parte del cdigo. Controles , algunas propiedades y eventos. Text Box (Caja de Texto)
Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras aplicaciones. Propiedades Text: Indicamos aqu el text que aparecer en el control. En el ejemplo Text es Esto es una caja de texto
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
44
Name: Es el nombre bajo el cual la aplicacin conoce al control en este caso viene por defecto con el nombre Text1. Locked: Si est en True, bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga. Label (Etiqueta)
Se usa para la visualizacin de datos, no permitiendo la introduccin de datos por parte del usuario. Propiedades Caption: Texto que contendr el control. En el ejemplo Caption es Esto es una etiqueta Name: Es el nombre bajo el cual la aplicacin conoce al control en este caso viene por defecto con el nombre Label1. Alignment: Alineacin del texto contenido en el control. Puede ser centrado, a la izquierda o a la derecha. En el ejemplo esta a la izquierda. BorderStyle: Si queremos que aparezca un borde alrededor del control. En el ejemplo, no tenemos borde alrededor del control. Command Button (Botn)
Propiedades Caption: Texto que contendr el control. En el ejemplo Caption es Aceptar Name: Es el nombre bajo el cual la aplicacin conoce al control en este caso viene por defecto con el nombre CommandButton1. Enabled: Cuando su valor es True, el botn funciona normalmente, cuando es False el botn se encuentra desactivado y no responde a los eventos producidos sobre l y el texto aparece en un gris claro advirtindonos de su estado. En el ejemplo est en True. Option Button (Botn de opcin)
RADSOL 3D
45
Este control nos permite elegir una opcin entre varias de las que se nos plantean, de las opciones que se nos presentan, solo podremos elegir una. Propiedades Caption: Texto que contendr el control. En este caso aparecer al lado del control.En el ejemplo Caption es Opcin1 y Opcin2 Name: Es el nombre bajo el cual la aplicacin conoce al control en este caso viene por defecto con el nombre CommandButton1. Value: Valor que contendr el control; True si se encuentra activado y False si no lo est. Para comprobar que opcin ha activado el usuario comprobaremos el estado de esta propiedad. Eventos Describiremos algunos eventos que son comunes a los controles presentados: MouseMove: Al mover el ratn por encima del control. MouseDown: Al pulsar cualquier botn del ratn encima del control. Change: Al cambiar el contenido del control. Click: Al hacer clic con el botn izquierdo del ratn sobre el control. DoubleClick: Al hacer doble clic con el botn izquierdo del ratn sobre el control. GetFocus: Este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el control en tiempo de ejecucin para introducir datos en l o realizar alguna operacin. LostFocus: Es el contrario del anterior, se activa cuando el control pierde el enfoque, es decir, se pasa a otro control para seguir introduciendo datos.. Form (Formularios)
RADSOL 3D
46
Los formularios son objetos que exponen las propiedades que definen su apariencia, los mtodos que definen su comportamiento y los eventos que definen la forma en que interactan con el usuario. Mediante el establecimiento de las propiedades del formulario y la escritura de cdigo de Visual Basic para responder a sus eventos se personaliza el objeto para cubrir las necesidades de la aplicacin. El formulario es un control especial que contiene a todos los otros controles. Propiedades Caption: Texto que aparece en el ttulo del formulario. En el ejemplo Caption es Formulario. Name: Es el nombre bajo el cual la aplicacin conoce al control en este caso viene por defecto con el nombre Form1. BackColor: Color de fondo del formulario. ForeColor: Color del texto del formulario. Eventos Load: Ocurre cuando el formulario se carga a memoria. UnLoad: Ocurre cuando el formulario se descarga de memoria, descarga con l todos los controles y variables que hubiere en l. La manera de llamar a un formulario es: Form.Show Tipos de variables de Visual Basic 6.0 La tabla siguiente muestra algunos de los tipos de datos compatibles, incluyendo el tamao de almacenamiento y el intervalo.
RADSOL 3D
47
Tipo de datos Byte Boolean Integer Long (entero largo) Single (coma flotante/ precisin simple) Double (coma flotante/ precisin doble)
Tamao de almacenamiento 1 byte 2 bytes 2 bytes 4 bytes 4 bytes 0 a 255 True o False -32,768 a 32,767
Intervalo
-2,147,483,648 a 2,147,483,647 -3,402823E38 a 1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos Cualquier referencia a tipo Object Desde 0 a 2.000 millones Cualquier valor numrico hasta el intervalo de un tipo Double El mismo intervalo que para un tipo String de longitud variable El intervalo de cada elemento es el mismo que el intervalo de su tipo de datos.
8 bytes
Object String (longitud variable) Variant (con nmeros) Variant (con caracteres) Definido por el usuario (utilizando Type)
4 bytes 10 bytes + longitud de la cadena 16 bytes 22 bytes + longitud de la cadena Nmero requerido por los elementos
ADO
Dedicamos una seccin al tipo de conexin que utilizamos para enlazar la Base de Datos. Para esto usamos la tecnologa ADO (Access Data Object) Incorporamos la referencia correspondiente: Microsoft ActiveX Data Object 2.1 Proveedores de datos
RADSOL 3D
48
Gran parte de la versatilidad y la flexibilidad de ADO se debe al hecho de que puede conectarse a varios proveedores de datos diferentes y mostrar an el mismo modelo de programacin, independientemente de las caractersticas especficas de un proveedor dado. Los proveedores son objetos que nos permiten conectarnos con la base de datos, para nuestro caso particular el proveedor es: Microsoft Jet OLE DB 4.0 Los siguientes objetos permiten la manipulacin de la base de datos: Connection Un objeto Connection representa una conexin abierta con un origen de datos. Ejemplo: Dim Conexion As New ADODB.Connection Recordset, objeto Un objeto Recordset representa todo el conjunto de registros de una tabla o del resultado de un comando ejecutado. En cualquier momento, el objeto Recordset slo hace referencia a un nico registro dentro del conjunto, llamado registro actual. Dim Parts As New ADODB.Recordset Ejemplo: Open, mtodo (Recordset ADO) Abre una conexin a un origen de datos Sintaxis recordset.Open Source, ActiveConnection, CursorType, LockType, Options Parmetros Source Opcional. Variant que da como resultado un nombre de variable de objeto Command vlido, una instruccin SQL, un nombre de tabla, una llamada a un procedimiento almacenado o el nombre de archivo de un Recordset. ActiveConnection Opcional. Un Variant que da como resultado un nombre de variable de objeto Connection vlido o un String que contiene parmetros ConnectionString. CursorType Opcional. Un valor CursorTypeEnum que determina el tipo de cursor que el proveedor debe usar al abrir el Recordset. Puede ser una de las siguientes constantes (vea la propiedad CursorType para obtener definiciones de estos valores).
LockType Opcional. Un valor LockTypeEnum que determina el tipo de bloqueo (concurrencia) que debe usar el proveedor al abrir el Recordset. Puede ser una de las siguientes constantes (vea la propiedad LockType para obtener ms informacin). Options Opcional. Valor Long que indica cmo debe evaluar el proveedor el argumento Source si representa algo distinto que un objeto Command o que se debe restaurar el Recordset desde un archivo en el que se guard anteriormente. Puede ser una de las siguientes constantes (vea la propiedad CommandType para obtener una explicacin ms detallada de las cinco primeras constantes de esta lista). Ejemplo:
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
49
Parts.Open "select count(*) from Parts", conexion, adOpenKeyset, adLockOptimistic, adCmdText Command, objeto Un objeto Command es la definicin de un comando especfico que se piensa ejecutar contra un origen de datos. Ejemplo: Dim borrarIdentif As New ADODB.Command borrarIdentif.ActiveConnection = conexion borrarIdentif.CommandType = adCmdText borrarIdentif.CommandText = "delete from Parts where IDPart=" & Str(ValorPart(0, 0)) borrarIdentif.Execute Close, mtodo Cierra un objeto abierto y cualesquiera otros objetos dependientes. Sintaxis object.Close Ejemplo: Parts.Close
RADSOL 3D
50
Captulo 7: Dibujante
Introduccin al Dibujante 3D
Surge como primera necesidad el tener que definir el equipo en un espacio dado, sin lugar a dudas, tener una aplicacin capaz de definir un equipo en forma grfica otorga innumerables ventajas sobre aquellos que no son capaces de tal cosa. Paralelamente esta virtud de la aplicacin requiere de poderosas herramientas para manipular objetos tridimensionales y de eficientes controles que permitan tener un amplio dominio sobre la definicin del equipo. Presentamos de esta manera a nuestra primera aplicacin del paquete RADSOL 3D: Dibujante. Esta aplicacin incorpora rutinas de dibujo en tres dimensiones con el fin de trazar esquemas del equipo para luego poder inspeccionar visualmente los datos y corregirlos eventualmente.
Para iniciar el dibujante hacemos doble clic en el icono Y se visualizar la ventana de presentacin.
El dibujante sirve nicamente para definir figuras en 3D, est orientado especficamente a la representacin grfica de equipos solares, ejemplo: cocina solar, colectores. A lo largo de este captulo detallaremos las diferentes funcionalidades del graficador. La aplicacin detecta si el modelo abierto ya contiene atributos, previamente otorgados por el Estimador, si ese fuere el caso presenta un mensaje
RADSOL 3D
51
Dibujante tambin controla que no exista una instancia previa corriendo de s mismo, si detectara que ya est corriendo en la computadora, cerrar en forma automtica la nueva instancia de Dibujante que se pretende iniciar.
Si se modifica el modelo y se lo guarda los atributos del mismo sern removidos. Para evitar esto hay que guardar el modelo con otro nombre utilizando la opcin Guardar como... del men Archivo. Si todos los controles previos fueron exitosos, aparecer la ventana principal de la aplicacin para comenzar a trabajar. Normalmente los mensajes de errores previos a la inicializacin del programa no aparecen.
de Men
Barra de Estado
Escena
La Barra de Men contiene todas las funcionalidades del Dibujante, est dividida en 6 partes:
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
52
Archivo: Rene todas las actividades relacionadas con el manejo de Archivos. En nuestro caso esos archivos son de extensin .SAT Edicin: Contiene las funciones necesarias para trabajar con los elementos de la escena. Aparecen funciones tpicas como Copiar y Pegar. Vistas: Opcin de control de vistas y cmaras. Geometra: Contiene las llamadas a las ventanas de creacin de objetos (bloque, caja, lnea, etc) Herramientas: Posee todas las funcionalidades para manipular las entidades en la escena, as, en este men emergen opciones importantes para el manejo de los cuerpos como las operaciones booleanas y de transformacin de cuerpos. Ayuda: Opcin de acceso a los distintos tipos de ayuda de la aplicacin Barra de Herramientas: Las barras de herramientas renen a las opciones mas usadas, tpicamente aparecen en stas barras los conos de Abrir, Guardar, etc. Adems los controles de las distintas cmaras y vistas mas usadas. Podemos apreciar tambin los comandos de seleccin de entidades (Cuerpos, Caras, Bordes, etc.) En la barra vertical vemos los controles de Zoom y los accesos rpidos a las ventanas de transformacin, color y textura y el botn de cambio de modo de la vista (Cuerpo, Esqueleto) La escena es el rea de trabajo, es la zona negra en el medio de la ventana, contiene un eje y un piso que son elementos necesarios para la ubicacin en el espacio de los distintos cuerpos.
Creacin de cuerpos
Una de las ventanas mas importantes, sino la mas importante, es la de Creacin de Cuerpos. Permite construir las formas bsicas sobre las cuales se crearn estructuras mas complicadas.
Para la creacin de dichos cuerpos se deben ingresar las dimensiones que correspondan, todas expresadas en metros. La mnima unidad que permitida es 1 cm (0,01 mts) A continuacin vemos las distintas ventanas de creacin de cuerpos con el resultado obtenido.
RADSOL 3D
53
RADSOL 3D
54
Modo de vista
El modo de visualizacin de las entidades sobre la escena puede ser de dos formas: Esqueleto (Alambre): Vemos solo la estructura sea de las entidades, esto permite ver el interior. Es la opcin adecuada durante la creacin y modelado de los cuerpos pues es de procesamiento rpido y permite ver con buen grado de detalle a las entidades. Slido: Vemos a las entidades como son, con sus colores reales y su forma slida, no se puede apreciar en este modo los objetos interiores a un cuerpo. No es recomendable mantener esta vista durante la creacin del modelo ya que el modo slido es de procesamiento lento.
RADSOL 3D
55
Ventana de Transformacin:
Subventana de Traslacin
Subventana de Rotacin
Subventana de Escala
La ventana de Transformacin de Entidades permite hacer traslaciones, rotaciones y escalar los objetos. Para realizar estas acciones a mas de un objeto a la vez, seleccinelos manteniendo presionada la tecla Shift. Para habilitar las distintas acciones de sta ventana, debe hacer clic en la caja de chequeo correspondiente. Para realizar las acciones se debe presionar la tecla Aplicar las veces que sea necesario.
56
Rotacin
Esta herramienta se torna muy til ya que una de las operaciones mas frecuentes con las entidades es rotarlas. La subventana proporciona un manejo sencillo para lograr una rotacin de entidades. Esta herramienta permite rotar los cuerpos alrededor de un punto, un eje de coordenadas, un borde.
Escala
La subventana Escala permite cambiar el tamao de una entidad. Si el valor de escala es mayor que 1, el objeto crecer, si por el contrario el valor es menor que 1, el objeto se har mas pequeo.
Color y textura
Podemos tambin cambiar el color y la textura de los cuerpos, esta propiedad es meramente esttica ya que no influye en los procesos futuros a los que se someter a los cuerpos creados con el Dibujante. En cuanto a las texturas, solamente acepta archivos de textura (.bmp) que son los archivos de mapa de bits de windows.
Operaciones Booleanas
Las operaciones booleanas son herramientas fundamentales para el Dibujante pues permiten crear figuras complejas a partir de figuras primitivas provistas por la ventana de Creacin de cuerpos. Es importante recalcar que las operaciones booleanas se llevan a cabo solamente entre cuerpos. Las operaciones booleanas son: Unin de Cuerpos; Interseccin de Cuerpos; Sustraccin de Cuerpos; Seccionar Cuerpos.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
57
Cuando se realiza la opresin booleana las propiedades del primer cuerpo seleccionado prevalecen sobre las del segundo y son las propiedades que toma el resultado. Por ejemplo si queremos unir un cuerpo celeste con otro amarillo y seleccionamos primero el celeste, la unin ser color celeste. La opcin Seccionar Cuerpos no es una operacin booleana simple, es en realidad una combinacin de intersecciones y sustracciones que deja como resultado tres cuerpos distintos en la escena.
Adentro: Disminuye el factor de vista en 1,5 Afuera: Aumenta el factor de vista en 1,5 Todo: Permite la visualizacin de todas las entidades presentes en la escena. Ventana: Permite definir un recuadro realizado con el mouse para aumentar el tamao de esa zona,
Cmara giratoria:
Es una cmara que gira alrededor de las entidades teniendo como referencia el centro de coordenadas. Es til para apreciar globalmente la forma tridimensional en todo su entorno.
Herramientas de seleccin
Se hace necesario el tener la posibilidad de seleccionar los distintos cuerpos presentes en la escena, para ello el Dibujante dispone de las herramientas de seleccin.
RADSOL 3D
58
Por defecto las herramientas de seleccin son sobre cuerpos, pero de ser necesario se puede indicar que la seleccin sea sobre caras, bordes o vrtices. Son tiles para combinar con la herramienta Transformar ya que la misma posee operaciones de rotacin y traslacin con respecto a un punto o a un borde.
Barra de Estado
Informa constantemente de la herramienta que est activada actualmente, as como tambin de los procesos actuales.
RADSOL 3D
59
Captulo 8: Estimador
Introduccin al Estimador 3D
Una vez definido el equipo con la aplicacin Dibujante, el mismo es iluminado por radiacin solar a lo largo de un da. Utilizaremos el ESTIMADOR, para medir la cantidad de radiacin que es absorbida por cada cara del equipo a lo largo del da. Presentamos a continuacin la segunda aplicacin del paquete RADSOL 3D:Estimador. Esta aplicacin incorpora rutinas de clculo con el fin de medir la radiacin del equipo absorbida en forma diaria. Para iniciar el dibujante hacemos doble clic en el icono Se visualizar la ventana de presentacin.
La aplicacin necesita para funcionar la existencia de la base de datos BDPuntos.mdb que se encuentra normalmente en C:\Archivos de Programas\RADSOL3D\BD Si la base de datos no se encuentra en el directorio \BD, Estimador mostrar un mensaje de error y se cerrar automticamente.
Estimador tambin controla que no exista una instancia previa corriendo de s mismo, si detectara que ya est corriendo en la computadora, cerrar en forma automtica la nueva instancia de Estimador que se pretende iniciar.
RADSOL 3D
60
Si todos los controles previos fueron exitosos, aparecer la ventana principal de la aplicacin para comenzar a trabajar. Normalmente los mensajes de errores previos a la inicializacin del programa no aparecen.
La Barra de Men contiene todas las funcionalidades del Estimador, est dividida en 6 partes: Archivo: Permite la apertura de archivos .SAT, estos archivos ya fueron creados por el Dibujante. Edicin: Contiene las funciones necesarias para trabajar con los elementos de la escena. Aparecen funciones como VerEje y Seleccionar. Vistas: Opcin de control de vistas y cmaras. Herramientas: Estas herramientas permiten consultar la cantidad de cuerpos en la escena, tratamiento de la BD y consulta acerca de simulaciones guardadas. Ejecutar: Es la opcin mas importante del Estimador, ya que aqu se encuentran los diferentes pasos para llegar a la estimacin de la absorcin del modelo. Ayuda: Opcin de acceso a los distintos tipos de ayuda de la aplicacin Barra de Herramientas: Las barras de herramientas renen a las opciones mas usadas, tpicamente aparecen en sta barra los conos de Abrir, manejo de cmaras y de vistas. Tambin est el control de modo de visualizacin y el de cmara giratoria. La escena es el rea de trabajo, es la zona negra en el medio de la ventana, contiene un eje, el cual puede ser visible o no, y un piso. Los datos del modelo actual brindan informacin del modelo que se est trabajando:
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
61
Nombre del modelo; Ubicacin del archivo .SAT; Condicin del Cubrimiento en la BD: Si el modelo fue cubierto, esta etiqueta aparecer con el mensaje Guardado en caso contrario aparecer No Guardado Condicin del Factor de Forma: Si al modelo se le realiz el proceso para encontrar los Factores de Forma, el mensaje ser Guardado en caso contrario ser No Guardado.
En los casos del Cubrimiento y del Factor de Forma, los datos que estos procesos recogen se guardan en la BD, desde donde la aplicacin lee para informar si fueron realizados con anterioridad o no. Estos procesos sern explicados en la seccin correspondiente a la opcin Ejecutar de la barra de men.
Adentro: Disminuye el factor de vista en 1,5 Afuera: Aumenta el factor de vista en 1,5 Todo: Permite la visualizacin de todas las entidades presentes en la escena. Ventana: Permite definir un recuadro realizado con el mouse para aumentar el tamao de esa zona,
Cmara giratoria:
Es una cmara que gira alrededor de las entidades teniendo como referencia el centro de coordenadas. Es til para apreciar globalmente la forma tridimensional en todo su entorno.
RADSOL 3D
62
Herramientas
Esta opcin ofrece distintos elementos para manipulacin de la BD, recuperar tablas de resultados de absorcin y conteo de entidades en la escena.
Manipulacin de la BD
Tiene diversas opciones: Compactar Base de Datos: Con el uso, la BD aumenta su tamao, en ocasiones este crecimiento es exagerado con respecto a la cantidad de datos que posee, podramos decir que la BD se ensucia. La opcin Compactar Base de Datos la limpia quedando as de un tamao razonable. Es saludable realizar esta operacin frecuentemente.
Eliminar Cubrimiento: Si uno quisiera realizar un cubrimiento mas abarcativo (mayor cantidad de puntos) que el actualmente est almacenado, primero debe eliminar el cubrimiento viejo, esto se logra a travs de esta opcin.
Eliminar Factor de Forma: Esta opcin es importante pues como el proceso de Factores de Forma es numrico se puede mejorar . Para obtener los nuevos factores de forma primero se deben eliminar los viejos, almacenados en la BD. Logramos esto haciendo clic en esta opcin.
RADSOL 3D
63
Reiniciar Base de Datos: Borra la informacin de la BD de todos los archivos asociados (.SAT). Elimina los puntos del cubrimiento, los valores de los factores de forma y los identificadores recuperados. Tambin realiza una compactacin de la BD.
Men Ejecutar
Es la opcin mas importante del Estimador , tiene tres opciones Realizar Cubrimiento y Factor de Forma:
El cubrimiento es almacenar cierta cantidad de puntos en la BD que identifican al modelo, esta cantidad de puntos puede especificarse en la caja de texto Cant Puntos. Si ponemos un 10, quiere decir que tomaremos 10 puntos por cada cara del modelo. Si queremos visualizar estos puntos en pantalla, hacemos clic en la opcin Visualizar cubrimiento El cubrimiento de los cuerpos se realiza mediante un mtodo pensado para polgonos cerrados y planos. El cubrimiento se realiza secuencialmente cara por cara y puede verse en pantalla mientras se est ejecutando.
RADSOL 3D
64
Descripcin del proceso de Cubrimiento El cubrimiento de cuerpos es tomar cierta cantidad de puntos que pertenecen al cuerpo y guardarlos en una BD. Estos puntos son los que identifican al modelo. En realidad el cubrimiento se realiza cara por cara por lo que sera mas correcto hablar de cubrimiento de caras. El algoritmo utiliza una tcnica para polgonos cerrados y planos. Consiste en barrer la cara completamente y tomar los puntos necesarios del interior de la cara. Para lograr el barrido establecemos dos Lneas Guas en dos lados laterales de la cara, ponemos sobre esas guas una Lnea Carril o lnea de barrido la cual se desplazar por sobre las guas desde un extremo al otro de ellas. Tomamos de la Lnea Carril puntos que estn a una distancia equidistante unos de otros y preguntamos si ese punto est en el interior del polgono o no. Si el punto est en el interior se almacena en una matriz para su posterior seleccin para ser almacenado en la BD y se contina con el siguiente punto equidistante. Mostramos el algoritmo en pseudocdigo: Procedimiento Cubrir(Cuerpo) Para cada cara del cuerpo hacer PUNTO = TomarPunto (cara) {este punto debe estar si o si en el interior} (guia1, guia2 ) = GenerarGuas (cara) {a los lados laterales} Para cada punto de las guas separado por cierta distancia hacer (LC) = GenerarLneaCarril (guia1, guia2) {desde un punto de la primera gua a un punto de la segunda gua} Para cada punto de LC hacer Si puntoEsta(punto, cara, PUNTO) entonces {si punto esta en la cara...} GuardarPunto (punto) Fin Si Prximo punto Prxima LneaCarril Prxima cara Fin Procedimiento Este proceso puede apreciarse grficamente: El cuerpo es un cilindro slido de 6 lados de color rojo, la cara a cubrir es la superior, as Guas son las lneas amarillas a los extremos de la cara, la LneaCarril es la lnea rosada que se ve apoyada sobre la cara y los puntos blancos son los que estn en el interior de la cara. El proceso ha continua hasta que se cubre la totalidad de las caras del cuerpo. Este procedimiento cubre cualquier polgono cerrado, no esta desarrollado para polgonos abiertos.
RADSOL 3D
65
Una vez que el cubrimiento ha finalizado puede verse el conjunto de puntos almacenados en la BD con la opcin visualizar cubrimiento Descripcin del proceso del Factor de Forma El factor de forma entre una cara y otra podramos decir que es cuanto ve una cara de la otra. Ya mencionamos anteriormente que calcular estos valores no es tarea sencilla, pero que existen mtodos para encontrarlos, uno de esos mtodos es el de MonteCarlo que se implementa en la aplicacin. El mtodo consiste en generar de forma aleatoria rayos desde una cara hacia la otra, contar la cantidad de rayos que llegan a la otra cara y dividir por el total de rayos generados. El valor resultante (que est siempre entre 0 y 1) es el factor de forma entre esas caras. Como este valor depende exclusivamente de la geometra de las caras, se calcula una sola vez. En nuestro caso, generar rayos (que en realidad son vectores con direccin aleatoria) desde una cara significa generar rayos en direcciones aleatorias desde cada uno de los puntos que pertenecen a esa cara y que fueron determinados por el cubrimiento. La cantidad de vectores es por cada punto del cubrimiento es decir, si pusiramos 10 vectores y en el cubrimiento almacenamos 15 puntos por cara, tendramos una cantidad total de vectores por cara de 10 * 15 = 150. La experiencia adquirida muestra que si estos nmeros son pequeos, del orden de los valores mencionados en la oracin anterior, aparece algn error en los factores, este error puede disminuirse a medida que aumentamos el nmero de vectores y en menor medida el nmero de puntos en el cubrimiento. A medida que estos nmeros se elevan, la precisin del clculo mejora y nuestra experiencia indica que en trminos generales el uso de 500 rayos por cara da valores con error razonable. Este clculo insume algunos minutos de mquina, para computadoras con velocidades en el orden de 1000 Megahertz. El tiempo de mquina ocupado por este proceso se justifica ampliamente pues esos minutos de espera conllevan a una precisin aceptable del factor. El clculo se realiza una sola vez para cada modelo, ya que los factores de forma dependen exclusivamente de la geometra del mismo, como ya mencionamos El proceso es invisible para el usuario que solo debe soportar los minutos de espera pero si pudiramos verlo quedara en pantalla de la siguiente manera: Modelo: EquipoParedes.SAT Cubrimiento: Cant. de puntos por cara: 10 Factor de Forma: Cant. de vectores: 3, total 10 * 3 = 30 vectores por cara.
RADSOL 3D
66
De cada cara del cuerpo salen lneas verdes en direcciones aleatorias, que impactan contra las otras caras del modelo o se pierden en el vaco, que no las dibujamos, contamos la cantidad de vectores que partieron de una cara e impactaron en alguna otra y dividimos por la cantidad total de vectores lanzados desde esa cara, obtenemos as los factores de forma para todas las caras. Aplicar superficie Una vez hecho el cubrimiento podemos especificar los tipos de superficie que queremos tener en las distintas caras. Los tipos en esta versin son dos: Opaca y Vidrio. El cubrimiento establece por defecto a todas las caras con el tipo Opaca y el coeficiente de reflexin () en 0,2; el coeficiente de absorcin () en 0,8 y el coeficiente de transmisin () en 0.
La ventana de Aplicar Superficie permite cambiar todos los parmetros de las caras.
RADSOL 3D
67
Datos de la superficie
Esta ventana realiza el desplazamiento fcil y rpido por los cuerpos o caras de la escena. Adems, permite cambiar el tipo de superficie de las caras y cuerpos y calcula los coeficientes correspondientes segn el tipo de superficie que se seleccione. En cuanto a las cubiertas (superficies transparentes, generalmente vidrios) se puede elegir entre cubiertas de una, dos o mas capas. Para el caso de una o dos se puede optar, segn el caso, si son con absorcin o sin absorcin, establecemos por defecto el espesor y coeficiente de extincin mas comunes. Para el caso de cubiertas de mas de dos capas se consideran sin absorcin. En todos los casos se calculan los coeficientes , y al presionar aplicar cambios, solo se muestra en pantalla el coeficiente por ser el de mayor importancia en esta etapa. El botn aplicar cambios realiza los cambios por cara, o sea, debemos presionarlo por cada cara en la que modifiquemos sus datos. Ejecutar simulacin
RADSOL 3D
68
Sin duda el proceso mas importante de toda la aplicacin y de nuestro trabajo ha sido ste. El fin de toda nuestra aplicacin es llegar a esta instancia, decir cuanto absorbe cada cara del modelo, mostrarlo en una tabla y guardar esos datos en un soporte magntico (en este caso un archivo .txt)
Ejecutar simulacin
Para ejecutar el clculo de radiacin sobre un modelo se necesitan una serie de datos iniciales: N de da del ao: Este dato tiene un rango entre 1 y 365 Radiacin global (sobre superficie horizontal): Es la informacin de cuanto llega a la superficie horizontal (piso) de radiacin diaria, es un clculo obtenido a partir de mediciones experimentales, normalmente para nuestra latitud oscila entre 19 Mj/dia y 28 Mj/dia (Mega Joules por dia) Latitud: Ubicacin respecto del Ecuador del equipo, como dato interesante podemos decir que Salta tiene latitud 24,7 Latitud Sur (-24,7). Este valor vara entre 90 y 90 Albedo: Coeficiente de reflexin del piso. Se mueve entre 0,1 y 1. Distancia entre rayos: cual es la distancia que queremos que haya entre rayo y rayo.
RADSOL 3D
69
El clculo de radiacin tiene un tiempo de proceso considerable, esta directamente relacionado con la distancia entre rayos que elijamos, a menor distancia, mayor tiempo de procesamiento y mayor precisin de clculo. El clculo de la radiacin incidente en un equipo solar no es cosa trivial se requieren muchos pasos previos para lograrlo, de ah que primero debemos dibujar el equipo, cubrirlo y almacenar sus puntos en una base de datos, encontrar los factores de forma entre sus distintas caras, establecer los tipos de caras (vidrio u opaca) y calcular los coeficientes de absorcin, reflexin y transmisin. Por ltimo, para poder realizar el clculo, debemos establecer una serie de datos de entrada y como si todo eso fuera poco, debemos esperar unos minutos (a veces largos minutos) para obtener los resultados. Estos resultados se aprecian en dos tablas, la primera es la cantidad de radiacin absorbida por cada cara por hora, aparecen solo las horas en las cuales hay luz, y en una segunda tabla donde estn los datos del balance, el balance sirve nos muestra si los clculos se hicieron correctamente. Mostramos a continuacin, en pseudocdigo, el algoritmo que realiza tal tarea:
Procedimiento Simular TomarDatosEntrada declin = Declinacion(ndia) {calcular declinacin del sol} X = Tan(Lati * cte) * Tan(declin) Si Abs(X) < =1 entonces {ingresamos una latitud vlida} X = -Tan(Lati * cte) * Tan(declin) duraDia = 2 * ArcCos(X) / cte {calculo la duracin del da, en grados} AngHorMin = -duraDia / 2 AngHorMax = duraDia / 2 {establezco el ngulo horario mnimo y mximo} Hacer hora: 0 hasta 23 Anghor = (12 - hora) * 15 {obtengo el ngulo horario de la hora actual} Si AngHorMin < AngHor < AngHorMax entonces angulos = AngCenitAzimut(declin, Anghor, Lati) UbicarSol (angulos.cenit, angulos, zenit) GenerarRayos(NormalSol) InterseccionRayos(NormalSol, caras) Fin si Prxima hora MLiuJordan = obtLiuJordan (ndia, RadGlobal, Lati, Albedo) CalcDistEnergia (caras, Rayos, MLiuJordan) Sino Mostrar Error, latitud invlida Terminar proceso Fin Procedimiento
Ver absorcin del modelo actual Una vez terminado el proceso de absorcin tenemos la posibilidad de ver la tabla con los datos. La ventana est dividida en dos tablas:
RADSOL 3D
70
La primera tabla contiene las absorciones de las distintas caras por hora, todas las medidas son en Vatios. La segunda tabla contiene diversos datos para controlar que los clculos fueron correctos. La primera columna es cuanto llega al modelo segn Liu Jordan, la segunda columna es cuanto absorbe el modelo, la tercera cuanto refleja el modelo, la cuarta cuanto escapa del modelo (es distinto de cero solo en los caso de cajas que no tienen una cubierta), la quinta cuanto absorben las caras internas opacas, la sexta cuanto llega a las ventanas, la sptima cuanto absorben las ventanas, la octava cuanto reflejan las ventanas y la novena (que no se ve) es cuanto llega a las ventanas, segn Liu Jordan, normal al haz por metro cuadrado. El botn Guardar datos permite almacenar la primera tabla en un archivo de texto (.txt) El formato del archivo .txt es el siguiente: El separador de valores es el punto y coma (;) El marcador de fin de fila es el numeral (#) Primera fila NombreModelo;N da;Latitud;RadGlobal;Dist entre rayos;Albedo# De la segunda en adelante Hora1;AbsorcionCara1; AbsorcionCara2; ... ; AbsorcionCaraN# Hora2;AbsorcionCara1; AbsorcionCara2; ... ; AbsorcionCaraN# .............. HoraP;AbsorcionCara1; AbsorcionCara2; ... ; AbsorcionCaraN#
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
71
Tomamos como ejemplo el archivo bloque - Libre3.txt correspondiente al modelo bloque Libre3.SAT bloque - Libre3.sat;44;-27.5;20;0,2;0.1# 7:00;0,00;0,00;0,00;0,00;0,00;3,40# 8:00;8,42;0,00;0,00;0,00;0,00;6,80# 9:00;0,00;0,00;0,00;0,00;10,80;9,92# 10:00;0,00;0,00;0,00;0,00;15,07;12,53# 11:00;0,00;0,00;0,00;0,00;18,42;14,40# 12:00;23,29;0,00;0,00;0,00;20,27;0,00# 13:00;0,00;0,00;0,00;18,06;20,27;0,00# 14:00;21,38;0,00;0,00;21,87;18,42;0,00# 15:00;17,87;0,00;0,00;23,14;15,07;0,00# 16:00;13,32;0,00;0,00;21,40;10,80;0,00# 17:00;8,42;0,00;0,00;16,80;6,80;0,00#
Barra de Estado
Informa constantemente de la herramienta que est activada actualmente, as como tambin de los procesos actuales. Cada ventana tiene una barra de estado, informa constantemente que se est haciendo y muestra los mensajes de error. Si bien no pertenecen a las barras de estado, las animaciones son indicadores de que se est haciendo algo:
Indica que se est realizando el proceso de cubrimiento y/o de factor de forma. Mientras los engranajes estn girando el soft est trabajando.
Indica que el Estimador est realizando el clculo de radiacin, mientras el sol tire la pelotita, el Estimador est realizando todos los clculos necesarios para devolver la tabla de absorcin de las caras por hora, durante todo el da.
RADSOL 3D
72
BIBLIOGRAFA
Duffie, J. A. y Beckman, W. A., (1991). Solar Engineering of Thermal Processes, 2nd ed., John Wiley and Sons Saravia, L., Alia, D., (2001). SIMUTERM, un simulador de sistemas solares trmicos, Avances en Energas Renovables y medio ambiente, 5, No. 1, pp. 08.07-08.12 Captulo 10, Radiation Apuntes de lgebra lineal y geometra analtica, 1.996 Apuntes de clculo numrico, 1.998 Armando O. Rojo, lgebra II, 10 Edicin, El Ateneo, 1.987 Archivo de Ayuda de Access 2000. Archivo de Ayuda de 3D Building Blox. Archivo de Ayuda de Visual Basic 6.0 Edicin Empresarial. Archivo de Ayuda de Microsoft ActiveX Data Objects (ADO) Tutoriales de Visual Basic.
Direcciones de Internet:
http://personales.mundivia.es/diegom/CAMBIO/GEOMETR%C3%8DA%20ANAL%C3%8 DTICA%20EN%20EL%20ESPACIO.htm http://www.xtec.es/~fgonzal2/angulos.htm http://www.mat.ufmg.br/~regi/gaaltt/s10node2.html http://www.mat.ufmg.br/~regi/gaaltt/s10node8.html http://www.mat.ufmg.br/~regi/gaaltt/s10node5.html http://ftp.medprev.uma.es/libro/node88.htm Foro de consulta de Visual Basic de www.lawebdelprogramador.com
RADSOL 3D
73
ndice
Agradecimientos ......................................................................................................................... 2 Prlogo ....................................................................................................................................... 3 Captulo 1: Introduccin ............................................................................................................. 4 Por qu usar este soft? .......................................................................................................... 4 Objetivos................................................................................................................................. 4 Limitaciones y Consideraciones futuras ................................................................................. 4 Herramientas utilizadas. ......................................................................................................... 5 Captulo 2: Radiacin solar ........................................................................................................ 6 Introduccin ............................................................................................................................ 6 Coordenadas Horizontales (Acimut y Altitud) ................................................................... 6 Coordenadas Ecuatoriales (Ascensin recta y Declinacin) .............................................. 6 Acerca de la Radiacin solar .................................................................................................. 7 Direccin de la radiacin directa ............................................................................................ 7 Proporcin de radiacin directa en una superficie inclinada y en una superficie horizontal . 9 Radiacin solar disponible...................................................................................................... 9 Definiciones ............................................................................................................................ 9 Atenuacin atmosfrica de radiacin solar ........................................................................... 10 Los factores de forma. .......................................................................................................... 10 Resolucin del intercambio difuso ................................................................................... 13 Sistema de ecuaciones ...................................................................................................... 14 Cubiertas ............................................................................................................................... 15 Captulo 3: Fundamentos Matemticos .................................................................................... 16 Geometra Analtica en el Espacio ....................................................................................... 16 Vectores en R3 .................................................................................................................. 16 Ecuaciones de la Recta en el espacio................................................................................ 16 Ecuaciones del Plano en el espacio. ................................................................................. 16 Posicin relativa de plano y recta. ........................................................................................ 17 Posicin relativa entre planos ........................................................................................... 17 Posicin relativa entre Rectas (en el plano)...................................................................... 18 ngulos entre vectores ..................................................................................................... 19 ngulos entre planos ........................................................................................................ 19 Mtodo de Montecarlo.......................................................................................................... 20 Mtodo de Gauss Seidel .................................................................................................... 21 Ejemplo............................................................................................................................. 24 Cubrimientos de Polgonos cerrados. ................................................................................... 25 Interseccin con un plano (polgono) ............................................................................... 25 Clculo de coordenadas esfricas ......................................................................................... 25 Transformacin de cartesianas a esfricas........................................................................ 26 Captulo 4: Access 2000 ........................................................................................................... 30 Datos de la Base de Datos .................................................................................................... 30 Crear Tablas ...................................................................................................................... 30 Relaciones ......................................................................................................................... 31 Tipos de datos ................................................................................................................... 32 Estructuracin de tablas. ................................................................................................... 34 Diagrama Entidad Relacin (DER) ............................................................................... 36 Captulo 5: 3D Building Blox................................................................................................... 37
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D
74
Conceptos previos. ............................................................................................................... 37 Caractersticas de 3D Building Blox ................................................................................ 37 Libreras. ........................................................................................................................... 37 Geometra ......................................................................................................................... 37 Topologa .......................................................................................................................... 38 Entidades .......................................................................................................................... 38 Un ejemplo. ...................................................................................................................... 40 Esfera con puntas .............................................................................................................. 40 Captulo 6: Visual Basic 6.0 Edicin Empresarial. .................................................................. 42 Introduccin .......................................................................................................................... 42 Funcionamiento de Windows: ventanas, eventos y mensajes .............................................. 42 Descripcin del modelo controlado por eventos .................................................................. 42 Descripcin de las propiedades, mtodos y eventos............................................................. 43 Controles............................................................................................................................... 44 ADO ..................................................................................................................................... 48 Captulo 7: Dibujante ............................................................................................................... 51 Introduccin al Dibujante 3D ............................................................................................... 51 Creacin de cuerpos.......................................................................................................... 53 Modo de vista ................................................................................................................... 55 Ventana de Transformacin: ............................................................................................ 56 Traslacin Por Vector ................................................................................................... 56 Traslacin A nueva posicin ......................................................................................... 56 Rotacin ............................................................................................................................ 57 Escala ................................................................................................................................ 57 Color y textura .................................................................................................................. 57 Operaciones Booleanas..................................................................................................... 57 Vistas, cmaras y Zoom.................................................................................................... 58 Cmara giratoria: .............................................................................................................. 58 Herramientas de seleccin ................................................................................................ 58 Barra de Estado ................................................................................................................. 59 Captulo 8: Estimador ............................................................................................................... 60 Introduccin al Estimador 3D .............................................................................................. 60 Vistas, cmaras y Zoom.................................................................................................... 62 Cmara giratoria: .............................................................................................................. 62 Herramientas ..................................................................................................................... 63 Manipulacin de la BD ..................................................................................................... 63 Men Ejecutar................................................................................................................... 64 Barra de Estado ................................................................................................................. 72 BIBLIOGRAFA ...................................................................................................................... 73 Direcciones de Internet: ........................................................................................................ 73 ndice ........................................................................................................................................ 74
RADSOL 3D
75