¡No estoy hablando de la cuadrícula de fondo aquí, estoy hablando de las partículas de remolino que circulan por los Pozos de gravedad! Siempre me ha gustado el efecto y decidí que sería un experimento divertido replicarlo, sé que GW usa la ley de Hooke por todas partes, pero no creo que el efecto de Partícula a Pozo se haga usando resortes, parece una función de distancia al cuadrado.
Aquí hay un video que demuestra el efecto: http://www.youtube.com/watch?v=YgJe0YI18Fg
Puedo implementar un efecto de resorte o gravedad en algunas partículas muy bien, eso es fácil. Pero parece que no puedo lograr que el efecto se parezca al efecto de GW. Cuando veo el efecto en el juego, parece que las partículas se emiten en racimos desde el Pozo mismo, giran en espiral alrededor del centro del pozo, y eventualmente se arrojan hacia afuera, caen hacia el pozo y repiten.
¿Cómo haría que las partículas giraran en espiral hacia afuera cuando se generan? ¿Cómo mantendría los racimos de partículas juntos cuando estuviese cerca del Pozo y me separara cuando se arrojen hacia afuera? ¿Cómo mantendría las partículas tan fuertemente unidas al Pozo?
EDITAR:
http://www.youtube.com/watch?v=1eEPl8kOXN8 <- Video
https://dl.dropbox.com/u/49283213/gw.gif <- GIF de la ruta de partículas
Desactivé la aleatorización dentro de GW para que el efecto de partículas sea más fácil de ver, aquí hay un video de un minuto donde puedes ver un drenaje azul-verde enviando su montón de partículas. Las partículas rojas son de las explosiones que normalmente aparecen en todo el lugar. Algunas observaciones que hice del video:
- Las partículas se emiten desde el centro (o cerca del centro) del drenaje
- Todas las partículas están siendo forzadas en un movimiento en el sentido de las agujas del reloj alrededor del centro, por lo que se está aplicando algún tipo de movimiento tangencial, puede verlo fácilmente cuando las partículas de explosión rojas se acercan al drenaje.
fuente
Me parece que lo que se dibuja son segmentos, no puntos. Así que supongo que el pozo expulsa un punto del círculo, con una velocidad alta y un vector de velocidad tangente al círculo. Y se lanza otro punto justo después, que está vinculado al primero para dibujar un segmento. Entonces creo que las leyes de la física (Newton) se aplican con una fuerte gravedad, lo que explica la disminución de la velocidad. Así que supongo que tienes que integrarte a tiempo para hacer esto.
con: C el centro del pozo, R su radio.
P1, el punto que estamos viendo es que
K es una constante 'grande' que usted elige con algunas pruebas (masa del pozo).
vel0 es el vector de velocidad inicial, tangencial al círculo.
vel0 debe ser alto (hacer pruebas también)
pos0 la posición inicial, en el círculo, en el tiempo t0.
: d la distancia entre C y P1
: Vn el vector normado C P1
Init: La forma más fácil de generar un nuevo punto es elegir un ángulo A, luego:
actualización: para cada iteración tienes que calcular:
No es necesario calcular la velocidad.
tal vez el juego use algún tipo de fricción, entonces la ecuación sería diferente.
observe que usa varias veces cos (A) y sin (A), así que guárdelos.
así que si genera muchos puntos vinculados de dos en dos y al mismo tiempo cambia el ángulo inicial A para que la fuente del segmento gire alrededor del pozo, supongo que se acercará bastante a la solución.
Editar: creo que deberías probar esto sin fricción primero, podría estar bien. La fricción es una fuerza que es proporcional a la velocidad, pero que tiene una dirección inversa del vector. entonces la ecuación se convierte en:
con fuerza de fricción = - constante * Vel. no sé cómo integrarlo, así que iría por una integración paso a paso:
Habrá un problema de estabilidad numérica, pero dado que el tiempo de vida de las partículas es corto, esto no debería ser un problema.
fuente
Finalmente lo hice, una réplica satisfactoria del comportamiento de las partículas.
http://www.openprocessing.org/sketch/73624
El efecto ES un efecto de gravedad estándar con un giro, cuando las partículas se encuentran dentro de un cierto rango, se aplica una fuerza en la tangente normal. Esto hace que las partículas "orbiten" de una manera bastante inestable. Las partículas en el bosquejo de procesamiento no se queman, pero en la cúspide de su órbita es cuando se quemarían y se liberaría otro grupo. Gracias a todos por su ayuda, incluso si realmente no me proporcionó ninguna información nueva, es muy apreciado que pusieran el tiempo y el esfuerzo que hicieron en sus respuestas. ¡Gracias de nuevo!
fuente