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;
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;
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