Diferencia entre revisiones de «Visualización del VIH SIDA en Chile»

De Casiopea
Sin resumen de edición
 
(No se muestran 32 ediciones intermedias del mismo usuario)
Línea 8: Línea 8:
|Palabras Clave=Gráfica Digital, Diseño Gráfico, 2010, Visualización, Proyecto
|Palabras Clave=Gráfica Digital, Diseño Gráfico, 2010, Visualización, Proyecto
}}
}}
=Visualización de Datos: Propuestas=
=Inicio de la Propuesta=


==Propuesta I: VIH/Sida en Chile==
==El VIH/SIDA en Chile==
La temática de esta propuesta está dirigida a mostrar el índice de personas contagiadas con el virus del VIH/Sida en nuestro país, entre los años 1984 y 2008.
La temática de esta propuesta está dirigida a mostrar el índice de personas contagiadas con el virus del VIH/Sida en nuestro país, entre los años 1984 y 2008.


Línea 23: Línea 23:
Con estos datos, se quiere hacer una comparación entre quienes tiene VIH y Sida según el sexo, utilizando el concepto de un gráfico cartesiando para tener las 4 divisiones comparativas.La idea sería graficar estos datos en una especie de "espejo", reflejando los contenidos según las variantes.
Con estos datos, se quiere hacer una comparación entre quienes tiene VIH y Sida según el sexo, utilizando el concepto de un gráfico cartesiando para tener las 4 divisiones comparativas.La idea sería graficar estos datos en una especie de "espejo", reflejando los contenidos según las variantes.


'''Fuentes'''
=Desarrollo del Proyecto=
*[http://www.minsal.cl/ Minsal]
La idea de este proyecto, es visualizar como han incrementado los casos de notificaciones de VIH/SIDA en el transcurso de 28 años, comenzando en 1984 -cuando se notifican los primeros 6 casos de la epidemia en Chile- hasta el año 2008.
*[[Media: Informe_vih_sida_Chile.pdf | Informe evolución del VIH/Sida en Chile, 1984-2008]]
 
==Propuesta II: Delincuencia en Chile==
La segunda propuesta, abarca la temática de la delincuencia en Chile, mostrando el índice de delitos denunciados y de sus detenciones a lo largo del país durante el primer trimestre del 2010.
 
'''Variables'''
* Detenciones
* Incautaciones de armas
* Decomiso de drogas
* Regiones
 
 
La idea, es crear una visualización usando el mapa de Chile, en el que se indiquen estas tres primeras variables en cada región, conformando una manera directa y precisa de ver qué ocurre en este aspecto dentro del país.
 
'''Fuentes'''
*[http://www.seguridadpublica.gov.cl/sistema_nacional_de_informacion_delictual.html División de Seguridad Pública]
*[[Media: Informe_nacional_procedimientos_policiales.pdf | Informe Nacional de Procedimientos Policiales]]
 
 
=Proyecto: ¿Cómo ha evolucionado el VIH/SIDA en Chile?=
La idea de este proyecto, es la visualización de como han incrementado los casos de notificaciones de VIH/SIDA en el transcurso de 28 años, comenzando en 1984 -cuando se notifican los primeros 6 casos de la epidemia en Chile- hasta el año 2008.


Las variables se redefinen, utilizando las siguientes:
Las variables se redefinen, utilizando las siguientes:
Línea 57: Línea 36:
Antes de la visualización se hará una introducción al tema y luego una definición explicatoria de lo que es el VIH y el SIDA.
Antes de la visualización se hará una introducción al tema y luego una definición explicatoria de lo que es el VIH y el SIDA.


==Maquetas==
==Propuestas Visuales==
===Versión I===
===Versión I===
Maqueta que define el espacio
[[Archivo: Maqueta_visualizacion_vihsida_01.jpg|600px]]
[[Archivo: Maqueta_visualizacion_vihsida_01.jpg|600px]]


Línea 65: Línea 45:


===Versión III===
===Versión III===
Maqueta con definición de objetos a crear.
[[Archivo: Maqueta_visualizacion_vihsida_03.png|700px]]
[[Archivo: Maqueta_visualizacion_vihsida_03.png|700px]]
===Versión IV: Visualización final===
[[Archivo: Visualización_final_vih_sida.png|500px|thumb|center]]


==Tablas Excel==
==Tablas Excel==
[[Archivo: notificaciones_vih_chile.jpg|200px|thumb|left|Notificaciones de VIH]]
===Primera Versión===
[[Archivo: notificaciones_sida_chile.jpg|200px|thumb|center|Notificaciones de Sida]]
<gallery>
[[Archivo: defunciones_vih_sida_chile.jpg|200px|thumb|left|Defunciones por VIH/SIda]]
Imagen: notificaciones_vih_chile.jpg|Notificaciones de VIH
Imagen: notificaciones_sida_chile.jpg|Notificaciones de Sida
Imagen: defunciones_vih_sida_chile.jpg|Defunciones por VIH/SIda
</gallery>


===Versión Final===
[https://spreadsheets.google.com/ccc?key=0AtRcN6BDohQ9dFlEYmpDcHAzblJndTg4OF9uMngtU3c&hl=en Tabla de Datos VIH/SIDA]


La tabla de datos final, reúne más variables, definienfo los distintos datos y organizándolos en dos hojas:
* Datos por Años
* Datos por Quinquenios


==Creación de Objetos==
Para la creación de objetos, se utilizarán dos clases que crean el elemento variable, y otra que junta estos elementos y lo dispone en el espacio para su comparación.
====Elemento====
=====Clase=====
Esta clase se llamará '''class Elemento''' y las variables y valores a declarar serán:
* '''int tamano''' (tamaño)
* '''color rgb''' (color)
* '''int posx, posy''' (posición de "x" e "y")
* '''int tipo''' (tipo de persona)
* '''int cant''' (cantidad personas)
* '''int CANTMAX = 800''' (cantidad máxima de personas)
* '''int PIXELMAX = 100''' (cantidad máxima de pixeles a dibujar)
* '''final static int HOMBRE = 1''' (tipo de persona hombre)
* '''final static int MUJER = 0''' (tipo de persona mujer)




=====Objeto=====
Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:
<pre>
<nowiki>
Elemento(int posx, int posy, int cantidad, int tipo){    //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantidad = cantidad;
  if(tipo == MUJER)                    //si el tipo de persona es mujer
    this.rgb = color(226, 0, 122);    //el color del elemento es rosáceo
  else                                //todo lo demás, en este caso, hombre
    this.rgb = color(0, 158, 224);    //el color del elemento es celeste
  tamano = int(PIXELMAX * cantidad / CANTMAX + 3); //se calcula el tamaño, se suma 3 porque si el tamaño da 1, se dibuja un pixel
    if(cantidad>0 && tamano == 0)  //si la cantidad es mayor que 0 y el tamaño es cero, dibuja 3 pixeles
        tamano = 3;
    if(cantidad == 0)  //si la cantidad es cero, no se dibujan pixeles
        tamano = 0;
}
</nowiki>
</pre>




La construcción de la forma del objeto "Elemento", se define según la siguiente función:
<pre>
<nowiki>
void draw(){
  fill(rgb);                        //color según hombre o mujer
  rectMode(CENTER);                  //se dibuja el cuadrado desde el centro
  rect(posx, posy, tamano, tamano);  //se dibuja en una posición y su ancho y largo es el tamaño dado en pixeles
}
</nowiki>
</pre>


====Par de elementos====
=====Clase=====


Esta clase se llamará '''class ParejaDato''' y las variables y valores a declarar serán:
* '''int posx, posy''' (posición de "x" e "y")
* '''int cantHombre, cantMujer''' (cantidad de personas por sexo)
* '''int SEPARACION = 5''' (separación entre los elementos)




=====Objeto=====


Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:


<pre>
<nowiki>


ParejaDato(int posx, int posy, int cantHombre, int cantMujer){  //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantHombre = /*número de hombres*/;  //se da la cantidad de hombres
  this.cantMujer = /*número de mujeres*/;    //se da la cantidad de mujeres
}


</nowiki>
</pre>




==Contenidos de la Lámina de Fundamento==
La composición de la lámina constará de contenidos explicativos tanto de la construcción del proyecto como del tema mismo. Primero se dará espacio al discurso, tratando el desarrollo del proyecto, y luego se introducirá a la temática del VIH/SIDA en Chile.


====Introducción====
El desarrollo de este proyecto, presenta la visualización del VIH/SIDA en Chile,
como una clara comparación de magnitudes en función de un espacio temporal.
Esta realidad dentro del país, no es tan escasa como podría pensarse, y
tiene varioss factores a considerar.
La pregunta a responder es ¿Cómo ha evolucionado el VIH/SIDA en Chile?.
Por evolución no sólo nos referimos a cómo varía la cantidad población infectada
por el virus, sino que también apunta a otros factores importantes, como
por ejemplo, cuales han sido las vías de contagio más significativas en el
transcurso de los años, o como los rangos educativos que más se han visto
afectados, distintas maneras de observar los casos de VIH/SIDA.


====La Epidemia del VIH/SIDA====
Antes de contar la situación del virus en nuestro país, es importante saber
precisamente de qué estamos hablando para evitar confusiones, como las que se producen al hablar del VIH/SIDA de manera que fuesen una sola cosa, pero se debe aclarar que el VIH y el SIDA no son lo mismo:


* El VIH (Virus de la Inmunodeficiencia Humana) es un virus que encuentra y
destruye un tipo particular de glóbulos blancos (células T o CD4) que utiliza el
sistema inmunológico para combatir las enfermedades.
* El SIDA (Sindrome de Inmunodeficiencia Adquirida) es la etapa más avanzada
de la infección que causa el VIH, en donde se presentan una serie de síntomas
que se producen cuando el sistema inmunológico se deteriora y deja de
funcionar de forma eficaz.


En nuestro país, la epidema del VIH/SIDA comenzó en el año 1984, con la detección de 6 hombres infectados, provenientes de las Regiones de Valparaíso,
Bío-Bío y Metropolitana. Al año siguiente, se notifica el primer caso de infección en una mujer, proveniente de la Región Metropolitana. Actualmente, se
calculan alrededor de unos 22.000 infectados con el VIH/SIDA, y aunque la
mortalidad creció considerablemente durante un tiempo, hoy en día las cifras
han ido disminuyendo poco a poco. Las formas de contagio más comunes, y que se visualizan aquí, son:


* Sexual: Contacto de fluidos sexuales y mucosas.
* Sanguínea: Transfusiones de sangre, tratamientos por hemofilia
(enfermedad genética, que normalmente afecta a los hombres, por la que
una persona no tiene la capacidad de coagular sangre) y el uso de jeringas.
* Vertical: De madre a hijo, durante el embarazo, parto o lactancia.


====Construcción de los Objetos====
El diseño de la visualización, se piensa a partir de una figura plana (cuadrado), que se transforma en volumen al tomar los datos de cada tabla. Los datos acerca de la cantidad de personas, se convierten en este cubo. Para construir los elementos, se crearon tres clases: Cubo, ParejaDato y Fila. La primera define la “unidad discreta”, el elemento base para crear el resto del cuerpo. La segunda clase, crea la unión de los elementos similares (Hombre y
Mujer, VIH y SIDA). Finalmente, la tercera crea las columna con los pares ya creados.




'''Esquema general''
[[Archivo:esquema_estructura_processing.png]]




La composición del dibujo total, se da a partir de las siguientes variables:
* int tamano (tamaño del lado del cubo)
* color rgb (color de los cubos)
* int posx, posy (posición en "x" e "y")
* int tipo (mujer u hombre)
* int cant (cantidad personas)
* final static int CANTMAX = 27 (la cantidad de notificaciones registradas, es
de 19.960, por lo que aproximamos la raíz cúbica de esta cantidad para ocuparla
como constante)
* final static int PIXELMAX = 150 (cantidad máxima de pixeles a dibujar)
* final static int MUJER = 0 (definición para la instancia de la clase Cubo)
* final static int HOMBRE = 1 (definición para la instancia de la clase Cubo)
* final static int SEPARACIÓN = 15 (separación entre un par)
* int cantHombre, cantMujer (cantidad de hombres y mujeres)
* int columna (las columnas a crear)


====Código de Estructura====


==Contenidos de la Lámina==
<pre>
La composición de la lámina constará de contenidos explicativos tanto de la construcción del proyecto como del tema mismo. Primero se dará espacio al discurso, tratando el desarrollo del proyecto, y luego se introducirá a la temática del VIH/SIDA en Chile.
<nowiki>
import de.bezier.data.*;
import processing.pdf.*;
 
class Cubo{
 
  final static float CANTMAX = 27;
  final static int PIXELMAX = 150;
  final static int MUJER = 0;
  final static int HOMBRE = 1;
 
  int cantidad;
  color rgb;
  int posx,posy;
  int tamano;
 
  Cubo(int posx, int posy, int cantidad, int tipo){
    this.cantidad = cantidad;
    this.rgb = rgb;
    this.posx = posx;
    this.posy = posy;
    if(tipo==MUJER) // en el caso de que sea otra variable, como muertes, escolaridad, etc, se quita esto
      this.rgb = color(240, 93, 99);
    else                                  //tambien este "else" y uno de los "this.rgb", y el color se reemplaza por (66,66,66) o (0)
      this.rgb = color(92, 181, 201);
    tamano = round(pow(cantidad,float(1)/3)*PIXELMAX/CANTMAX);
    if(cantidad == 0)
      tamano = 0; 
  }
 
  void dibujar(){
    fill(rgb);
    rectMode(CENTER);
 
    rect(posx, posy, tamano, tamano);
 
    int t = ceil(tamano/2);
    fill(rgb,170);
    stroke(255);
    strokeWeight(0.7);
    quad(posx-t, posy-t,
    posx, posy-t*2,
    posx+t*2, posy-t*2,
    posx+t, posy-t);
 
    fill(rgb,130);
    stroke(255);
    strokeWeight(0.7);
    quad(posx+t, posy+t,
    posx+t*2, posy,
    posx+t*2, posy-t*2,
    posx+t, posy-t);
  }
 
}
 
class ParejaDato{
 
  final static int SEPARACION = 15;
 
  int posx, posy;
  int cantHombre, cantMujer;
 
  ParejaDato(int posx, int posy, int cantHombre, int cantMujer){
    this.posx = posx;
    this.posy = posy;
    this.cantHombre = cantHombre;
    this.cantMujer = cantMujer; 
  }
 
  void dibujar(){
    Cubo temp;
    String sCant;
    temp = new Cubo(posx, posy, cantMujer, Cubo.MUJER);
    temp.posy += SEPARACION + round(temp.tamano/2);
    temp.dibujar();
    temp = new Cubo(posx, posy, cantHombre, Cubo.HOMBRE);
    temp.posy -= SEPARACION + round(temp.tamano/2);
    temp.dibujar();
  }
 
}
 
class Fila{
 
  ArrayList datos;
  String nombre;
  int posy;
  int columna;
  XlsReader reader;
 
  Fila(int posy, int columna, String nombre){
    this.posy = posy;
    this.nombre = nombre;
    this.columna = columna;
  }


====Introducción al tema====
  void cargar(){
"El VIH/SIDA... ¿Conoces la diferencia?
    datos = new ArrayList();
    reader.firstRow();
    reader.nextRow();
    int posx = 100;
    int col;
    while(reader.hasMoreRows()){


El '''VIH''' (Virus de la Inmunodeficiencia Humana) es un virus que encuentra y destruye un tipo particular de glóbulos blancos (células T o CD4) que utiliza el sistema inmunológico para combatir las enfermedades. El '''SIDA''' (Sindrome de Inmunodeficiencia Adquirida) es la etapa más avanzada de la infección que causa el VIH, en donde se presentan una serie de síntomas que se producen cuando el sistema inmunológico se deteriora y deja de funcionar de forma eficaz.
      reader.nextRow();


En nuestro país, la epidema del VIH/SIDA comenzó en el año '''1984''', con la detección de '''6 hombres infectados''', provenientes de las Regiones de Valparaíso, Bío-Bío y Metropolitana. Al año siguiente, se notifica el primer caso de '''infección en una mujer''', proveniente de la Región Metropolitana. Actualmente, se calculan alrededor de unos 22.000 infectados con el VIH/SIDA, y aunque la mortalidad creció considerablemente durante un tiempo, hoy en día las cifras han ido bajando poco a poco."
      for(col=0; col<columna-1;col++){
        reader.nextCell();
        reader.nextCell();
      }


      reader.nextCell();


      String sCantHombre = reader.getString();
      if(sCantHombre.equals("")) break;
      int cantHombre = 0;
      if(!sCantHombre.equals("-"))
        cantHombre = round(int(sCantHombre));


==Creación de Objetos==
      reader.nextCell();
Para la creación de objetos, se utilizarán dos clases que crean el elemento variable, y otra que junta estos elementos y lo dispone en el espacio para su comparación.


====Elemento====
      String sCantMujer = reader.getString();
'''Clase'''
      int cantMujer = 0;
Esta clase se llamará '''class Elemento''' y las variables y valores a declarar serán:
      if(!sCantMujer.equals("-"))  
* Tamaño (int tamano)
        cantMujer = round(int(sCantMujer));
* Color (color rgb)
      ParejaDato pareja = new ParejaDato(posx, posy, cantHombre, cantMujer);
* Posición de "x" e "y" (int posx, posy)
      pareja.dibujar();
* Tipo (int tipo)
* Cantidad personas (int cantidad)
* Cantidad máxima de personas (int CANTMAX = 800)
* Cantidad máxima de pixeles a dibujar (int PIXELMAX = 100)
* Tipo de persona hombre (int HOMBRE = 1)
* Tipo de persona mujer (int MUJER = 0)


      posx += 120; //cuando los datos del excel son por quinquenio, se cambia a Cubo.PIXELMAX+425;


'''Objeto'''
    }
Para construir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:
<pre>
<nowiki>


Elemento(int posx, int posy, int cantidad, int tipo){
   }
   this.cantidad = cantidad;
  this.rgb = rgb;
  this.posx = posx;
  this.posy = posy;
  if(tipo == MUJER)
    this.rgb = color(226, 0, 122);
  else
    this.rgb = color(0, 158, 224);


  tamano = int(PIXELMAX * cantidad / CANTMAX + 3);
    if(tamano == 0)
        tamano = 3;
    if(cantidad == 0)
        tamano = 0;
}
}


</nowiki>
void setup (){
</pre>
 
  size(3100, 600, PDF, "Notificaciones.pdf");  //el tamaño del archivo varia segun la cantidad de filas y y columnas
 
  noStroke();
  background(255);
  smooth();
 
  Fila fila;


====Par de elementos====
  fila = new Fila(200, 1, "SIDA");
'''Clase'''
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
Esta clase se llamará '''class ParejaDato''' y las variables y valores a declarar serán:
  fila.cargar();
* Posición de "x" e "y" (int posx, posy)
* Cantidad de personas por sexo (int cantHombre, cantMujer)
* Separación entre los elementos (int SEPARACION = 5)


  fila = new Fila(200+int(Cubo.PIXELMAX*2), 2, "VIH");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar();


'''Objeto'''
/*  fila = new Fila(100+int(Cubo.PIXELMAX*8), 3, "MUERTES");
Para construir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar(); se agregan o se quitan filas dependiendo de la cantidad de columnas que tenga el archivo excel*/


*ParejaDato(int posx, int posy, int cantHombre, int cantMujer)
}
</nowiki>
</pre>
 
==Fuentes==
Los datos y la información utilizada, provienen de las siguientes fuentes:
*[[Media: Informe_vih_sida_Chile.pdf | Informe evolución del VIH/Sida en Chile, 1984-2008]]
*[http://www.cnnchile.com/salud-medio-ambiente/2010/07/22/85-de-los-infectados-con-vihsida-en-chile-son-hombres/ Artículo sobre el porcentaje de hombres infectados en Chile]
*[http://www.minsal.cl/ Minsal]
*[http://www.geosalud.com/sida/index.htm Geosalud]





Revisión actual - 12:09 28 ago 2010



Título
Palabras ClaveGráfica Digital, Diseño Gráfico, 2010, Visualización, Proyecto
Período2010-2010
CarrerasDiseño Gráfico"Diseño Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
Alumno(s)Sofía Savoy
ProfesorHerbert Spencer

Inicio de la Propuesta

El VIH/SIDA en Chile

La temática de esta propuesta está dirigida a mostrar el índice de personas contagiadas con el virus del VIH/Sida en nuestro país, entre los años 1984 y 2008.

Variables

  • Sexo
  • Edad
  • Virus
  • Formas de contagio
  • Nivel de escolaridad


Con estos datos, se quiere hacer una comparación entre quienes tiene VIH y Sida según el sexo, utilizando el concepto de un gráfico cartesiando para tener las 4 divisiones comparativas.La idea sería graficar estos datos en una especie de "espejo", reflejando los contenidos según las variantes.

Desarrollo del Proyecto

La idea de este proyecto, es visualizar como han incrementado los casos de notificaciones de VIH/SIDA en el transcurso de 28 años, comenzando en 1984 -cuando se notifican los primeros 6 casos de la epidemia en Chile- hasta el año 2008.

Las variables se redefinen, utilizando las siguientes:

  • Sexo
  • Años (1984 a 2008)
  • Etapa diagnóstica (VIH y SIDA)
  • Cantidad de Notificaciones


Antes de la visualización se hará una introducción al tema y luego una definición explicatoria de lo que es el VIH y el SIDA.

Propuestas Visuales

Versión I

Maqueta que define el espacio Maqueta visualizacion vihsida 01.jpg

Versión II

Maqueta visualizacion vihsida 02.jpg

Versión III

Maqueta con definición de objetos a crear. Maqueta visualizacion vihsida 03.png

Versión IV: Visualización final

Tablas Excel

Primera Versión

Versión Final

Tabla de Datos VIH/SIDA

La tabla de datos final, reúne más variables, definienfo los distintos datos y organizándolos en dos hojas:

  • Datos por Años
  • Datos por Quinquenios

Creación de Objetos

Para la creación de objetos, se utilizarán dos clases que crean el elemento variable, y otra que junta estos elementos y lo dispone en el espacio para su comparación.

Elemento

Clase

Esta clase se llamará class Elemento y las variables y valores a declarar serán:

  • int tamano (tamaño)
  • color rgb (color)
  • int posx, posy (posición de "x" e "y")
  • int tipo (tipo de persona)
  • int cant (cantidad personas)
  • int CANTMAX = 800 (cantidad máxima de personas)
  • int PIXELMAX = 100 (cantidad máxima de pixeles a dibujar)
  • final static int HOMBRE = 1 (tipo de persona hombre)
  • final static int MUJER = 0 (tipo de persona mujer)


Objeto

Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:


Elemento(int posx, int posy, int cantidad, int tipo){    //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantidad = cantidad;
  if(tipo == MUJER)                     //si el tipo de persona es mujer
     this.rgb = color(226, 0, 122);     //el color del elemento es rosáceo
   else                                 //todo lo demás, en este caso, hombre
     this.rgb = color(0, 158, 224);     //el color del elemento es celeste

  tamano = int(PIXELMAX * cantidad / CANTMAX + 3); //se calcula el tamaño, se suma 3 porque si el tamaño da 1, se dibuja un pixel
     if(cantidad>0 && tamano == 0)  //si la cantidad es mayor que 0 y el tamaño es cero, dibuja 3 pixeles
         tamano = 3;
     if(cantidad == 0)  //si la cantidad es cero, no se dibujan pixeles
         tamano = 0;
}


La construcción de la forma del objeto "Elemento", se define según la siguiente función:


void draw(){
  fill(rgb);                         //color según hombre o mujer
  rectMode(CENTER);                  //se dibuja el cuadrado desde el centro
  rect(posx, posy, tamano, tamano);  //se dibuja en una posición y su ancho y largo es el tamaño dado en pixeles
}

Par de elementos

Clase

Esta clase se llamará class ParejaDato y las variables y valores a declarar serán:

  • int posx, posy (posición de "x" e "y")
  • int cantHombre, cantMujer (cantidad de personas por sexo)
  • int SEPARACION = 5 (separación entre los elementos)


Objeto

Para definir el objeto, debemos darle las variables con las cual trabajará, de la siguiente manera:



ParejaDato(int posx, int posy, int cantHombre, int cantMujer){  //variables principales
  this.posx = posx;
  this.posy = posy;
  this.cantHombre = /*número de hombres*/;   //se da la cantidad de hombres
  this.cantMujer = /*número de mujeres*/;    //se da la cantidad de mujeres
}



Contenidos de la Lámina de Fundamento

La composición de la lámina constará de contenidos explicativos tanto de la construcción del proyecto como del tema mismo. Primero se dará espacio al discurso, tratando el desarrollo del proyecto, y luego se introducirá a la temática del VIH/SIDA en Chile.

Introducción

El desarrollo de este proyecto, presenta la visualización del VIH/SIDA en Chile, como una clara comparación de magnitudes en función de un espacio temporal. Esta realidad dentro del país, no es tan escasa como podría pensarse, y tiene varioss factores a considerar. La pregunta a responder es ¿Cómo ha evolucionado el VIH/SIDA en Chile?. Por evolución no sólo nos referimos a cómo varía la cantidad población infectada por el virus, sino que también apunta a otros factores importantes, como por ejemplo, cuales han sido las vías de contagio más significativas en el transcurso de los años, o como los rangos educativos que más se han visto afectados, distintas maneras de observar los casos de VIH/SIDA.

La Epidemia del VIH/SIDA

Antes de contar la situación del virus en nuestro país, es importante saber precisamente de qué estamos hablando para evitar confusiones, como las que se producen al hablar del VIH/SIDA de manera que fuesen una sola cosa, pero se debe aclarar que el VIH y el SIDA no son lo mismo:

  • El VIH (Virus de la Inmunodeficiencia Humana) es un virus que encuentra y

destruye un tipo particular de glóbulos blancos (células T o CD4) que utiliza el sistema inmunológico para combatir las enfermedades.

  • El SIDA (Sindrome de Inmunodeficiencia Adquirida) es la etapa más avanzada

de la infección que causa el VIH, en donde se presentan una serie de síntomas que se producen cuando el sistema inmunológico se deteriora y deja de funcionar de forma eficaz.

En nuestro país, la epidema del VIH/SIDA comenzó en el año 1984, con la detección de 6 hombres infectados, provenientes de las Regiones de Valparaíso, Bío-Bío y Metropolitana. Al año siguiente, se notifica el primer caso de infección en una mujer, proveniente de la Región Metropolitana. Actualmente, se calculan alrededor de unos 22.000 infectados con el VIH/SIDA, y aunque la mortalidad creció considerablemente durante un tiempo, hoy en día las cifras han ido disminuyendo poco a poco. Las formas de contagio más comunes, y que se visualizan aquí, son:

  • Sexual: Contacto de fluidos sexuales y mucosas.
  • Sanguínea: Transfusiones de sangre, tratamientos por hemofilia

(enfermedad genética, que normalmente afecta a los hombres, por la que una persona no tiene la capacidad de coagular sangre) y el uso de jeringas.

  • Vertical: De madre a hijo, durante el embarazo, parto o lactancia.

Construcción de los Objetos

El diseño de la visualización, se piensa a partir de una figura plana (cuadrado), que se transforma en volumen al tomar los datos de cada tabla. Los datos acerca de la cantidad de personas, se convierten en este cubo. Para construir los elementos, se crearon tres clases: Cubo, ParejaDato y Fila. La primera define la “unidad discreta”, el elemento base para crear el resto del cuerpo. La segunda clase, crea la unión de los elementos similares (Hombre y Mujer, VIH y SIDA). Finalmente, la tercera crea las columna con los pares ya creados.


'Esquema general Esquema estructura processing.png


La composición del dibujo total, se da a partir de las siguientes variables:

  • int tamano (tamaño del lado del cubo)
  • color rgb (color de los cubos)
  • int posx, posy (posición en "x" e "y")
  • int tipo (mujer u hombre)
  • int cant (cantidad personas)
  • final static int CANTMAX = 27 (la cantidad de notificaciones registradas, es

de 19.960, por lo que aproximamos la raíz cúbica de esta cantidad para ocuparla como constante)

  • final static int PIXELMAX = 150 (cantidad máxima de pixeles a dibujar)
  • final static int MUJER = 0 (definición para la instancia de la clase Cubo)
  • final static int HOMBRE = 1 (definición para la instancia de la clase Cubo)
  • final static int SEPARACIÓN = 15 (separación entre un par)
  • int cantHombre, cantMujer (cantidad de hombres y mujeres)
  • int columna (las columnas a crear)

Código de Estructura


import de.bezier.data.*;
import processing.pdf.*;

class Cubo{

  final static float CANTMAX = 27;
  final static int PIXELMAX = 150;
  final static int MUJER = 0;
  final static int HOMBRE = 1;

  int cantidad;
  color rgb;
  int posx,posy;
  int tamano;

  Cubo(int posx, int posy, int cantidad, int tipo){
    this.cantidad = cantidad;
    this.rgb = rgb;
    this.posx = posx;
    this.posy = posy;
    if(tipo==MUJER) // en el caso de que sea otra variable, como muertes, escolaridad, etc, se quita esto
      this.rgb = color(240, 93, 99);
    else                                  //tambien este "else" y uno de los "this.rgb", y el color se reemplaza por (66,66,66) o (0)
      this.rgb = color(92, 181, 201);
    tamano = round(pow(cantidad,float(1)/3)*PIXELMAX/CANTMAX);
    if(cantidad == 0)
      tamano = 0;  
  }

  void dibujar(){
    fill(rgb);
    rectMode(CENTER);

    rect(posx, posy, tamano, tamano);

    int t = ceil(tamano/2); 
    fill(rgb,170);
    stroke(255);
    strokeWeight(0.7);
    quad(posx-t, posy-t,
    posx, posy-t*2, 
    posx+t*2, posy-t*2,
    posx+t, posy-t);

    fill(rgb,130);
    stroke(255);
    strokeWeight(0.7);
    quad(posx+t, posy+t,
    posx+t*2, posy, 
    posx+t*2, posy-t*2,
    posx+t, posy-t);
  }

}

class ParejaDato{

  final static int SEPARACION = 15;

  int posx, posy;
  int cantHombre, cantMujer;

  ParejaDato(int posx, int posy, int cantHombre, int cantMujer){
    this.posx = posx;
    this.posy = posy;
    this.cantHombre = cantHombre;
    this.cantMujer = cantMujer;  
  }

  void dibujar(){
    Cubo temp;
    String sCant;
    temp = new Cubo(posx, posy, cantMujer, Cubo.MUJER);
    temp.posy += SEPARACION + round(temp.tamano/2);
    temp.dibujar();
    temp = new Cubo(posx, posy, cantHombre, Cubo.HOMBRE);
    temp.posy -= SEPARACION + round(temp.tamano/2);
    temp.dibujar();
  }

}

class Fila{

  ArrayList datos;
  String nombre;
  int posy;
  int columna;
  XlsReader reader;

  Fila(int posy, int columna, String nombre){
    this.posy = posy;
    this.nombre = nombre;
    this.columna = columna;
  }

  void cargar(){
    datos = new ArrayList();
    reader.firstRow();
    reader.nextRow();
    int posx = 100;
    int col;
    while(reader.hasMoreRows()){

      reader.nextRow();

      for(col=0; col<columna-1;col++){
        reader.nextCell();
        reader.nextCell();
      }

      reader.nextCell();

      String sCantHombre = reader.getString();
      if(sCantHombre.equals("")) break;
      int cantHombre = 0;
      if(!sCantHombre.equals("-")) 
        cantHombre = round(int(sCantHombre));

      reader.nextCell();

      String sCantMujer = reader.getString();
      int cantMujer = 0;
      if(!sCantMujer.equals("-")) 
        cantMujer = round(int(sCantMujer));
      ParejaDato pareja = new ParejaDato(posx, posy, cantHombre, cantMujer);
      pareja.dibujar();

      posx += 120; //cuando los datos del excel son por quinquenio, se cambia a Cubo.PIXELMAX+425; 

    }

  }

}

void setup (){

  size(3100, 600, PDF, "Notificaciones.pdf");   //el tamaño del archivo varia segun la cantidad de filas y y columnas

  noStroke();
  background(255);
  smooth();

  Fila fila;

  fila = new Fila(200, 1, "SIDA");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar();

  fila = new Fila(200+int(Cubo.PIXELMAX*2), 2, "VIH");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar();

/*  fila = new Fila(100+int(Cubo.PIXELMAX*8), 3, "MUERTES");
  fila.reader = new XlsReader(this, "notificaciones_h_m.xls" );
  fila.cargar(); se agregan o se quitan filas dependiendo de la cantidad de columnas que tenga el archivo excel*/

}

Fuentes

Los datos y la información utilizada, provienen de las siguientes fuentes: