Its rather interesting, a bunch of objects whose interactions cause them to become less likely to interfere with eachother. Reminds me of some dark matter theories.
@mgilpugliese3 жыл бұрын
It would be interesting to see how large systems behave.
@davidwarford30873 жыл бұрын
would be cool if we found out that dark matter existed (pretty likely) and didn't bounce off eachother but simply slid around eachother.
@ShrubRustle3 жыл бұрын
these dots are like. cant change my velocity i have places to BE
@andrewf83663 жыл бұрын
They definitely change their velocity. The direction is changing constantly and the speed is nearly zero on the outside.
@kraai11523 жыл бұрын
an object in motion WILL stay in motion.
@alansmithee4193 жыл бұрын
@@lennytriem1942 It's what they said and they should've known that.
@oyunlarveparodiler32213 жыл бұрын
I love how this video is nowhere near famous as the other one.
@specificsetter3 жыл бұрын
probably because it says nothing specific like the other video
@revimfadli46662 жыл бұрын
The nice bug one?
@beaconblaster333 жыл бұрын
I like that couple that just gently touch each other like a love couple
@Lurkily_Esh2 жыл бұрын
It would be interesting to see a large, disruptive addition to an existing balance, like the asteroid belt one, just to see the dynamics change.
@dmitrym37573 жыл бұрын
Are there any circumstances under which this process doesn't "converge" to "collisionless" behaviour?
@PezzzasWork3 жыл бұрын
That's a good question, currently I did not find any
@dmitrym37573 жыл бұрын
@@PezzzasWork Because if there are not any, it can be considered as a very peculiar swarm intelligence algorithm based on evolutionary approach (fact check me on terminology)
@aBigBadWolf3 жыл бұрын
@@PezzzasWork I think you can easily construct systems that do not converge. If you increase the number of balls and their size without increasing the total energy then there will be a point where they always collide. The same works for 2 large balls with so little energy that they can't get into an orbit that is high enough for them to evade the other.
@aBigBadWolf3 жыл бұрын
@@dmitrym3757 It wouldn't be swarm optimisation because you always only have one solution candidate. Evolution is more suited but your population size is one so that's also not a good way of describing it. In the end, you are searching for a solution given the constraints (total energy, size of the balls, number of balls) where the next solution emerges from resolving the most recent error (collision). The cool part is that the algorithm keeps fixing local errors (through the redirection of the most recent collision) while optimising a global property of the system. This only works, if resolving local conflicts will also reduce non-local conflicts (in the limit). The same probably works in 3d or N'd spaces. In non-euclidean spaces, in spaces without balls but any other shape. Afaik, there is no analytical method of finding a solution because the many interdependencies makes it non-linear. It probably fits best into the research are on finding fixpoints of dynamical systems with multiple interdependent objects.
@The_Foreman3 жыл бұрын
@@aBigBadWolf Ah but there is energy being introduced into the system. The issue is that balls are being re-positioned to or from the orbit point without changing their angular velocity every time they crash (as I understand it) Occasionally pushing it past where it could previously reach at it's zenith. It might take much longer (Upwards of years of simulation depending on scale), but I imagine it would eventually find equilibrium short of discovering some other bug (such as an orb moving so fast that collision isn't even detected at all).
@5alpha233 жыл бұрын
Wow, mate. I'm really astonished how this worked out! I'm not a coder but I've studied Maths some time ago so I find these things extremely fascinating. What you showed is a variant of a solar system creation process. Now there's an idea for a simulation... ;) Take a number of spheres in different sizes and masses scattered out at random with a random initial velocity (depending on their mass, maybe a range) and random vector and let the gravitational fields interact with each other. You can think of some senseful way to deal with collisions. With enough spheres (100K+) I wouldn't be surprized if you get some solar systems in the end where each one has it's own rotation direction.
@aBigBadWolf3 жыл бұрын
Such a simulation would be cool. I'd guess that they would all end up rotating in the same direction around the center, though the collisions might slow down their rotational velocity with sends them crashing towards the centre. It's essentially an n-body dynamical system. I don't think it will converge to a stable fix point that is interesting.
@IlariVallivaara3 жыл бұрын
Are you sure the motion matches gravitational forces and not an harmonic oscillator? 😉
@sk567893 жыл бұрын
I looked at his code one github. This is not a gravitational potential between the balls but each ball is attracted to the center by a linear restoring force (harmonic potential)
@toneal302 жыл бұрын
Is there some sketch of a proof that this always converges to the collision-free state no matter the starting condition?
@xcreeperbombx612 жыл бұрын
"So what do you watch?" "It's complicated..."
@przeciag3 жыл бұрын
have you tried it with bigger time steps?
@0hate93 жыл бұрын
I wonder how easy it would be to get this code working extremely low-impact, for like a game saving or loading animation
@davidwarford30873 жыл бұрын
very easy. lets see all you need to do is circle circle overlap, calculate the overlap and push both back based on the vector of collision, then just gravity. Even better though. just run this code till balls no longer overlap, then just save their velocity as of the last collision, now all you need is gravity!
@notserpmale033 жыл бұрын
kzbin.info/www/bejne/pKWmpoSbnpWrq80 This video covers a similar effect to what you're asking for.
@rublie14263 жыл бұрын
Is it deterministic? Does it always go to the same system from the same initial conditions?
@mysecondaccount78873 жыл бұрын
There's no reason why it shouldn't be
@davidwarford30873 жыл бұрын
@@mysecondaccount7887 I think as long as you don't use the speed up feature in the code
@mysecondaccount78873 жыл бұрын
@@davidwarford3087 The speed up setting counts as an initial condition then
@Ruktiet2 жыл бұрын
So you found an initial condition (i.e. the state in which they all start to turn green) by which a multi-particle attraction system minimizes collisions just by means of letting the unrelaxed problem (in which they repel each other when a collision occurs) evolve through time... That's amazing, and I'm sure you can fit applications to this if it holds for other types of mechanical models
@Kaepsele3373 жыл бұрын
I'm guessing that this uses a r^2 potential? Otherwise I don't understand how this can work out. Or does the same happen in e.g. a 1/r potential?
@gigab0nus3 жыл бұрын
Hi fellow physics nerd 👋. Yes it is r^2 around the fixed center position. He published his code and this also only works in r^2
@gabrielbap13 жыл бұрын
Would you mind explaining what that means? And also what was the reasoning behind your conclusion?
@Kaepsele3373 жыл бұрын
@@gabrielbap1 Sure. My reasoning is that the circles are on stable orbits if they don't collide. This means that in every revolution around the center they stay on the same path. This only happens for very special types of potentials with larger symmetries, such as the coulomb-potential for example (1/r, like in gravity that's why the planets are on stable orbits, but modification of the 1/r potential lead to something called "perihelion precession") or the harmonic oscillator, which has an r^2 potential. That way once they are on a collision free orbit, they will stay on a collision free orbit forever and if they are not on a collision-free orbit, they will change their orbit. Thus eventually they will all luck into a collision free orbit. But that cannot be the entire story, since the orbits intersect each other. At these intersection points there can in principle be one of two particles at any given time. let's say we have two orbits that intersect each other and have different orbital periods, so particle 1 takes 1 second per revolution and particle 2 takes 1.1 seconds per revolution. Now assume that at the intersection point they miss each other by 0.4 seconds, then they will collide after four revolutions, since each time the difference shrinks by 0.1 seconds. That they can never be at the same point at the same time can basically only happen if they have the same orbital period, i.e. no matter what their orbit is it takes them all the exact same amount of time to complete a revolution (or technically the ratio has to be a rational with a large enough denominator, but that would be highly unlikely to happen by chance with that many circles). Thus if they miss each other once, they will miss each other every time. This is not the case for a 1/r potential (e.g. an earth-year is shorter than a mars year), and to my knowledge only happens in a r^2 potential.
@twrecks62793 жыл бұрын
Wow this is really cool! How do you make simulations like this?
@RAM-se2hy3 жыл бұрын
He said in another video that he made this by accident, he has a whole video dedicated to that
@dinohunter71763 жыл бұрын
It's called cool bug or so.
@U20E03 жыл бұрын
“nice bug”
@mysecondaccount78873 жыл бұрын
It's a wonder how that initial system converges into a loop at all! Every ball attracts every other ball, and they are different sizes. It's not at all obvious that there's a solution to this problem at all for such a complex system without this simulation!
@JakeLaMtn3 жыл бұрын
They don't attract eachother. They're all attracted to the middle via a 1/r^2 potential. They only interact with eachother when colliding.
@mysecondaccount78873 жыл бұрын
@@JakeLaMtn Ahh you're right. Collisions only alter the phase and position of orbits. Of course the system will converge. Wasn't really paying attention I guess
@lilapela3 жыл бұрын
What makes them eventually avoid collisions?
@ekkehard83 жыл бұрын
Once they avoid collisions one cycle, they keep moving the same way undisturbed. Notice how each one of them makes an orbit in the same amount of time no matter how far they stray from the middle
@LamanodeManolo3 жыл бұрын
That doesn't explain how/why it avoids collisions in the first place.
@camrinelliott32313 жыл бұрын
@@Darkfamiliars In another video he shared the source code, and the collision correction divides in half equally between each colliding entity regardless of radius. There is no mass simulation, in fact, the balls velocity is not changed whatsoever from the collision, just their position. This means that collisions will only make small changes to orbits, and any orbits with collisions are adjusted over time until they no longer collide.
@green05633 жыл бұрын
A friend sent this to me, I don't have a clue why.
@iridium95123 жыл бұрын
It looks like balls slide past each other rather than bounce off. It looks like process it non reversible which allows it to reach equilibrium like this. At least that's my guess
@astroceleste2922 жыл бұрын
ipnotico
@Schockmetamorphose3 жыл бұрын
now make them break when too hard hit by another objekt
@panglyphs26853 жыл бұрын
Play back speed x2
@happygimp03 жыл бұрын
Where is the source code?
@judeconnolly24783 жыл бұрын
i feel like this should be satisfying but it isn't