Тёмный

Realtime 2D Gravity Simulation 

Brendan Galea
Подписаться 25 тыс.
Просмотров 402 тыс.
50% 1

This has been a fun side project I've wanted to work on for a while. I had originally just planned on doing a GPU based particle fluid, but I got sidetracked by the nice looking results of the gravity simulation.
(Sorry about all the compression artifacts, kind of impossible to avoid when uploading something like this to youtube)
It is still very much a work in progress. This uses a grid based approach to simulating gravity for extremly high particle counts. All calculations are performed exclusively on the GPU. Multiple levels of detail are used (I settled on 4), to get fairly accurate approximations for nearby particles, and rough approximations for distant particles.
There are quite a few known issues. Most notable would be a pretty significant dampening effect, since intra-pixel particle forces are very underestimated. Additionally, sometimes large collections of particles moving in unison seem to hit invisible walls. I suspect this might have to do with down-sampling always using accumulating the same pixels.
I wasn't following any particular resource for this. One of the more experimental aspects of my implementation was to apply a horizontal + vertical blur to the accumulated mass fields to "spread" out the mass information so that grid cells only need to sample their local gradient, rather than sampling every other grid cell within the 11 by 11 kernel radius. I definitely need to do a bit more research on this to see if this is a method that anyone else is using, as well as to measure the approximation error this causes. Perhaps by choosing better kernel weights the error may be possible to minimize.
------------------------------ MUSIC ------------------------------
Midsommar by Scott Buckley / scottbuckley
Celestial by Scott Buckley / scottbuckley
Luminance by Scott Buckley / scottbuckley
Creative Commons - Attribution 3.0 Unported - CC BY 3.0
Track: Adventures - CRASTEL [Audio Library Release]
Music provided by Audio Library Plus
Watch: • Adventures - CRASTEL ...
Free Download / Stream: alplus.io/adventures

Опубликовано:

 

31 авг 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 932   
@dialog_box
@dialog_box 8 месяцев назад
aw man, it's unfortunate how much the youtube compression seems to dislike these kinds of visuals. i bet it's absolutely gorgeous when viewed directly in-engine. still incredibly cool! i always love projects like these
@monx
@monx 4 месяца назад
it seems there might have been some issue in the export format (it looks interlaced). usually the HD transcode looks pretty good.
@shavoshaco2402
@shavoshaco2402 3 месяца назад
Probably cause its a very fast moving color gradient, so it has trouble comoressing it accurately due to being fast moving increasing the amount of pixels it has to change, and a color gradient which has a range of colors in which they change slowly making a large range of colors to compress too. What I mean to say its inaccurate due to the nsture of the video I guess, ir maybe its just a compression algorithm that favors performance over looks
@rocheuro
@rocheuro 3 месяца назад
upload 4k60fps yt compression should not be the issue than.
@Polygarden
@Polygarden Год назад
It's fascinating how they form the exact same shapes as our galaxies... it's the stuff you would normally do in a super computer. Beautiful work!
@nullifier_
@nullifier_ Год назад
I wouldn't say exact shape of actual galaxies, but it's fascinating to see the simulation nonetheless
@chocoatemilk9227
@chocoatemilk9227 Год назад
@@nullifier_ from a gravitational standpoint i would say it really behaves as a galaxy like at 11:15
@ldvrrn8269
@ldvrrn8269 Год назад
I could agree more
@EccentricTuber
@EccentricTuber Год назад
@@chocoatemilk9227 Well, the thing with real galaxies, is that at a certain point the acceleration due to gravity starts dropping off at 1/r instead of 1/r^2. This means that gravity doesn't appear to weaken (in galaxies) as much as it should, making galaxies more stable and spin faster at outer orbits. It's actually not understood why this happens, and is one of the reasons why physicists conjecture dark matter or modifications to gravity! I'd recommend reading about Modified Newtonian Dynamics (MOND), because it's super fascinating.
@skinnymayo
@skinnymayo Год назад
I agree
@ibrozdemir
@ibrozdemir 2 года назад
feels so natural, i felt like a timeless being, wathcing universe in fastforward.. good job optimising it, its a hard work
@mrgoodpeople
@mrgoodpeople 2 года назад
It's 2D. 2D it's not natural =). Don't exist super flat object in the Universe. Galaxy thickness is 5-10% of its diameter.
@pilchu7978
@pilchu7978 Год назад
But still when you look from the side there can be illusion of 2D, some people still think the planets are discs not spheres so for visualization it is an amazing simulation!
@tiagogamer2540
@tiagogamer2540 Год назад
@@mrgoodpeople Yes, but vision is pretty much 2D (The depth approx the brain uses does not count for an extra D in my book. Motive: 3D vision would see inside closed boxes, we cannot. If disagreement enumerate whys.)
@ege8240
@ege8240 Год назад
@@mrgoodpeople a timeless being would have organic body, that means their vision would be diffrent than anything we can imagine
@quistador7
@quistador7 Год назад
This really helped me make sense of elliptical galaxies. The smaller ones with structure are just so cool and my brain had a hard time understanding why a white blob is way bigger.
@anykeyh
@anykeyh Год назад
If I may, you should instead use integral sum (I) of the weight of all particles at any given points into a Float32 buffer, then you can compute easily the total sum of any given area (x1, y1, x2, y2) which equals to I(x2, y2) - I(x1, y1). Less memory usage, and faster resolution, no "absolute borders" as described in your video. Still an approximation, but I think you would get better results and performance.
@BrendanGalea
@BrendanGalea Год назад
Great tip thanks!! I’ll give that a shot when I come back to this project
@_ramar
@_ramar Год назад
i wonder how large simulations with noticeable floating point precision would look, that'd be super cool to look into how weird it'd be, i wonder if it'd look more structured or chaotic
@slimeball3209
@slimeball3209 Год назад
@@_ramar look at "far lands" in minecraft, or border box of universe in space engine. you can't really imagine this, it's too large to be noticeable in any way for 32 or 64 bit numbers but for smaller bits is like graphics in old playstation, like vertex of model is jumping from voxel to voxel, and all mesh of the model is jittering.
@WeShallBeFreeAtLast
@WeShallBeFreeAtLast Год назад
Replying just so I can save a reference to this comment. Been working on a small project as of late and I'm looking for any methods to increase the size of the simulation I can run.
@dertyp3463
@dertyp3463 8 месяцев назад
so she lied, when she said "size doesn't matter"? :(
@masela01
@masela01 Год назад
I love the way they merge into bigger objects in a way
@memor22
@memor22 8 месяцев назад
Yep thats how… our world works
@masela01
@masela01 8 месяцев назад
@@memor22 yeah and it's pretty cool how this emulates that
@openroomxyz
@openroomxyz 2 года назад
I must admit that this did even more inspire me to learn Vulkan and related things.
@kanerogers7717
@kanerogers7717 2 года назад
This looks absolutely amazing, Brendan!
@BrendanGalea
@BrendanGalea 2 года назад
Thank you!
@DoubtX
@DoubtX Год назад
It looked like a spiral galaxy wanted to form at a few points but it never lasted. I don't know why spiral galaxies form in the first place, but it would be really cool to see it occur in a simulation.
@BrendanGalea
@BrendanGalea Год назад
Ya I think one problem to this approach is due to the grid and how I’m calculating forces, energy is lost over time. So the spirals are losing energy too quickly and dissipate.
@almicc
@almicc Год назад
if you want the scientific reasoning, it's that galaxies contain much more mass than the sum of the mass that's visible, allowing larger and more complex structures to form despite it not being possible with only what's visible. look up "dark matter"
@DFPercush
@DFPercush Год назад
I think it has to do with the fact that the orbits of stars around the galactic center isn't perfectly circular. There's some eccentricity to the orbit. So when a star is at its apoapsis, the farthest point from the center, it's moving slower. So you get clumps of stars that slow down and get closer together, and those are the arms. Something like that anyway.
@tonywells6990
@tonywells6990 Год назад
@@almicc You can say that the particles in this simulation naturally act like dark matter already since they only interact through gravitation.
@20ZZ20
@20ZZ20 Год назад
@@tonywells6990 in which case spiral galaxies won't form, as dark matter forms halos rather than the visible spiral galaxies we see. which looks more like what can be seen at the end of the formation, or a massive eliptical galaxy at least. more than just gravity would be needed to simulate actual galaxy formations. in this simulation it is like the entire universe eventually devolves into one huge blob. that might happen if the universe were fixed like this simulation, but in reality the expansion of the universe would have a factor on large scales. something that i doubt could be easily simulated at home! this would allow separate clusters to form perhaps. some kind of physical interaction between particles rather than just gravity would also be needed for spiral galaxies to form in a realistic way.
@hubismal
@hubismal 2 года назад
Janice, please cancel my 3:00 with the President of the United States... brendan galea just uploaded
@mamadshonazaramonov3010
@mamadshonazaramonov3010 Год назад
I am almost feeling the gravitational waves from those massive clumps hitting each other! So cool!
@bottlekruiser
@bottlekruiser 2 года назад
Gotta admit, i watched most of the vid with the corner of my eye, like i usually do... Until the shot at 7:30ish just *stunned* me. Amazingly beautiful. There's just that **something** captivating in it.
@DescendDab
@DescendDab 9 месяцев назад
Thanks so much for the timestamp, this shot is incredible! Sure, it might not be 100% realistic (which probably is impossible at the moment anyways) but it felt like galaxies forming due to gravity. Love it!
@bottlekruiser
@bottlekruiser 9 месяцев назад
>which is probably impossible at the moment anyway Depending on how strict your definition of "impossible" is, it's either never possible in simulation, or already routinely occasionally done in high end astrophysics sims. You're welcome! :D
@storm14k
@storm14k Год назад
Whenever I hear about the big physics simulations done on matter I think about doing something like this myself just to explore the difficulties involved with scale. This is very neat! Thank you.
@brandonver-non7573
@brandonver-non7573 8 месяцев назад
This was mathematically interesting, visually stunning, and one heck of a side project. Well done!
@kodirovsshik
@kodirovsshik 2 года назад
I don't know when and how I found this channel, but what I know for sure is that I really like it
@embergamedev
@embergamedev Год назад
This was a wild watch. So beautiful and I can't imagine the satisfaction of being able to say you built it yourself. I love coding anything with simulations or large amounts of data and visualizing it. This was fun, thanks for sharing!
@sammchenry738
@sammchenry738 Год назад
Best video explaining how spiral galaxies form, and its not even about that. Amazing work!
@ldvrrn8269
@ldvrrn8269 Год назад
It’s beautiful to watch and it makes me feel very timeless like a timeless being witnessing something we are all supposed to see.
@ChiaraWatson
@ChiaraWatson Год назад
Please make a couple hour long relaxing video with this. I totally can myself going to sleep with it. So mesmerizing.
@felipedorosario4793
@felipedorosario4793 Год назад
This is absolutely beautiful to watch! Outstanding work!!
@DescendDab
@DescendDab 9 месяцев назад
You, sir, are amazing! I always love stuff like this. I wish you nothing but the best
@christianalejandro4963
@christianalejandro4963 2 года назад
Great work! Beautiful and inspiring! Congrats!
@BrendanGalea
@BrendanGalea 2 года назад
Thank you! Cheers!
@tunneloflight
@tunneloflight Год назад
By using a gridded version of space, you will always create artifacts. Your pseudo-random jitter is an interesting approach to overcoming this inherent limitation.
@MrKohlenstoff
@MrKohlenstoff 3 месяца назад
Really stunning result, amazing work! I've superficially experimented with similar things in the past and thought about using grids to approximate gravitational effects and get around the O(n²) problem - but never actually fully implemented it. But you did a damn fine job and the results are pretty amazing. :)
@drsjamesserra
@drsjamesserra 4 месяца назад
Man I love it, such a great way to visualize!
@_general_error
@_general_error 2 года назад
You could use a quadtree (or octree if you want to go 3-dimensional), which may increase precision and speed though hurt implementation simplicity. Not yet sure, what clustering method would work best, especially on GPU. Another optimization would be to use a different time step for each particle and simply not update each particle at each step. I am just looking into similar O(N log N) or better N-body simulations, but not quite on this level, only star system scale simulations, where you have up to a million small bodies and a handful of large bodies.
@BrendanGalea
@BrendanGalea 2 года назад
Different time step per particle: That’s an interesting idea that I didn’t consider! I’ll keep that in mind when I come back to this. I also should probably do some performance testing to find out which steps are the bottle neck.
@avatharbehemoth
@avatharbehemoth 2 года назад
@@BrendanGalea it could work out great, or turn into something really strange. Probably doing the lower level of detail comparison for all grids and then only checking if a particle is likely to go to another gridarea, and then doing the individual particles in groups/ timesteps if they are likely to leave the gridarea?
@PuzzledMonkey
@PuzzledMonkey Год назад
A quadtree or Oct tree is a key component of the fast multiple method. Edit: fast multiPOLE method
@fishercawkey
@fishercawkey Год назад
@@PuzzledMonkey Did you mean "fast *multipole* method?" Just asking because I've been reading about fluid dynamics simulations and FMM has come up a number of times.
@PuzzledMonkey
@PuzzledMonkey Год назад
@@fishercawkey yes, my autocorrect isn't numerical analysis literate.
@GamingDemiurge
@GamingDemiurge Год назад
Absolutely fantastic. Bravo.
@perbojsen3433
@perbojsen3433 4 месяца назад
Very nice work. The simulations are very beautiful and even with the approximations you're using you can see things that look like galaxies and how galaxy clusters and mergers form and occur.
@Inderastein
@Inderastein Год назад
I love how the more particles you add, the more it's outer rings gets pulled faster into the center as if the center has an absolutely strong gravity despite it being only a group of particles ngl it feels so accurate
@briandel8446
@briandel8446 2 года назад
this was an amazing video! you just inspired my to work on a new project and test expiriment with something similair.
@vsevolodnedora7779
@vsevolodnedora7779 Год назад
Beautiful work. Very inspiring. Coming from the field of numerical relativity and finite volume hydrodynamics, I recommend using adaptive mesh refinement, i.e., the resolution of a given patch of space depends on the number of particles there.
@BrendanGalea
@BrendanGalea Год назад
Thanks for the tip! I'll definitely need to look into that
@xandr1922
@xandr1922 Год назад
Thank you for inspiring me. I would love to see another project like this one from your channel
@ddopson
@ddopson 8 месяцев назад
I really enjoyed your description of the algorithms. It reminds me a little bit of K-Means clustering, which likes to be O(N^2) for approximately the same reasons, and is a problem that I've spent a fair bit of time working on at scale. Hope you get a chance to come back to these algorithms and push them even further. Your description of the work is excellent.
@dr_j0nes
@dr_j0nes 2 года назад
OMG this is just stunning!!!!!!!
@bennomomsen5554
@bennomomsen5554 Год назад
You have a good understanding of the problems you are facing here for massive particle based simulations. Getting up to speed with methods developed in the last 50 years in this area would benefit you a lot. I'd recommend a book like Hockney/Eastwood - Computer Simulations using Particles. Also you can always check GPU implemented particle simulators like HOOMD - I guess you could actually do the same simulation with that open-source software and it'd be interesting to see the differences.
@BrendanGalea
@BrendanGalea Год назад
Looks like a good read, thanks for the suggestion! Kind of expensive book though 😅 but am considering getting it
@matthewzimmers1097
@matthewzimmers1097 Год назад
@@BrendanGalea trust the guy
@lordpengz16
@lordpengz16 Год назад
@@BrendanGalea Hello, I’d like to ask what software you used to simulate this and to program it. And what is Vulkan for exactly? Thanks in advance
@MacElMasMancoDeTodos
@MacElMasMancoDeTodos Год назад
This is simply amazing. The simplest way to show how the complex Universe works. As explaining to the orbit problem, an orbit is the horizontal momentum needed to fall to the central gravity point passing always above the object's horizon, making a circle-like trajectory around it. If a particle weights, as example, 1, even a gravity center of 1000 is still way to less to make an stable easy orbit. If you make a larger obj, it should work better, but the orbiter will end ripping particles apart from the center. You could fix it with larger (and heavier) particles, both as center or to attach one to another and make big compact stuff. Great job anyway and please develop this further, it's incredible :D
@NateJGardner
@NateJGardner Год назад
This is a really cool method! I like your idea about combining it with direct simulation. It'd make rendering beautiful space scenes with clouds of small particles very cool. Watching these scenes you rendered I'm already imagining them in the background of a 2D game, and how incredible that would be (especially with slightly different seeds every time). This is my favorite video I've watched this week. 👍
@BrendanGalea
@BrendanGalea Год назад
Wow thank you!! The cool thing too is that I should be able to make it interactive as well!!
@danielquedenfeld2052
@danielquedenfeld2052 Год назад
You could probably get some emergent behavior if you added an additional force, like EM interactions, give each particle a random starting charge I picked EM because I feel like it’s the most applicable to this simulation, and it also counterbalances gravity with repulsive effects, plus the grid system would work really well for summing localized charges I think
@krccmsitp2884
@krccmsitp2884 Год назад
What does EM stand for?
@danielquedenfeld2052
@danielquedenfeld2052 Год назад
@@krccmsitp2884 electromagnetism So particles would attract repel based on their charges
@igorastral4816
@igorastral4816 Год назад
NASA, are you watching this??
@locallyringedspace3190
@locallyringedspace3190 8 месяцев назад
5 minutues in, just wanted to say this is a really good video. I like the presentation and the format. Thank you.
@jamesking2439
@jamesking2439 Год назад
Using the blur and gradient is genius and the result is beautiful!
@DavidStruveDesigns
@DavidStruveDesigns Год назад
What I find the most amazing about this entire simulation - other than absolutely _everything_ about it lol - is the fact that, even though this simulation is happening on a completely 2d flat plane (at least I _think_ it is??), it somehow manages to _look_ three dimensional. Kind of lends creedence to the theory that our entire Universe _also_ exists on a flat plane, doesn't it? :) Amazing work I have to say!!
@BrendanGalea
@BrendanGalea Год назад
Thanks! Ya I was surprised how nice the 2D version ended up looking. I still want to give a 3D version a shot though!
@gamertardguardian1299
@gamertardguardian1299 Год назад
Maybe we are just one big petri dish, or, a not so big petri dish for the aliens who are messing with their particles for science lol
@lukewellcash
@lukewellcash Год назад
Instead of summing just the mass in each grid cell, average the position as well and store it in a 3 float texture. Expanding this in the same way done in this video would give a method that should be 100% accurate and one that grows in complexity at the same rate as the one you displayed. The only draw back is that it would be a bit slower (just because it is having to do more). Very nice project!! Well done.
@BrendanGalea
@BrendanGalea Год назад
Great suggestion, definitely going to attempt this for version 2!!
@busy_beaver
@busy_beaver Год назад
This is a good improvement that I also thought of. But it won't be 100% accurate.
@dhowitzer
@dhowitzer 8 месяцев назад
@@busy_beaver I thought the same thing, I agree that it may not be perfect. I remember learning in early physics that the earth's gravity can be "accurately" modeled as a point mass at the center of the earth but to the extent there are variances like mountains then the field 'fluctuates' a bit. i wonder how close of an approximation it would be at a distance. you'd certainly account for all the mass that way.
@andrewferguson6901
@andrewferguson6901 8 месяцев назад
​@busy_beaver it's a digital system. That must be the case. It can only be accurate to an arbitrarily fine precision
@Sporkabyte
@Sporkabyte 7 месяцев назад
​@@dhowitzerThis is true if you take the center to be the average position of all of the point masses. If you use the center of mass instead, then it's not an approximation anymore, it's just true
@WalterSamuels
@WalterSamuels 8 месяцев назад
Very clever approaches to optimization!
@jimmyjohn5970
@jimmyjohn5970 Год назад
Absolutely beautiful, thank you for this.
@leroywalton4348
@leroywalton4348 2 года назад
technically jaw dropping !
@WaveofThought
@WaveofThought Год назад
Cool simulation. I tried to do something similar once, albeit with fewer particles, and I came across something called the Barnes-Hut algorithm for n-body simulations. This seems similar to your LoD approach but might be more robust, although I don't know if you could still make effective use of the GPU. Anyway, something to look into if you ever return to this project. Cheers!
@douglasnordwall3482
@douglasnordwall3482 4 месяца назад
Stumbled upon this, very nice done! So "simple" but yet so beautiful :'] Reminds me of the universe
@WesleiMB
@WesleiMB Год назад
this is the coolest thing I have saw today !
@jojodi
@jojodi 2 года назад
Beautiful results and explanation :) The earlier suggestion to explore trees is a well-known approach called Barnes-Hut trees. Have you tried this? I have written simulations like this several times but have always been interested by the idea of simulating gravitational bodies without any particles, just as continuous mass and velocity on a grid. Haven't derived the equations yet though.
@BrendanGalea
@BrendanGalea 2 года назад
Thank you!! Some viewers provided some great articles on that topic (for example observablehq.com/@rreusser/2d-n-body-gravity-with-poissons-equation?collection=@rreusser/writeups) but I've never tried something like that myself yet. I've some past experience working with cpu-based particle fluid solvers, and originally when I started on this that was more the direction I was going to try. But then I got side tracked a bit by this idea for gravity. The no particle method you mention kind of reminds me of something like Stam - stable fluids: d2f99xq7vri1nk.cloudfront.net/legacy_app_files/pdf/ns.pdf That method probably could be extended with a multi-LOD approach to do a particle-less gravity simulation. That sounds like it would be something really interesting :)
@user-du9ch3tn2v
@user-du9ch3tn2v 2 года назад
I don't know a thing but what if you view this as a cheap algorithm and us the traditional or an other exact method for calculating check steps every minute or so. This could help to reduce errors if you use this guide data to reduce the errors in your simulation. And also thank you for this amazing videos. The showcase in this was like a scene from interstellar:]
@BrendanGalea
@BrendanGalea 2 года назад
Glad you like it! Ya that’s pretty similar to an idea I had. You could do a more accurate simulation offline and use it to train this cheaper algorithm by optimizing the kernel weights and some other features!
@lilcaps
@lilcaps 2 месяца назад
I started work on a space exploration game and this is almost exactly what I have been looking for, thanks for making this
@BrendanGalea
@BrendanGalea 2 месяца назад
Oh cool! Best of luck. Will it be 2D or 3D?
@strangeanimations2518
@strangeanimations2518 8 месяцев назад
This is the coolest thing I've ever seen, I'm blown away wow
@_caracalla_
@_caracalla_ Год назад
that "expanding" particles demo was awesome. great work! also can i ask how much time you have on programming?
@BrendanGalea
@BrendanGalea Год назад
Thanks, and about 15 years now!
@kittinanpakboon8129
@kittinanpakboon8129 8 месяцев назад
Hmm thanks for the info! Might get to this level in 10 years alot less than i thought.
@MartinMizner
@MartinMizner Год назад
Nice project. I tried to simulate 2D gravity in Python, but it was inefficient and maximum was 200 particles before the frame rate dropped under 5 fps. I also tried to implement particle joining so they would create planets and stars. Good to know I wasn't the only one to have the same troubles.
@BrendanGalea
@BrendanGalea Год назад
Particle joining is a really cool idea! I've run into similar issues when I've done particle simulations in the past. Could never get enough particles before performance became an issue. One of the reasons I ended up learning c++ and vulkan, because it doesn't really get faster than that. But it can be a bit of a pain to program...
@matthewboire6843
@matthewboire6843 4 месяца назад
It’s so cool that this is even possible, I love it
@TheBrocktonBlockbust
@TheBrocktonBlockbust 9 месяцев назад
I'm starting to get into these topics and particle simulations. Thank you
@suncrafterspielt9479
@suncrafterspielt9479 2 года назад
What about using kd trees or other tree structures to more efficiently process particle to particle interaction?
@BrendanGalea
@BrendanGalea 2 года назад
Ya I think that would work well with the split simulation approach I mention at the end. Use a kd tree for efficient particle to particle interactions, and then for the million small particles avoid neighbourhood lookup completely by using this "splattering" technique.
@DaminGamerMC
@DaminGamerMC 2 года назад
youtube decompressi kills it. Would you consider uploding the code or executable for us to look a this and hiow you did it?
@dr_j0nes
@dr_j0nes 2 года назад
Source code would be amazing 😍
@BrendanGalea
@BrendanGalea 2 года назад
ya, it really does unfortunately :( The code is a bit of a mess right now, so I don't really want to share it yet. I'm going to be cleaning it up and putting it in the tutorial series over the course of the next couple months. The raw/messy code I'm thinking of sharing as a possible patreon bonus if I end up making one of those.
@Sam-nt8nk
@Sam-nt8nk 2 года назад
@@BrendanGalea I have never subscribed to a Patreon before, but if you made one, it would be the first.
@mathgeekification
@mathgeekification 11 месяцев назад
The formation of stars and galaxies! Excellent work!
@alexn3574
@alexn3574 4 месяца назад
This was amazing. If you ever wanted to get an up close view of how a black hole/ Galaxy works this is your Video
@loukitmyname
@loukitmyname 2 года назад
Hi. Can you do a tutorial on this? Are you using compute shaders for the simulation computation?
@BrendanGalea
@BrendanGalea 2 года назад
technically I should be, theres a couple steps that would benefit from using compute shaders, but I've done everything here just using rasterization pipelines even though some stages are unnecessary and just add overhead. The tutorial series will cover all the techniques required for this eventually, but trying to do a full tutorial on everything here at this point would be like 4 hours long
@aSpyIntheHaus
@aSpyIntheHaus 2 года назад
Wow. this is a tremendous effort. I can see why astrophysicists really want dark matter and dark energy to be a thing. That rotating model coalesces way to easily into a rather homogeneous disc doesn't it?
@BrendanGalea
@BrendanGalea 2 года назад
Haha ya I can start to see why astrophysics is so difficult! It would be interesting to see how the simulation would change if more interaction types are added such as dark matter!
@DavidStruveDesigns
@DavidStruveDesigns Год назад
Not only that, but a previous theory that "the black hole at the center is what causes the rotation of a galaxy and the patterns of said galaxy" just doesn't work - not only because the actual mass of a black hole, even a supermassive one, actually only makes up a tiny fraction of the total mass of a galaxy - so there's not enough mass or gravitational force at the center to have _that_ much influence over the direction or speed of a galaxy, nor how a galaxy looks, but _also_ because it was discovered in many galaxies - including our own - the black hole at the center is actually rotating _in the opposite direction_ to the rest of the galaxy! _AND_ it can also be rotating along a different axial tilt to the rest of the galaxy! So something else is causing galaxies to rotate, and cause the patterns we see within galaxies as well as the changes to those patterns over time (like the arms of our own, or the more uniform disk shape of older galaxies). And that's not even including smaller halo galaxies that orbit their larger cousins. So they came up with a halo of dark matter surrounding every galaxy that keeps it rotating in a certain direction, keeps the mass within contained instead of having the outer mass launch away from the galaxy into the cosmic voids between, and influences the halo galaxies behaviour and the appearance of galaxies in general.
@DavidStruveDesigns
@DavidStruveDesigns Год назад
Although, _your_ simulation _seems_ to suggest the combined gravitational forces created by the combined mass being simulated actually _is_ enough to replicate the behaviours we see of real galaxies. It would be quite interesting to see what would happen if you could somehow also add a simulation of a black hole in the center of the largest mass - but rotating in the opposite direction to the rest of the mass in the simulation.
@aSpyIntheHaus
@aSpyIntheHaus Год назад
@@DavidStruveDesigns Any of those centralised areas where you can see the bulk of masses accumulating in points can be considered analogous to a black hole already. As in the gravitational effect is the same however without a horizon or accretion effects. That said though it would still be cool to see, especially things like relativistic jets that would wobble as the black hole builds in mass
@aSpyIntheHaus
@aSpyIntheHaus 2 месяца назад
I came to post a comment only to see that I have already commented what I wanted to say. ☺️
@krikusZ80
@krikusZ80 8 месяцев назад
Looks like sort of Mean Field Approximaton. Great work, btw🎉
@swxxxb6301
@swxxxb6301 Год назад
amazing work. really good visualisation
@mikhailskylark8417
@mikhailskylark8417 Год назад
Bro just calculate the overall system's center of mass (which should stay at the same point if I'm correct) and apply force to your particles.
@BrendanGalea
@BrendanGalea Год назад
calculating the center of mass for each grid cell and taking that into account should improve things. But if I do it for the whole system that would be the equivalent of just using a 1x1 grid
@astria4157
@astria4157 2 года назад
This is amazing. It reminds me of a program from a small developer that I really enjoy. I don't know anything about coding but you might find some inspiration from his work. World really be cool you could get stable orbits going and have objects collide and become larger objects. Here is the other developer: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2ksVjpxY5mI.html
@BrendanGalea
@BrendanGalea 2 года назад
Woah that’s pretty cool, thanks for sharing!
@AlanZucconi
@AlanZucconi Год назад
Thank you Brendan, this is really cool! 🌌 It's a shame RU-vid's compression is being so unforgiving! Perhaps you could upload an 8K version of the video slowed down? I'd love to see the simulation in its full glory! Another thing which might help, is that instead of using a fixed grid, you could perhaps rely on an octree? This way you get more detail where is needed!
@justaplayermsk
@justaplayermsk 3 месяца назад
can't wait to watch 3D version of this P.S.: i absolutely stunned by this, insane work!
@nyx1284
@nyx1284 2 года назад
6:04 he said it
@BrendanGalea
@BrendanGalea 2 года назад
😂
@EvanG529
@EvanG529 Год назад
Now do it in 3D
@mwm48
@mwm48 Месяц назад
No…4D 😳
@tunneloflight
@tunneloflight Год назад
None the less - interesting and beautiful work.
@MateHomolya
@MateHomolya Год назад
Very impressive work! Excellent idea of using multiple LODs to account for local and global effects. Thanks for sharing. ❤
@MateHomolya
@MateHomolya Год назад
It looks like a physics simulation of galaxy filament formation they run on supercomputers.
@BrendanGalea
@BrendanGalea Год назад
Thank you!!
@pyroblasted
@pyroblasted Год назад
I have no words... this is amazing!
@BrendanGalea
@BrendanGalea Год назад
thank you!
@vmartme
@vmartme 8 месяцев назад
This is perfect mate! Thanks for sharing your thoughts and process :)
@gumenski
@gumenski 8 месяцев назад
This is fantastic. Good job.
@SkydivingSquid
@SkydivingSquid 8 месяцев назад
This is beautiful. Well done.
@sessionvideomag
@sessionvideomag Год назад
This caused an optical illusion, as soon as i turned the fullscreen off, my screen was deforming in a spiral shape Amazing job!!
@victorbetini6204
@victorbetini6204 2 года назад
this is so amazing to watch
@FM-lo9vv
@FM-lo9vv Год назад
This is so beautiful
@adamcordoue2096
@adamcordoue2096 Год назад
Looks like 3 dimensions. Super cool! Well done I have nothing but respect
@skope2055
@skope2055 Год назад
beautiful approximation
@thatprogramer
@thatprogramer 10 месяцев назад
Amazing simulation!
@TheBourbonWrench
@TheBourbonWrench Год назад
I didn’t understand a single word. Yet here I am, still having some sort of existential crisis seeing how your mathematics and thought process come to life into something I can visually grasp. Stunning video. Also super intriguing how many people in the comments seem to actually know exactly what you described in the beginning of the video, and it blows my mind to see people actually give you tips and critique you work. It just shows me how absolutely lame and boring my brain is.
@statelyelms
@statelyelms 8 месяцев назад
There were many times watching this where I forgot it was 2d and thought I was watching 3d objects spin and rotate and warp. Incredible work
@chefskies6215
@chefskies6215 2 месяца назад
beautiful simulation
@deffoe
@deffoe 7 месяцев назад
amazing work!
@J0Goproxy
@J0Goproxy 3 месяца назад
looks spectacular
@waymanharris1284
@waymanharris1284 Год назад
Beautiful, Great work!!!
@BrendanGalea
@BrendanGalea Год назад
Thank you very much!
@SMGJohn
@SMGJohn Год назад
Even a super basic simulation like this you can see the laws of the universe working as expected.
@Bratjuuc
@Bratjuuc Год назад
Absolutely beautiful!
@voodoo5191
@voodoo5191 2 года назад
Looks awesome!
@eclipticokami2646
@eclipticokami2646 8 месяцев назад
This is beautiful, thank you for sharing.
@Choiis
@Choiis 4 месяца назад
7:17, The most beautiful simulation i have ever seen on how single dust particles inevetebly clumps to larger bodys. (Even if the early forces aint depending on gravity the outcome is the same). I loved it!
@Maxarasta
@Maxarasta 11 месяцев назад
what a remarkable work
@SeanStClair-cr9jl
@SeanStClair-cr9jl 7 месяцев назад
This is so frickin cool. I've been musing about something just like this (stemming from the idea of, oh yeah, it shouldn't have to be N^2 if you can just have each body contribute to the same field, and then draw from it). And I love seeing how you've solved / approached / approximated the fact that that pesky N^2 seems to want to just reshuffle into other parts of the problem. I like your blur idea. It would be cool to have a dynamic LOD, a la Unity's new "Nanite" tech, in order to maximize efficiency and resolution. Edit: What if 4:51 is just "home"? lol.
@batman3698
@batman3698 Год назад
Very nice work! I love watching the simulations. Especially two merging galaxies when they come in on the final approach. I am curious what effect the delay of gravity would have since the gravity is confined to the speed of light. And how this differs from instantaneous communication. I'm not entirely sure, but I think the approach you have here could work in your favour for this. Each particle doesn't need a memory, instead you could backlog the "images". The low res ones would have a longer lifetime than the high res ones. And based on distance you go further back into the backlog. I hope that makes sense. And maybe the particle speed should also be limited to the speed of light. I imagine an easy way to accomplish this would be to increase the particles inertia based on how fast they are going so that after a while they cannot accelerate faster, but still require the same total energy to slow back down. The effect of the speed of light limitations doesn't have to be super exaggerated considering the fast time scale. Just an interesting idea that could be fun to compare with unconstrained "smaller scale" physics.
@nathanfredette
@nathanfredette 3 месяца назад
I think adding a magnetism approximation and particles with differing interactability to the simulation would increase its similarity to stellar phenomenon even further, love it!
@kevnar
@kevnar Год назад
Quadtree + Flowfield = bliss
@JonnyHuman
@JonnyHuman Год назад
This is absolutely mind blowing and a great explanation of how you did it!! For next time, if you upload @ 4K (even if the source footage is HD) RU-vid will assign more bandwidth to the video and the compression shouldn't be so bad!
@BrendanGalea
@BrendanGalea Год назад
Thank you! And will do
@pikatheminecrafter
@pikatheminecrafter 8 месяцев назад
This could be made more interesting with two additions. One, some particles are around ten times heavier and rarer than the other, and two, the heavier particles tend to stick together with an additional force, making them "solid". Gravity and collision forces could break "solid" objects, but they may eventually stick together again. In a cloud of particles that rotates sufficiently quickly, some of these particles of "solid" would eventually form "solid planets" as they fall towards the "star" and the "solid" accumulates, while the lighter "gas", not attracted as much by the "star" as the "solid", stays further out, eventually creating "gas planets". A further extension could be a proper implementation of the electromagnetic force. This causes particles to repel each other at a short range. This would mostly apply to "gas" particles. Though it would make it more difficult for "solid" particles to combine, "solid" particles still have this force that sticks them together (which is still the EM force in real life). Perhaps they could be combined somehow? Also, have it such that that "gas" (or any such particle), when sufficiently compressed that two particles overlap, merges the particles into a heavier one, which in turn exerts a force counteracting gravity on nearby particles. More massive particles require more force to combine. This would allow for "stellar fusion", making "stars" puff out. Additionally, it could be balanced such that once a single particle gets to sufficient mass, the gravitational influence it has on nearby particles by itself is enough to cause this "fusion", regardless of pressure, so it can collapse infinitely, creating a "black hole".
Далее
Coding Adventure: Simulating Fluids
47:52
Просмотров 1,6 млн
Can life exist in 2D? The physics of a 2D Universe
12:24
7 ДНЕЙ ЖИВУ КАК СЕЛЮК! (ЧАСТЬ 2)
22:21
Artificial Life. The battle of clans
19:34
Просмотров 456 тыс.
A 1,000,000,000 Particle Simulation! 🌊
6:36
Просмотров 690 тыс.
Gravity Visualized
9:58
Просмотров 139 млн
SST N-Body Timelapse
4:49
Просмотров 50 тыс.
How to train simple AIs
12:59
Просмотров 51 тыс.
Coding Adventure: Ant and Slime Simulations
17:54
Просмотров 1,8 млн
Master the Complexity of Spaceflight
32:12
Просмотров 276 тыс.