Particle Physics (Composition by dust)

Author: dust
License: MIT
Date: 2011.02.04
Compatibility: 10.6
Categories:
Required plugins:
(none)

update... added terminal velocities parameter and simplified the code down to a first order linear solve. wanted to clean things and add interactions and stuff. enjoy.

this is the euler richardson method for newtons law of motion. i figured out how to do this by reading an old true basic version of this book.

http://physics.clarku.edu/courses/125/gtcdraft/chap5.pdf

the euler richards method is more accurate than the euler cromer or euler methods when plotting a 1d simulation against some real data in respects to time + ∆t.

so i decided i would implement it for all the dimensions inside an open cl kernel.

this patch uses a mesh to initialize its start positions so with the right settings this could be used for a model explosion with time freeze type of effect if you set lets say interpolate delta time down to zero then trackball around or something? im sure there are other cool things you could do with it. more orbiting n-bidy types of things to be added soon.

right now there are some basic published inputs.

• min and max for random init of xyz velocity • ∆t or delta time steps for xyz • constant C or drag force • gravity constants for xyz • stick to boundary

PreviewAttachmentSize
NewtonK.zip27.72 KB
ragdoll.zip5.49 MB
linearEuler.zip67.29 KB

M.Oostrik's picture
Re: Particle Physics (Composition by dust)

Hi Dust, everything good?

It would be nice if the particles keep falling if you turn the sphere!

gtoledo3's picture
Re: Particle Physics (Composition by dust)

There's a way to get trackball coords w/ kineme inverse rotation... so that could probably be done and be pretty sweet.

dust's picture
Re: Particle Physics (Composition by dust)

yeah that was one of my initial thoughts ties, i got the bounding sphere idea from your latest boids. i really just wanted to keep the particles from flying off the screen at first. but think it would be really cool if they would tumble around as you track. i got to put some opposite forces when they hit the boundary like your doing with the boids.

i got to think about that for a bit as we are not really at that or even this stage in our class yet but its something defiantly i will implement soon. to keep it real world i would have to make some sort of bouncing property and inverse the drag for the opposite direction. i just got to do some things like calculate the impact magnitude for each particle then apply the opposite force.

i think the hard part right now is if the particles stick the boundaries then i tumble it will change the direction of the gravity so i would have to track which way is up and down. a lot to think about.

dust's picture
Re: Particle Physics (Composition by dust)

im not sure actually how the inverse track ball works will have to look at a example comp. if it reports the trackballs rotations just inverse then yeah that would be supper useful. got to use the inverse square law with euler for the next chapter. i do have cpu side versions or euler plugins as well. i do it that way first so i know i'm getting the correct data.

dust's picture
Re: Particle Physics (Composition by dust)

good idea with the inverse trackball. i made a slight modification so the particles bounce when the hit the boundary then use the inverse x rotation to find out if the sphere is upside in which case i reverse the gravity so the particles tumble. not sure if this what ties was thinking or not. here is just a a logic gate when trackball is upside down reverse gravity type of logic. although using some clamped inverse rotation values for input to gravity xyz produces some interesting effects, the same with gravity of zero although not real world like just gravity zero. next i'm going to add some particle collisions. this one is a bit more fun.

PreviewAttachmentSize
NewtonKBounce 2.zip30.39 KB

dust's picture
Re: Particle Cymatics (Composition by dust)

cymatics simulation.

PreviewAttachmentSize
hirestrackball 2.zip552.48 KB

dust's picture
Re:ragdoll

just updated this composition with a mesh filter rag doll effect. interesting effect when you set the original mesh with the particle mesh components you get a rag doll type of effect. sort of turns your model into cloth. here is a video snippet. i added some z gravity so the head smashes into the boundary head on instead of falling straight down.

franz's picture
Re:ragdoll

nice effect, but not "ragdoll"

fyi, this is a ragdoll physics: http://www.youtube.com/watch?v=ohNqCb--aSs

dust's picture
Re: Particle Collisions

hmm, so a rag doll has to have colliders and a skeleton ? i should change the name of my video then. i thought a ragdoll was when a guy gets shot in a video game and he falls dead. i did manage to get colliders working hopefully someday the skeleton type of stuff too.

(edit)

simplified and added position updates to the collisions and added mouse velocities and inertia. so now the particles will move with the collision object like.

PreviewAttachmentSize
collider.zip66.08 KB
interactionz.zip71.91 KB

dust's picture
Re: Particle Collisions

just updated and simplified this comp to a linear solve added interactions and terminal velocity etc... some things where acting a bit weird plus the kernel was getting a bit out of control so i have abandoned the euler richardson for the moment.