Está en la página 1de 76

CLCULO DE LA RADIACIN QUE INCIDE SOBRE LOS COMPONENTES DE UN EQUIPO SOLAR

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Limitaciones y Consideraciones futuras


La aplicacin no proporciona demasiados detalles acerca del equipo que se est construyendo, se espera que en un futuro los incorpore. La aplicacin solo proporciona una nica ventana de trabajo visual, creemos que sta sola no es suficiente para reflejar totalmente la realidad de lo que se pretende crear, en un futuro se podran incorporar ventanas mltiples con distintas funcionalidades a tal efecto. La aplicacin solo realiza cubrimientos de cuerpos con caras poligonales cerradas y planas, en un futuro se podra plantear la necesidad de cubrir cuerpos con caras no planas (esferas, conos, cilindros, etc.)

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

Captulo 2: Radiacin solar

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

Coordenadas Horizontales (Acimut y Altitud)


Este es un sistema de coordenadas relativo, es decir, que depende de la localizacin del observador y por lo tanto no es fijo: cambia momento a momento con la rotacin de la tierra o con el desplazamiento del observador. Es til para ubicar o indicar rpidamente la posicin de un objeto en un momento determinado - como es el caso de una observacin -. La altitud esta dada por el ngulo entre el horizonte y el objeto observado, el acimut es el arco comprendido entre el punto cardinal sur y el punto de interseccin en el horizonte desde donde se midi la altitud del objeto que es perpendicular a este. El Zenit se localiza en el punto mas alto con respecto al observado y el Nadir es el punto mas bajo.

Coordenadas Ecuatoriales (Ascensin recta y Declinacin)


Este es el mas utilizado por astrnomos profesionales y aficionados, debido a que las coordenadas de un objeto siempre sern las mismas y no varia ni con el tiempo ni con la localizacin del observador. Este sistema se basa en las lneas de divisin del sistema de coordenadas terrestres: la Latitud y la Longitud. Latitud. Son lneas imaginarias (paralelos) que rodean la circunferencia de la tierra en el plano horizontal. La lnea de partida es el Ecuador (latitud 0) que divide la tierra en los hemisferios boreal y austral y desde este punto se dibujan paralelos a este cada 15 siendo su numeracin convencionalmente positiva hacia el polo norte (latitud
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

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.

Acerca de la Radiacin solar


Para tratar la naturaleza de la radiacin emitida por el sol e incidente en la atmsfera de la tierra, es necesario tener en cuenta consideraciones geomtricas, por ejemplo, la direccin desde la cual se recibe los rayos de la radiacin solar y su ngulo de incidencia en varias superficies. Previamente revisaremos algunas definiciones: Radiacin directa: Radiacin solar recibida desde el sol sin ser esparcida por la atmsfera. Radiacin difusa: Radiacin solar recibida desde el sol despus que fue esparcida por la atmsfera. Radiacin solar total: El total de la directa y la difusa sobre la superficie. (Es mas comn medir la radiacin solar como la radiacin total en una superficie horizontal, tambin referida como radiacin global en la superficie)

Direccin de la radiacin directa


La relacin geomtrica entre un plano de una orientacin particular relativa a la tierra en algn tiempo y el ingreso de la radiacin solar directa, esto es, la posicin del sol en relacin al plano, puede ser descrito en trminos de diferentes ngulos. Estos son: Latitud, posicin angular hacia el norte o hacia el sur del Ecuador, es positivo en el hemisferio norte (0<<90) y negativo en el hemisferio sur (-90<=<=90). Declinacin, posicin angular del sol en el medioda con respecto al plano del Ecuador. Positivo en el hemisferio norte y vara entre -23.45 y +23.45. Pendiente (inclinacin de la superficie), ngulo entre el plano de la superficie en cuestin y el horizontal (0<=<=180). Angulo Acimut (trayectoria), desviacin de la proyeccin sobre el plano horizontal de la normal de la superficie desde el meridiano local, cero al sur, negativo al este y positivo al oeste. (-180<= <=180). Angulo horario, desplazamiento angular del sol de este a oeste del meridiano local, debido a que la rotacin de la tierra es sobre un eje de 15 por hora, de maana negativo, tarde positivo y cero al medioda.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

ngulos adicionales que describen la posicin del sol en el cielo son: z s s

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

= 15 * (12 h) La declinacin se calcula como:

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

Proporcin de radiacin directa en una superficie inclinada y en una superficie horizontal


Para propsitos de diseos de procesos solares y clculos de rendimientos es necesario, a veces, calcular la radiacin horaria en una superficie inclinada de un colector desde mediciones o estimaciones de radiacin solar en una superficie horizontal. Lo ms comn es disponer de datos de radiacin total por horas o das sobre una superficie horizontal, por cuanto se necesita para radiaciones directas y difusas sobre el plano de un colector.

Radiacin solar disponible


Generalmente no es prctico basar predicciones o clculos de radiacin solar en la atenuacin de la radiacin extraterrestre por la atmsfera, como la informacin meteorolgica adecuada raramente est disponible. En cambio, para predecir la actuacin de un proceso solar en el futuro, usamos medidas pasadas de radiacin solar a la situacin en cuestin o de una situacin similar cercana. Se usan datos de la radiacin solar en varias formas y para una variedad de propsitos. La mayor informacin detallada disponible es sobre la radiacin solar directa y la difusa en una superficie horizontal, por horas, la cual es til en simulaciones de procesos solares. (Pocas medidas estn disponibles en superficies inclinadas y para intervalos de tiempo ms cortos.)

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.

Radiacin solar directa

Radiacin solar difusa

Radiacin solar reflectada

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

Radiacin onda-larga

Radiacin onda-larga reflectada

Radiacin onda-larga superficie

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

Atenuacin atmosfrica de radiacin solar


La incidencia normal de la radiacin solar recibida en la superficie de la tierra est sujeta a variaciones debido al cambio en la radiacin extraterrestre, y a dos fenmenos adicionales significantes, (1) el esparcimiento atmosfrico por molculas areas, agua, y polvo y (2) la absorcin atmosfrica por O3, H2O y CO2. El esparcimiento de la radiacin cuando atraviesa la atmsfera es causado por interaccin de ella con molculas areas, agua (vapor y gotas), y polvo. El grado al cual el esparcimiento ocurre es una funcin del nmero de partculas a travs de las cuales la radiacin debe pasar, y del tamao de las partculas relativa a , la longitud de onda de la radiacin. La absorcin de la radiacin en la atmsfera en el espectro de la energa solar es muy grande debido al ozono (rayo ultravioleta) y por vapor de agua y dixido de carbono en bandas infrarrojas.

Los factores de forma.


Un problema de importancia desde el punto de vista de sus mltiples aplicaciones es el de intercambio de energa radiante entre varias superficies que se encuentran en un medio no participante en los procesos radiativos. Las superficies se consideran como medios muy absorbentes de manera que con muy pequeo espesor del cuerpo cercano a la superficie participa en el proceso y la radiacin no lo atraviesa. Estos procesos se complican a medida que el comportamiento de la superficie se hace ms complicado. El caso ms sencillo es aquel en que las superficies son difusas. Cuando la superficie adems refleja parte de la radiacin incidente la situacin se vuelve ms complicada. El concepto ms importante en el intercambio de radiacin entre superficies es el de factor de forma.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

10

Considrense dos superficies negras A1 y A2 , tal como se muestra en la siguiente figura.

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.

Resolucin del intercambio difuso


Una vez que se dispone de toda la teora necesaria, se puede resolver el intercambio difuso de radiacin entre las partes del equipo, concretamente, entre las caras del mismo. La siguiente figura muestra el Intercambio difuso entre dos caras: Cara j Ei Fij*Bj Bj

Hi

Bi Cara i
Intercambio de radiacin difusa. entre las superficies i y j.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

i Ei = Energa reflejada por la cara i de lo que le llega desde el exterior.


Despus de despejar cada ecuacin se forma de la siguiente manera: Bi ( i F1i ) B1 ( i F2i ) B2 ... ( i Fki ) Bk = i Ei para cada cara i Los coeficientes de A los encontramos con la frmula: aij = 1 aij = -(iFji) si i = j si i j

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

15

Captulo 3: Fundamentos Matemticos


Si bien hasta ahora hemos planteado el problema fsico, es lgico pensar que para resolver esos problemas fsicos hay que recurrir a la Matemtica en cualquiera de sus ramas. Presentamos en ste captulo los fundamentos matemticos en que se basan los clculos realizados por el soft.

Geometra Analtica en el Espacio


Vectores en R3
Segmento orientado, tiene direccin, magnitud y sentido.

V = (x, y, z) Ecuaciones de la Recta en el espacio.


Para hallar la ecuacin de una recta es necesario conocer un punto y un vector director de la misma. Una recta, obtenida a partir de un punto (x0 , y0,, z0) y un vector (v1 , v2 , v3), se puede expresar de las siguientes formas: ecuacin vectorial: ( x, y, z) = (x0 , y0,, z0) + t (v1 , v2 , v3) ecuaciones paramtricas: x = x0 + t v1 y = y0 + t v2 z = z0 + t v3

Ecuaciones del Plano en el espacio.


Existen diversas formas de expresar al plano: Sea (x0 , y0,, z0) un pto. en es espacio, (v1 , v2 , v3) y (w1, w2, w3) vectores del espacio. ecuacin vectorial: (x, y, z) = (x0 , y0,, z0) + t (v1 , v2 , v3) + s(w1,w2,w3) x = x0 + t v1 + sw1 ecuaciones paramtricas: y = y0 + t v2 + sw2 z = z0 + t v3 + sw3

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.

Posicin relativa de plano y recta.


Dado el plano : Ax + By + Cz+ D =0 y la recta r: x = a + v1 t y = b + v2 t z = c + v3 t

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.

la recta es paralela al plano.

la recta es secante al 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.

Posicin relativa entre planos


Sean dos planos 1: a1x + b1y + c1z + d1 = 0 y 2: a2x + b2y + c2z + d = 0 cualesquiera. Si sus vectores normales N1 = (a1, b1, c1) y N2 = (a2, b2, c2) no son paralelos, entonces los planos son secantes. Si sus vectores normales son paralelos, o sea, N2 = N1, entonces los planos son paralelos o coincidentes. Ellos son coincidentes si, y solamente si, todo punto que satisface a la ecuacin de 1, satisface tambin a la ecuacin de 2. Supongamos que 1 y 2 son coincidentes, como N2 = N1, entonces:

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Posicin relativa entre Rectas (en el plano)


Sean dos rectas de R2 r1: X = P + tU r2: X = Q + sV Donde: P = (p1, p2); Q = (q1, q2) puntos R2 U = (u1, u2); V = (v1, v2) vectores R2 Hacemos: P + tU = Q + sV tU sV = Q P

v1 q1 p1 u1 v1 q1 p1 u1 u 2 v2 q2 p2 0 u1* v 2 + v1* u 2 u1* ( q 2 p 2) u 2 * (q1 p1)


k = u1* (q 2 p 2) u 2 * (q1 p1) Si v1 * u2 u1 * v2 = 0 y k <> 0; Sistema inconsistente, rectas paralelas. Si v1 * u2 u1 * v2 = 0 y k = 0; Infinitas soluciones, rectas coincidentes. Si v1 * u2 u1 * v2 <> 0; Solucin nica, las rectas se cortan en un punto.
Podemos establecer tambin si el pto de interseccin entre las rectas pertenece a la interseccin de segmentos que pertenecen a esas rectas. R1 S P R2
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

18

Sean las rectas: R1:


x = x0 + s v1 y = y0 + s v2

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.

Tomamos una de las ecuaciones de la recta:


x1 = x1 + s * v1 s a = x 2 = x1 + s * v1 s b = x1 x1 v1 x 2 x1 v1

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.

ngulos entre vectores


ngulo de dos vectores no nulos x e y es el nmero real que satisface: 0 cos = x, y x * y

despejando de la expresin encontramos el ngulo entre vectores.

ngulos entre planos


Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Mtodo de Gauss Seidel


El sistema de ecuaciones para lograr el intercambio de radiacin difuso entre las caras del equipo se logra a travs de un sistema de ecuaciones, resolver el sistema es fundamental en la tarea de proporcionar los datos correctos al usuario. Escogimos un mtodo de resolucin iterativo por su fcil programacin, por ser estable y por converger rpidamente a la solucin, cuando el nmero de incgnitas no crece exageradamente claro. Definimos formalmente al mtodo de Gauss Seidel a continuacin. En general, en todos los procesos iterativos para resolver el sistema Ax=b se recurre a una cierta matriz Q, llamada matriz descomposicin, escogida de tal forma que el problema original adopte la forma equivalente: Qx = (Q-A)x+b (1)

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,

deber ser menor que la convergencia deseada:

La iteracin de Gauss-Seidel se define al tomar Q como la parte triangular inferior de A incluyendo los elementos de la diagonal:

Si, como en el caso anterior, definimos la matriz R=A-Q

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:

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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: =

= de donde despejando xi(k), obtenemos:

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.

Algoritmo para la iteracin de Gauss-Seidel.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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:

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

24

Cubrimientos de Polgonos cerrados.


Una de las tareas mas importantes de la aplicacin consiste en decidir si un punto est o no en una cara, en nuestro caso un polgono cerrado. Esto no es tarea sencilla y toma una parte considerable de tiempo de procesamiento. Un cubrimiento es simplemente definir al cuerpo, en este caso a la cara, de alguna manera para poder trabajar con ella; hemos decidido que esa definicin sea mediante puntos los cuales pertenecen, o deberan hacerlo, a la cara que est siendo estudiada. Presentamos la forma matemtica empleada para decidir si un punto est o no en un plano y para decidir si un punto est o no en un polgono cerrado que pertenece a ese plano.

Interseccin con un plano (polgono)

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.

Clculo de coordenadas esfricas


Se hace necesario el uso de coordenadas esfricas para poder lanzar los rayos en forma aleatoria pedidos por el mtodo de MonteCarlo para el clculo de los Factores de Forma, si bien las coordenadas esfricas no son cosa desconocida, preferimos definirlas en forma breve para evitar suspicacias.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

25

Transformacin de cartesianas a esfricas


Analicemos el punto el punto (x, y, z)

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

luego entonces las transformaciones quedan expresadas como:

x = * sen * cos y = * sen * sen z = * cos

Transformacin de esfricas a cartesianas


Podemos fcilmente ver que como luego entonces las transformaciones quedan expresadas como el radio de la esfera solo es la distancia de el origen al punto entonces:

= x2 + y2 + z 2
de z podemos determinar como:

= arccos

z z = arccos 2 2 2 x +y +z

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

28

Una vez que hemos determinado tanto como , podemos despejar de x o de y

= arcsen

y * sen

= arccos

x * sen

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

29

Captulo 4: Access 2000


Es difcil imaginar a nuestra aplicacin sin un medio para almacenar todos los datos que necesitamos de un equipo, esa tarea se la hemos encomendado a la base de datos Access 2000. Motiva nuestra seleccin la facilidad de acceso a la misma, el hecho de ser una base de datos conocida hizo que podamos encontrar respuesta a nuestras preguntas mas frecuentes acerca de cmo manipularla. Nuestra aplicacin accede en forma exclusiva a este medio de almacenamiento, por lo cual establecimos controles mnimos de acceso. Mostramos ahora algunas de las propiedades de este medio de almacenamiento, definimos adems nuestra estructuracin de tablas y Diagrama de Entidad Relacin.

Datos de la Base de Datos


Crear Tablas
Para crear una tabla hacemos doble clic en una de las opciones de creacin de tablas.

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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:

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

31

Elegimos las tablas que queremos relacionar y aparecen en la ventana de Relaciones:

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Texto extenso, o combinacin extensa de texto y nmeros. Memo

Numrico

Datos numricos utilizados en clculos matemticos.

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

Hasta 1 gigabyte (limitado por el espacio disponible en disco)

Cada una de las tres partes del tipo de datos hipervnculo puede contener hasta 2048 caracteres.

Hipervnculo

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

33

Asistente para bsquedas

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

IDPart: Numrico Camino: Texto 2-Caras IDCara @

NroCuerpo

NroCara

IDPart FK(1)

IDCara: Numrico NroCuerpo: Numrico NroCara: Numrico. IDPart: Numrico 3-Puntos IDCara @ FK(2)

X @

Y @

Z @

IDCara: Numrico X: Numrico Y: Numrico. Z: Numrico. 4-FactorForma IDPart IDCara1 @ @ FK(1)

IDCara2 @

FactorForma

IDPart: Numrico IDCara1: Numrico.


Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

34

IDCara2: Numrico. FactorForma: Numrico. 5-HuecosIDPart IDPart @

IDPart: Numrico. 6-HuecosIDCara IDCara @

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.

Diagrama Entidad Relacin (DER)


Puntos Caras HuecosIDCara

Parts FactorForma

HuecosIDPart

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

36

Captulo 5: 3D Building Blox


Conceptos previos.
3D Building Blox es un componente programable diseado para proveer modelos slidos en 3D, apoyado por capacidades de Active X Con 3D Building Blox, no slo es posible crear, manipular y visualizar los modelos en 3D, sino tambin para vincular datos de la aplicacin directamente a los modelos en 3D. Los modelos pueden contener datos de la aplicacin en forma de atributos. Esto permite a cualquier modelo manipulado o creado con una aplicacin 3D Building Blox ser ledo por otras aplicaciones basadas en ACIS. La tecnologa ActiveX le permite a los diseadores el acceso al poder de 3D Building Blox. La misin de 3D Building Blox es ayudar en el desarrollo de aplicaciones que pueden verse y manipularse en otras aplicaciones ACIS (manipulacin de objetos tridimensionales).

Caractersticas de 3D Building Blox


Generacin de modelos en 3D. Dinmicamente puede, girar, arrastrar, enfocar, incluso volar a travs de los modelos 3D. Una familia de controles OCX intervienen en la estructura del idioma, incluso en los objetos, mtodos y propiedades. Posee funciones booleanas. Asociacin de datos de la aplicacin con los modelos 3D utilizando atributos. Manipulacin en tiempo real, usando luces, materiales y texturas.

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Esfera con puntas


Cdigo Fuente
Hace que la declaracin de variables sea obligatoria Option Explicit Private Sub Form_Load() 'Este ejemplo crea una esfera con puntas 'No retorna una entidad sino que la muestra en pantalla Dim sm As New BloxSolid.SolidBuilder Dim wm As New BloxWire.WireBuilder Dim math As New Blox.math sm.part = Scene1.part wm.part = Scene1.part Dim sphere As Blox.Entity Dim center As New Blox.Position 'Centro de la esfera center.Set 0, 0, 0 'Creo la esfera y la pinto de amarillo Set sphere = sm.sphere(center, 25) sphere.Visual.Color = vbYellow Dim surf As Blox.Surface Set surf = sphere.object.Faces(1).object.Geometry Dim ruv As Blox.ParameterRangeUV Set ruv = surf.Range Dim ru As Blox.ParameterRange Dim rv As Blox.ParameterRange Set ru = ruv.URange Set rv = ruv.VRange Dim u As Double Dim v As Double Dim stepU As Double Dim stepV As Double stepU = (ru.EndParameter - ru.StartParameter) / 7 stepV = (rv.EndParameter - rv.StartParameter) / 7 Dim radius As Double radius = 1 For u = ru.StartParameter To ru.EndParameter Step stepU For v = rv.StartParameter To rv.EndParameter Step stepV Dim p1 As New Blox.Position Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

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

Con stas pocas lneas de cdigo obtenemos el siguiente resultado:

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

41

Captulo 6: Visual Basic 6.0 Edicin Empresarial.


Nuestro lenguaje para la realizacin del trabajo fue Visual Basic 6.0 Edicin Empresarial, si bien hablar de un leguaje, sus propiedades y su entorno nos llevara todo un libro, dedicamos aqu un captulo donde describimos brevemente las facultades del mismo.

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.

Funcionamiento de Windows: ventanas, eventos y mensajes


Una ventana es simplemente una regin rectangular con sus propios lmites. Son ejemplos de ventanas: una ventana Explorador en Windows 98, una ventana de documento dentro de su procesador de textos o un cuadro de dilogo que emerge para recordarle una cita. Aunque stos son los ejemplos ms comunes, realmente hay otros muchos tipos de ventanas. Un botn de comando es una ventana. Los iconos, cuadros de texto, botones de opcin y barras de mens son todos ventanas. El sistema controla continuamente cada una de estas ventanas para ver si existen signos de actividad o eventos. Los eventos pueden producirse mediante acciones del usuario, como hacer clic con el mouse (ratn) o presionar una tecla, mediante programacin o incluso como resultado de acciones de otras ventanas.

Descripcin del modelo controlado por eventos


En las aplicaciones tradicionales o "por procedimientos", la aplicacin es la que controla qu partes de cdigo y en qu secuencia se ejecutan. La ejecucin comienza con la primera lnea de cdigo y contina con una ruta predefinida a travs de la aplicacin, llamando a los procedimientos segn se necesiten. En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada; ejecuta distintas secciones de cdigo como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicacin. La secuencia de estos eventos determina la secuencia en la que se ejecuta el cdigo, por lo que la ruta a travs del cdigo de la aplicacin es diferente cada vez que se ejecuta el programa.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

42

Descripcin de las propiedades, mtodos y eventos


Los formularios y controles de Visual Basic son objetos que exponen sus propios mtodos, propiedades y eventos. Las propiedades se pueden considerar como atributos de un objeto, los mtodos como sus acciones y los eventos como sus respuestas. Un objeto de uso diario como el globo de un nio tiene tambin propiedades, mtodos y eventos. Entre las propiedades de un globo se incluyen atributos visibles como el alto, el dimetro y el color. Otras propiedades describen su estado (inflado o desinflado) o atributos que no son visibles, como su edad. Por definicin, todos los globos tienen estas propiedades; lo que vara de un globo a otro son los valores de estas propiedades. Un globo tiene tambin mtodos o acciones inherentes que puede efectuar. Tiene un mtodo inflar (la accin de llenarlo de helio) o un mtodo desinflar (expeler su contenido) y un mtodo elevarse (si se deja escapar). De nuevo, todos los globos pueden efectuar estos mtodos. Los globos tienen, adems, respuestas predefinidas a ciertos eventos externos. Por ejemplo, un globo respondera al evento de pincharlo desinflndose o al evento de soltarlo elevndose en el aire.

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)

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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)

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Barra Barras de Herramientas

de Men

Eje de Coordenadas Piso

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

53

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Traslacin Por Vector


Esta opcin permite trasladar un cuerpo segn un determinado vector direccional ingresado en las cajas de texto. Es til para mover el cuerpo teniendo en cuenta el eje de coordenadas presente en la escena.

Traslacin A nueva posicin


sta opcin es til cuando queremos acercar una entidad a otra. Normalmente los puntos sern de la entidad que quiero trasladar (origen) y de la entidad a la que quiero llegar (destino) Nota: Si la traslacin implica que la entidad se ubique por debajo del piso, se corregir automticamente esta accin poniendo la entidad sobre el piso.
Seminario de Computacin Santiago Russo - Hugo Ariel Tapia RADSOL 3D

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.

Vistas, cmaras y Zoom.


La escena puede ser vista de distintas maneras y desde distintas posiciones. Esto es necesario en un ambiente Tridimensional para tener una idea acabada de lo que se est creando. Dibujante tiene esas herramientas. Son las cmaras, las vistas y el zoom. Las vistas son 4: Isomtrica (por defecto): Podemos observar a la escena en perspectiva. Arriba: Vemos a la escena desde arriba, quiere decir que podemos ver los techos de los cuerpos. La visualizacin se realiza desde una posicin a lo largo del eje Z. Derecha: La visualizacin se realiza a lo largo del eje X Frente: La visualizacin se realiza a lo largo del eje Y Las cmaras son 4: Orbital: Gira alrededor de la escena. Seguimiento: Se desplaza a lo largo de la escena. Caminar: Se desplaza en sentido contrario al movimiento del mouse. Zoom: Agranda o achica interactivamente la vista de la escena mediante el uso del mouse. Zoom:

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Datos del modelo actual

Barra de Men Barras de Herramientas Datos del modelo actual Piso

Control del tiempo

Eje de Coordenadas Escena Barra de Estado

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.

Vistas, cmaras y Zoom


La escena puede ser vista de distintas maneras y desde distintas posiciones. Estimador tiene esas herramientas. Son las cmaras, las vistas y el zoom. Las vistas son 4: Isomtrica (por defecto): Podemos observar a la escena en perspectiva. Arriba: Vemos a la escena desde arriba, quiere decir que podemos ver los techos de los cuerpos. La visualizacin se realiza desde una posicin a lo largo del eje Z. Derecha: La visualizacin se realiza a lo largo del eje X Frente: La visualizacin se realiza a lo largo del eje Y Las cmaras son 4: Orbital: Gira alrededor de la escena. Seguimiento: Se desplaza a lo largo de la escena. Caminar: Se desplaza en sentido contrario al movimiento del mouse. Zoom: Agranda o achica interactivamente la vista de la escena mediante el uso del mouse. Zoom:

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,

La funcionalidad de estas herramientas es similar a las del Dibujante.

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

67

Informacin del modelo

Botones de desplazamiento por cara y cuerpo Bsqueda rpida de cara y cuerpos

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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)

Datos necesarios para realizar el clculo de radiacin.

Visualizacin de simulacin grfica

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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:

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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.

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

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

Seminario de Computacin Santiago Russo - Hugo Ariel Tapia

RADSOL 3D

75

También podría gustarte