viernes, 5 de diciembre de 2014

¿Cuántas personas caben en la Plaza Mayor de Madrid?

He utilizado el plano de la solución aportada por el tutor Pedro de las Heras, @pheras, y su idea para el algoritmo. Creo que es acertada la colocación a azar de las personas, ya que no estamos colocando ladrillos.
Sin embargo, se van añadiendo personas como si estuvieran cayendo del cielo. Lo que yo propongo es que la colocación sea algo más natural, pero a la vez ordenada. Voy colocando a las personas de forma que "entren" por el lado Oeste y se posicionen en el lado contrario. Cuando una encuentra sitio, intenta dar unos pasos hacia la derecha para ir rellenando los huecos. He hecho que estos pasos se "vean". Esto hace que el programa sea más lento en su ejecución, pero queda un resultado muy vistoso.
También he añadido dos tipos de personas, claras y oscuras. Reduce el tiempo de ejecución a la mitad (aunque esto no lo tengo muy claro) y de nuevo se obtiene un resultado más "natural". Además, haciendo que las personas sean redondas, se evitan los giros de los cuadraditos.
Por último, he añadido algo de interactividad al permitir al usuario que elija la densidad de personas dentro de la plaza.
Y éste es el resultado:
Si quieres verlo en Scratch para aprovecharlo/modificarlo: http://scratch.mit.edu/projects/37556930/

7 comentarios:

  1. Hola Paco, muy trabajado, de hecho lo revisé a ver si había posibilidad de cambios pero lo has dejado tan bien que no das opción, enhorabuena. Gracias por compartirlo.

    ResponderEliminar
  2. Hola Paco! gracias por tu aportación, me parece muy interesante la posibilidad de elección de la densidad de personas, porque según dónde mires datos de manifestaciones, concentraciones de personas, etc, nunca coinciden los oficiales con los de los convocantes.

    ResponderEliminar
  3. Buenas tardes Paco.
    Pues la verdad me parece estupenda la implementación que has realizado y la selección de la densidad de personas es muy interesante ya que pasa de ser una solución estática a una solución dinámica.
    Mi más sincera enhorabuena.

    ResponderEliminar
  4. Las soluciones basadas en un generador de números aleatorios acaban dejando huecos o comprueban miles de veces si una posición ya está ocupada. Es preferible una solución más ordenada

    ResponderEliminar
  5. Las soluciones están muy bien planteadas, aunque yo matizaría que en la realidad por cada metro cuadrado entrarían 4 personas y la escala del programa entran más, aún así me ha gustado mucho

    ResponderEliminar
  6. Me ha gustado el método gráfico y el planteamiento que parece como si la plaza se llenara realmente de personas. Hay que tener cuidado con las escalas en los métodos gráficos.

    ResponderEliminar
  7. El aspecto visual es interesante y la forma de hacerlo también, pero estoy de acuerdo con blogdigital el generador de números aleatorios acaba dejando huecos y repite demasiado

    ResponderEliminar