quarta-feira, 16 de maio de 2018

Aula 14 - Diagrama de Rosa de Florence Nightingale

Florence Nightingale foi uma enfermeira britânica e viveu entre 1820 e 1910. Ela cuidou de soldados feridos na Guerra da Criméia (atualmente uma república autônoma da Ucrânia).

Sua participação na guerra a fez escrever um relatório com o objetivo principal de apresentar os motivos pelos quais tantos soldados morreram. O Diagrama de rosa compõe esse relatório e evidencia que a maioria das mortes foi decorrente de doenças infecciosas adquiridas no hospital.

O diagrama de rosa é um dos diagramas mais influentes da história, pois mudou a atitude do exército britânico para a assistência médica, consequentemente influenciando também os hospitais civis.

O diagrama é dividido em  fatias coloridas, tendo o centro como o ponto comum. A área de cada fatia está na proporção da estatística que ela representa, e em três partes de cores diferentes (também proporcionais). Estas três cores eram representativas de três diferentes tipos de morte (por doenças contagiosas, por ferimento e por causa diversas).

A atividade consiste em criar uma aplicação que refaça o mesmo diagrama com dados simulados.

Entao aqui vai a explicação do código:

1) Iniciei o processo dividindo o círculo em 12 partes conforme os meses do ano, reservando um espaço 30 graus para cada mês. Em seguida atribui variáveis aos dados de morte ( infecção, ferimento, e outras causas) simulados aleatoriamente e uma cor para cada.

    float infec = random (1, 100)*200;
    float ferimento = random(1, 100)*200;
    float outras = random(1,100)*200;

2) Na sequencia fiz um laço para repetir 12 vezes preenchendo com a  função arc() as partes de um gráfico de pizza. Dentro do laço estabeleci que o mês de janeiro começaria no primeiro quadrante do gráfico, em 0 graus e terminaria em 30 graus e os outros meses obedeceriam o mesmo intevalo através das variáves angInicial e angFinal.

  float angInicial=0;
  float angFinal=30;

3) Para dentro de cada um dos 12 arcos criados,uma subdivisão em três partes criaria o cenário representativo do motivo das mortes.

4) o código final ficou assim:

void setup() {

  size (400, 600);
  float angInicial=0;
  float angFinal=30;
  
  for (int i=1; i<=12; i++) {
    float infec = random (1, 100)*200;
    float ferimento = random(1, 100)*200;
    float outras = random(1, 100)*200;

    noStroke();
    fill(32,178,170);
    arc(width/2, height/2, radians(infec), radians(infec), radians(angInicial), radians(angFinal));
    fill(255,99,71);
    arc(width/2, height/2, radians(ferimento), radians(ferimento), radians(angInicial), radians(angFinal));
    fill(218,165,32);
    arc(width/2, height/2, radians(outras), radians(outras), radians(angInicial), radians(angFinal));
    
    angInicial = angInicial+30;
    angFinal=angFinal+30;
  }
} 
 
A figura final ficou assim:
 

Nenhum comentário:

Postar um comentário

Deixe aqui seu comentário