Preencher um hemiciclo

Problema: fazer um gráfico representando a Assembleia da República, com o aspecto de um hemiciclo.

Este problema tem algumas particularidades:

  • O número de cadeiras é fixo. Por exemplo para as legislativas de 2011 temos 230 deputados;
  • O número de filas deve ser fixo. No caso da AR parece que temos 6 filas. No entanto o hemiciclo da AR a largura das cadeiras é pequena pelo que a distribuição fica relativamente compacta, para a representação em gráfico, optei por usar 8 filas;

Temos desta forma de encontrar a distribuição correcta de cadeiras por forma a termos 230 distribuídas por oito filas num hemiciclo.

O método que empreguei para resolver este problema consistiu em encontrar uma forma fácil de calcular o número de cadeiras para cada fila. Depois, fixando a distância entre cadeiras (isto assegura uma dada densidade de cadeiras) ajusta-se o raio interno do hemiciclo de modo a termos o número pretendido de cadeiras.

O número de cadeiras de uma dada fila corresponde ao ângulo ocupado por uma cadeira a dividir pelo ângulo do próprio hemiciclo:

As cadeiras são representadas pelos círculos, a largura da cadeira equivale ao diâmetro do círculo. Assim, em primeiro lugar temos de determinar o ângulo 2α:

Seja:
b – raio interior do hemiciclo;
r – raio da circunferência que contem cada cadeira;

O ângulo α vem:

tg(\alpha) = \frac {\overline{BD}} {\overline{AB}} = \frac {\overline{CD}} {\overline{BC}} \Leftrightarrow (Como:\: \overline{AB} = b + r )

\Leftrightarrow \frac {\overline{BD}} {b + r} = \frac {\overline{CD}} {r} \Leftrightarrow

\Leftrightarrow \frac {r} {b + r} = \frac {\overline{CD}} {\overline{BD}} \Leftrightarrow

\Leftrightarrow sen(\alpha) = \frac {r} {b + r} \Leftrightarrow

\Leftrightarrow \alpha = arcsen \left( \frac {r} {b + r} \right)

Ou seja:

2\alpha = 2 \cdot arcsen \left( \frac {r} {b + r} \right)

O número de cadeiras numa dada fila não será mais do que: floor( π / 2α )

O resultado final deste exercício foi:

O preenchimento das cores de cada partido, também é um problema interessante. Fica para outro post.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s