Fricción?

Si tienes alguna duda sobre cómo usar pilas, o tienes problemas para instalar o hacer algo en pilas comentalo aquí.

Fricción?

Notapor cosarara97 » Jue Jul 21, 2011 11:30 am

Ok, otro problema!
Tengo esto:
import pilas
pilas.iniciar(gravedad=(0, 0))
circulo1 = pilas.fisica.Circulo(10, 200, 50, restitucion=1, friccion=0)
circulo1.definir_velocidad_lineal(1000, 1000)
pilas.ejecutar()

Yo creo que con esto debería aparecer un circulo invisible (que podríamos ver con F11) que rebotaría por la pantalla hasta que cerráramos el programa. Y no es exactamente lo que pasa. El circulo empieza a moverse rápido, pero va frenando poco a poco hasta quedar parado del todo :(

Supongo que esto sería normal si hubiera fricción, pero no la hay, y creo que restitución 1 significa que rebota con la misma fuerza que llega a la pared (aunque no estoy muy seguro :P).
Entonces hago 2 preguntas:
¿Porqué se para?
¿Como lo hago para que no se pare?
cosarara97
 
Mensajes: 7
Registrado: Mié Jul 20, 2011 9:50 pm

Re: Fricción?

Notapor hugoruscitti » Jue Jul 21, 2011 3:33 pm

Buenas, como estas?

Te comento que para hacer constante el movimiento tendrías que definir
también la amortiguación. Porque eso le resta enegía en las colisiones.

Por ejemplo,basado en tu código anterior, al crear la circunferencia probá
haciendo algo como esto:

circulo1 = pilas.fisica.Circulo(10, 200, 20, restitucion=1, friccion=0, amortiguacion=0)


Avisanos si te sirve la solución. Saludos.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Fricción?

Notapor cosarara97 » Jue Jul 21, 2011 10:39 pm

Si, funciona :D, gracias por la ayuda!
Y ya que estamos, creo que habría que actualizar la segunda parte del tutorial aceitunas vs bombas, porque el ejemplo de codigo para las "bombas_con_movimiento" es este:
class BombaConMovimiento(Bomba):

def __init__(self, x=0, y=0):
Bomba.__init__(self, x, y)

self.circulo = pilas.fisica.Circulo(x, y, 20, restitucion=1, friccion=0)
self.imitar(self.circulo)

self._empujar()

def _empujar(self):
dx = 1
dy = 1
self.circulo.impulsar(dx * 100000, dy * 100000)

Y, claro, las bombas acaban paradas :(
cosarara97
 
Mensajes: 7
Registrado: Mié Jul 20, 2011 9:50 pm

Re: Fricción?

Notapor hugoruscitti » Vie Jul 22, 2011 3:04 am

sip... es cierto!, ahora lo voy a arreglar. mil gracias por el dato.

Saludos.
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina


Volver a Consultas, problemas o bugs.

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado