Este documento describe cómo simular el rebote de una pelota en Smallworlds. Primero, se crea una pelota y un escenario con un piso. Luego, se programa un guión para que la pelota caiga y rebote, reduciendo su velocidad cada vez. Finalmente, se agrega un control deslizante para ajustar la aceleración de la pelota.
1. Pelota rebotando Página 1 de 4
Pelota rebotando
Este simple ensayo tiene como objetivo simular la caida de una pelota y el rebote de la misma contra
el piso.
No se repetirán aquí conceptos ya vistos en tutoriales anteriores, por lo que se recomienda un
conocimiento previo de eToys y sus fundamentos.
En cada rebote la velocidad de la pelota pierde un poco de fuerza, con lo cual la ascención posterior
será cada vez menor hasta que la pelota quede depositada en el piso. O al menos, eso es lo que pasa
en la realidad!.
Si bien este ejercicio podría hacerse de distintas formas hemos optado aquí por simular los
movimientos de caida y ascenso, cambiando el valor del eje cartesiano y, de acuerdo a la velocidad
que vaya adquiriendo la pelota.
Como inicio necesitamos una pelota (que puede ser un gráfico como el de este ejemplo o un Morf
Elipse) al cual llamamos "pelota".
http://swiki.agro.uba.ar/small_land/212 08/03/2011
2. Pelota rebotando Página 2 de 4
En caso de utilizar un gráfico, el mismo se puede incorporar a la imagen de acuerdo a sistema
operativo que esté utilizando, según las instrucciones que figuran aquí
Posteriormente, con el Pintor dibujamos debajo un piso que tenga un buen grosor con algún detalle
que querramos, un árbol con unas frutas en este caso. Luego agregamos unos pequeños tréboles de 4
hojas (para la suerte!) y una mariposa, en verdad esto no es necesario para el ensayo, pero le da más
vida al cuadro, no les parece?. (Se puede animar la mariposa fácilmente, como ya se vió en otros
tutoriales).
Teniendo el escenario listo, necesitamos crear una variable de instancia para la velocidad de la
pelota, cosa que hacemos como ya hemos aprendido en La batalla de los Morphs. A dicha variable la
llamamos "velocidad".
Creamos luego un guión, al cual llamamos "rebota", y cuya primer línea es la siguiente:
colocamos acá 0,4 como un valor arbitrario para ir probando.
El paso siguiente es ir decrementando el valor de y (el eje cartesiano y) conforme aumenta la
velocidad de la pelota en cada latido del guión, usamos para ello lo siguiente:
Debemos luego agregar un Condicional para chequear cuando la pelota hace contacto con el piso.
Usamos Pelota superpone de la categoría pruebas y generando un mosaico del Piso (por el halo
naranja) hacemos que quede como sigue:
y si la respuesta es Si, entonces debemos variar la velocidad reduciéndola en algo y cambiando el
signo, para que la pelota se mueva en sentido contrario (es decir subiendo por el imaginario eje y), de
esta forma:
Con ello ya podemos testear nuestro guión.
Funciona? Si no lo hace, hay algunas posibilidades de cosas que puedan haber ocurrido, como por
ejemplo que el eje y esté tomado en una parte donde justo pasa a valores negativos, debemos evitar
esto para que el ensayo funcione bien.
Como adicional, vamos a crear un control que nos permita aumentar la aceleración de la pelota. Para
ello utilizamos una Barra de Desplazamiento, que tomamos de la Pestaña Provisiones o bien del
Menú del Mundo, objetos, desde la categoría Escritura de Guiones.
http://swiki.agro.uba.ar/small_land/212 08/03/2011
3. Pelota rebotando Página 3 de 4
A dicho objeto lo nombramos "aceleración". Como pruebas, podemos jugar cambiando los valores
mínimo y máximo de dicho objeto. Como valores definitivos se pueden dejar para Mínimo 0 y para
Máximo: 20.
Para hacer que el valor de la Barra de Desplazamiento sea el valor de la velocidad, modificamos la
primer línea del guión para aumentar la velocidad por el valor numérico de la aceleración, como
sigue:
Probamos ahora arrancando el guión y variando la velocidad de caida de la pelota con dicha barra.
Bien, todo parece funcionar, excepto que la pelota no se detiene en el piso, sino que parece querer
hundirse en el mismo.
Detectar porqué pasa esto es un ejercicio que lleva un buen tiempo de reflexión, y cuya respuesta
puede dar muchas explicaciones a los que nos iniciamos en el terreno de las simulaciones.
Sería interesante compartir en la lista de Small-Land las deducciones, observaciones y conclusiones
al respecto.
Los esperamos ahí!.
http://swiki.agro.uba.ar/small_land/212 08/03/2011
4. Pelota rebotando Página 4 de 4
Notas:
La pelota puede desaparecer de la pantalla debido, por ejemplo, a algún valor muy alto en
aceleración. Una forma rápida de reposicionarla es dar a y el valor 450.
Luego de sucesivas pruebas, la velocidad puede quedar en valores muy altos, y por eso en
ocasiones hay que reasignarla a mano a un valor razonable (entre 5 y 10).
Pueden bajar el proyecto desde aquí: pelota.1.pr.
Autores: Diego Gómez Deck y Germán S. Arduino.
Fecha: Noviembre 2003.
Link to this Page
Instrucciones para principiantes last edited on 20 August 2004 at 1:55:24 pm by
80.58.12.235.proxycache.rima-tde.net
http://swiki.agro.uba.ar/small_land/212 08/03/2011