Coding Challenge 144: 2D Black Hole Visualization

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 พ.ค. 2024
  • Inspired by the recent image of the Powehi m87 black hole from the Event Horizon Telescope, I visualize the behavior or light (photons) following the path of spacetime around the black hole in p5.js. Code: thecodingtrain.com/challenges...
    p5.js Web Editor Sketches:
    🕹️ Black Hole Visualization - Newtonian Granvitational Attraction: editor.p5js.org/codingtrain/s...
    🕹️ Black Hole Visualization - Code with Relativistic Corrections: editor.p5js.org/codingtrain/s...
    🎥 Previous video: • Coding Challenge #143:...
    🎥 Next video: • Coding Challenge #145:...
    🎥 All videos: • Coding Challenges
    References:
    📓 Simulating a Black Hole!: www.asc.ohio-state.edu/orban....
    🖌 How to draw a Black Hole: rantonels.github.io/starless/
    📰 Astronomers Capture First Image of a Black Hole: eventhorizontelescope.org/
    📓 Image of a Spherical Black Hole with Thin Accretion Disk: articles.adsabs.harvard.edu/cg...
    Videos:
    🎥 How to Understand the Image of a Black Hole: • How to Understand What...
    🎥 Slingshot with Gravity!: • Slingshot with Gravity...
    🔴 Coding Train Live 176: • Coding Train Live 176:...
    Related Coding Challenges:
    🚂 #7 Solar System (2D): • Coding Challenge #7: S...
    🚂 #8 Solar System (3D): • Coding Challenge #8: S...
    Timestamps:
    0:00 Introducing today's topic: a black hole visualization
    3:25 The elements in the black hole visualization
    5:06 The event horizon
    6:35 The accretion disk
    8:35 What happens when light is traveling towards a black hole?
    9:43 The theory of relativity
    12:03 Let's Code!
    13:52 Make a black hole object
    16:57 Draw the accretion disk
    18:49 Draw an unstable photon orbit
    20:22 Create a photon class
    23:25 Add velocity to the photons
    25:46 Apply Newtonian gravitational attraction
    31:36 Add a trail to the photon
    38:17 Corrections to the code
    40:14 Add the angle of velocity for the photon
    0:00 Conclusion and suggestions for variations
    Editing by Mathieu Blanchette
    Animations by Jason Heglund
    Music from Epidemic Sound
    🚂 Website: thecodingtrain.com/
    👾 Share Your Creation! thecodingtrain.com/guides/pas...
    🚩 Suggest Topics: github.com/CodingTrain/Sugges...
    💡 GitHub: github.com/CodingTrain
    💬 Discord: thecodingtrain.com/discord
    💖 Membership: th-cam.com/users/thecodingtrainjoin
    🛒 Store: standard.tv/codingtrain
    🖋️ Twitter: / thecodingtrain
    📸 Instagram: / the.coding.train
    🎥 Coding Challenges: • Coding Challenges
    🎥 Intro to Programming: • Start learning here!
    🔗 p5.js: p5js.org
    🔗 p5.js Web Editor: editor.p5js.org/
    🔗 Processing: processing.org
    📄 Code of Conduct: github.com/CodingTrain/Code-o...
    This description was auto-generated. If you see a problem, please open an issue: github.com/CodingTrain/thecod...
    #blackholevisualization #eventhorizon #accretiondisk #javascript #p5js

ความคิดเห็น • 271

  • @visualeyescollective8193
    @visualeyescollective8193 5 ปีที่แล้ว +82

    Dan, your videos have helped me evolve from knowing basically nothing about Javascript to being offered a full time job in the space of one year. Thank you dude.

    • @badunius_code
      @badunius_code 2 ปีที่แล้ว +2

      This is great but scary. I mean all the fors, and ifs, and vars, and scope pollution...

    • @Crazyclay78YT
      @Crazyclay78YT ปีที่แล้ว +4

      @@badunius_code can't forget the "this dot"

  • @luyuan0
    @luyuan0 5 ปีที่แล้ว +143

    It's Friday night; wanted to relax and watch a movie, and ended up watching this :D Thank you for the video - you are one of the best!!!

    • @rajnishgupta8988
      @rajnishgupta8988 ปีที่แล้ว

      I wish I could relate man, I so so wish!

  • @melvinlijiabraham4165
    @melvinlijiabraham4165 5 ปีที่แล้ว +61

    One way to boost performance could be removing `background(255)` from `draw()` function and `history` from `Photon` class, so that there's no need to redraw the photon trails...

  • @TheMultifun
    @TheMultifun 5 ปีที่แล้ว +321

    No one
    Engineers: c=30 and G=6

    • @francoissaab374
      @francoissaab374 5 ปีที่แล้ว +1

      Don Grille super great

    • @user-or2gl9sq5d
      @user-or2gl9sq5d 4 ปีที่แล้ว +10

      What are you talking about c = 299752458 m/s *SQUARED*

    • @johnheikens
      @johnheikens 4 ปีที่แล้ว +11

      ​@@user-or2gl9sq5d r/woooosh

    • @bartekm3878
      @bartekm3878 4 ปีที่แล้ว +6

      @@johnheikens Speaking of reddit, is there a dedicaated subreddit for Processsing or coding challenges?
      I mean those coding challenges that The Coding Train does.

    • @simonmaracine4721
      @simonmaracine4721 4 ปีที่แล้ว

      @@user-or2gl9sq5d Actually it's 299792458.

  • @MasterHigure
    @MasterHigure 5 ปีที่แล้ว +36

    4:45 RIP youtube compression algorithm.

  • @lucafelicetti9605
    @lucafelicetti9605 5 ปีที่แล้ว +220

    0:25 that synched-up hand gesture looks almost intentional

    • @jhoan7189
      @jhoan7189 5 ปีที่แล้ว +2

      Luca Felicetti Lmao facts

    • @mihajlonesic
      @mihajlonesic 5 ปีที่แล้ว +3

      Was gonna write this comment :D

    • @muranki1293
      @muranki1293 5 ปีที่แล้ว +2

      Oh wow

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +50

      Whoa, I did not notice this!

    • @user-qt6ju1hc9x
      @user-qt6ju1hc9x 5 ปีที่แล้ว +3

      The other hand is the same syncing on the other side of the black hole 😆

  • @mockingbird3809
    @mockingbird3809 5 ปีที่แล้ว +110

    Wow....You are really a Prodigy in JavaScript....Love your Enthusiasm and Teaching Style.

    • @Trekfolie
      @Trekfolie 5 ปีที่แล้ว +3

      I'm learning Python atm but his style makes me want to learn JS instead.
      Welp I'm still watching his videos and enjoying it so much.

    • @sortof3337
      @sortof3337 5 ปีที่แล้ว +1

      @@Trekfolie l did python for 5 years before I decided to come to JS. I still use python for ML and data stuff and scripting, but Node and P5 are on next level for web and Graphics stuff.

  • @SirPhysics
    @SirPhysics 4 ปีที่แล้ว +5

    Not sure if anyone has pointed this out yet, but one reason all of your photons may be getting sucked into black hole is that you're not accounting for the timestep when updating velocity, only position. This means that the "force" being exerted on all of your photons is much larger than it should be.

  • @kevnar
    @kevnar 4 ปีที่แล้ว +32

    We know what the speed of light is. Now, at 24:04, we know what the sound of light is, too!

    • @thockinity
      @thockinity 4 ปีที่แล้ว +3

      That sound he made was so funny, mostly because in his position i'd do exactly the same. That nice smooth animation, just asks for that sound

  • @domninin
    @domninin 5 ปีที่แล้ว +42

    You could maybe write a ray tracer which does all of that stuff but from the front (send photons out from the "pixel layer" into the third dimension and see where they hit your pixel layer again) to render a picture

  • @effzee73
    @effzee73 5 ปีที่แล้ว +2

    My new favorite channel on TH-cam. Your stuff's brilliant so glad I found this channel

  • @iritesh
    @iritesh 5 ปีที่แล้ว +6

    From a dull drawing to a crazy good simulation, this is what programming is!

  • @SotamiesTrolli
    @SotamiesTrolli 5 ปีที่แล้ว +43

    The physicist inside me screamed you to set c=1

    • @luisangelpantojaarredondo4460
      @luisangelpantojaarredondo4460 5 ปีที่แล้ว +1

      shoehaze and also g=1 😭

    • @thechrisgrice
      @thechrisgrice 4 ปีที่แล้ว +5

      Then you're not really that much of a physicist. We often set c=1 in what's called Natural Units.

    • @kr4301
      @kr4301 3 ปีที่แล้ว +3

      well theoretical physicists actually use natural units where c=hbar=1

  • @adrian5b
    @adrian5b 5 ปีที่แล้ว +2

    I love this guy so much, makes JS so joyful.

  • @williampecoraro653
    @williampecoraro653 5 ปีที่แล้ว +41

    c=30
    G=6
    All my engineering teachers are crying...
    But i love your videos

    • @williampecoraro653
      @williampecoraro653 5 ปีที่แล้ว +10

      I would rather take one constant and make everything else in percentage about the first one

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +7

      @@williampecoraro653 Yes, that's a great suggestion!

    • @Xnoob545
      @Xnoob545 5 ปีที่แล้ว

      Isn't it like 9.8m/s sQuaREd?

    • @halusinjackbow8043
      @halusinjackbow8043 3 ปีที่แล้ว +1

      Xnoob Speakable That would be lowercase g, the acceleration of gravity. Uppercase G is the gravitational constant, which doesn’t really directly apply to anything we see, but it is a vital value in calculating most gravitational interactions in the universe. But don’t take my word for it; I don’t know much about it at all.

  • @MijeshDeuja
    @MijeshDeuja 5 ปีที่แล้ว +3

    The quality on these videos are are getting amazing.

  • @chefbennyj
    @chefbennyj ปีที่แล้ว +1

    "Then, I calculate the change in angle based on the relativistic curvature of space time" -Dan 👏 using JavaScript. 😀 😆 Man I love this channel.

  • @ersinmisto81
    @ersinmisto81 5 ปีที่แล้ว +5

    I just wanna say thank you a lot for adding subtitles for hard of hearing. Please do so in the future

  • @avi12
    @avi12 5 ปีที่แล้ว +1

    Thanks to you, Dan, I was able to understand Derek's video. When I first watched it, I didn't understand it very much

  • @venido8308
    @venido8308 5 ปีที่แล้ว +120

    How he is doing the same movement with his hand at 0:24 xD

    • @danieldochev6019
      @danieldochev6019 5 ปีที่แล้ว +1

      Lol

    • @lthoedt
      @lthoedt 5 ปีที่แล้ว +1

      ffs i just wanted to stay that

    • @Kazutas
      @Kazutas 4 ปีที่แล้ว

      lol what?

  • @yourteacher4353
    @yourteacher4353 5 ปีที่แล้ว +17

    I am speechless. You, sir, are a living legend.

  • @calebsherman886
    @calebsherman886 5 ปีที่แล้ว +2

    YES, I've always wanted to see this! Thank you!

  • @Helios.vfx.
    @Helios.vfx. 5 ปีที่แล้ว +15

    You're the best, bro! Just got the book "The Nature of Code" and I'm enjoying it.

  • @cap.blue-97sama99
    @cap.blue-97sama99 5 ปีที่แล้ว +1

    Watched the whole thing, You're a wonderful teacher!

  • @zacharymcarthur9013
    @zacharymcarthur9013 4 ปีที่แล้ว +5

    While doing this coding challenge myself I named my class Blackhole and then created a Blackhole object saying, “let bhole;” “bhole = new Blackhole;” I did this for quite a while before my fiancé pointed out that maybe b-hole isn’t the best name for my Blackhole.

  • @RAWRCoding
    @RAWRCoding 5 ปีที่แล้ว +1

    Great Video! I used to love making these types of projects in university!

  • @iradnuriel9087
    @iradnuriel9087 5 ปีที่แล้ว

    Love those long videos so much!!!!!!!!!!!
    Very good video(I actually learned a lot from this video!!)

  • @iminni3459
    @iminni3459 5 ปีที่แล้ว +15

    Nice editing for this video. :-)

  • @OrangeC7
    @OrangeC7 5 ปีที่แล้ว +17

    10:40 - And hence one of the most terribly drawn whatever-those-squiggly-things-are-called-anyways-because-they're-probably-not-called-curly-brackets-when-they're-drawn-like-that-but-I-might-be-wrong was created!

  • @Madmadfr
    @Madmadfr 5 ปีที่แล้ว

    Awesome as always, thank you very much for this :)

  • @PilatusAnon
    @PilatusAnon ปีที่แล้ว

    I love how Veritasium's video on the black hole image was the 5th recommended video in my sidebar

  • @finnk2551
    @finnk2551 2 ปีที่แล้ว

    thank you for making such a great video! love it

  •  5 ปีที่แล้ว +1

    this is a good topic, thank you Dan!

  • @zonetwelve5881
    @zonetwelve5881 5 ปีที่แล้ว +4

    Oh ya!, I love to see that again.

  • @morphman86
    @morphman86 4 ปีที่แล้ว +1

    This was relatively interesting. Here, have a thumbs up!

  • @mattiarecchi4024
    @mattiarecchi4024 4 ปีที่แล้ว +14

    Can you combine "rendering raycasting" with this? Would be awesome 😍

  • @hrishikeshpatil7901
    @hrishikeshpatil7901 5 ปีที่แล้ว +92

    I'd rather learn physics from you

    • @army6669990101
      @army6669990101 5 ปีที่แล้ว +22

      I would learn anything from my professors if they had 1/3 of the amount of enthusiasm and heart he puts into his videos.

    • @zoltankurti
      @zoltankurti 5 ปีที่แล้ว +5

      But you couldn't. He doesn't knoe much about physics.

  • @user-tj4ut8ox9r
    @user-tj4ut8ox9r 5 ปีที่แล้ว +3

    Why is your channel doesn't get millions of views? It's such a good and quality content herw

    • @ammarkamel6324
      @ammarkamel6324 5 ปีที่แล้ว

      cus the most people like to do easy things

  • @JonathanChute
    @JonathanChute 5 ปีที่แล้ว +11

    I watched you do this live - but I'm watching this just to see how you edited all your mistakes and corrections together XD
    Edit: Ah, you just refilmed the intro... Well played, Shiffman.

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +7

      Yeah, I like leaving coding mistakes in, but if I'm getting actual science wrong it's too painful to watch!

  • @muradeliyev6291
    @muradeliyev6291 5 ปีที่แล้ว +2

    this guy deserves a medal

  • @user-og2lt8ou8i
    @user-og2lt8ou8i 4 ปีที่แล้ว +1

    _Thanks for having English captions Or subtitles_

  • @lazyyw4081
    @lazyyw4081 5 ปีที่แล้ว +1

    I was about to go and sleep but a coding train notification popped up

  • @QuiqueFlowers
    @QuiqueFlowers 5 ปีที่แล้ว

    I luv JS and your explanation

  • @mralextacy
    @mralextacy 5 ปีที่แล้ว

    simply amazing

  • @Cowboy8625
    @Cowboy8625 4 ปีที่แล้ว

    You are pretty cool man. I don’t use java script but I really like watching your videos and see how you work though the problem. I’m doing some of your challenges in python in tkinter.

  • @connorclub6244
    @connorclub6244 ปีที่แล้ว +1

    I noticed that you said something like "30 pixels per frame.. thats pretty slow for movement". But thats 900 pixels travelled a second, already past the screen!

  • @tezza48
    @tezza48 5 ปีที่แล้ว +5

    "I don't play a physicist on youtube" is that a loose Scott Manley reference? :D

  • @guyr989
    @guyr989 5 ปีที่แล้ว +1

    Daniel. You are the BEST most annoying teacher I've ever seen. Thank you.

  • @jamriissam5825
    @jamriissam5825 5 ปีที่แล้ว

    Keep going you do awesome work ;)

  • @JohnPatchesMicallef
    @JohnPatchesMicallef 5 ปีที่แล้ว +1

    So, just for your information, when scientists run simulations of the caliber you want to do they run it on super computers and it takes days to months. My research advisor is doing gamma-ray burst jet simulations and he said it takes several minutes to generate just a few nanoseconds of simulation data. And that generation time will only increase as the jets expand outwards (getting exponentially larger).

    • @JohnPatchesMicallef
      @JohnPatchesMicallef 5 ปีที่แล้ว +1

      Of course a 2 dimensional version with simplified visuals of a "simpler" system (like a black hole) would be much "easier" to generate, but I imagine the level of difficulty scales down about the same amount as the loss in computational power does. So it would still take a long time to generate the data.

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +1

      Thanks for this feedback and additional info!

  • @luismiguelgallegogomez8000
    @luismiguelgallegogomez8000 5 ปีที่แล้ว

    Still starting to watch, but i'm sure the challenge will be awesome!

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว

      What did you think?

    • @luismiguelgallegogomez8000
      @luismiguelgallegogomez8000 5 ปีที่แล้ว

      Was very interesting, i think the newtonian physics simulation actually yielded pretty accurate results

  • @matusjakuboc9623
    @matusjakuboc9623 5 ปีที่แล้ว

    Gravitational constant is determined by unit m3 x kg-1 x s-2 or N x m2 x kg-2

  • @BrainKlar
    @BrainKlar 2 ปีที่แล้ว +1

    hey one thing I do know is the movie interstellar they used allot of data to recreate the black hole. They scaled it up for visual aesthetics but supposedly was pretty accurate. They have a book on that movie and stuff that has it labeled speculative and factual or data driven ect. Their minds would be a good one to pick in how they rendered that prob love your videos!

  • @lellow4188
    @lellow4188 5 ปีที่แล้ว +5

    One way to doing this more fun, is maybe by considering the time dilatation, and with this the photon will slow down and never go inside a certain circle, and with this you litteraly create a Black Hole =)

  • @johaneric1400
    @johaneric1400 5 ปีที่แล้ว +7

    Owh yeah....i love this when u talk about science and javascript..........😍😍😍😍😍😍😍

  • @thedankatheist3466
    @thedankatheist3466 5 ปีที่แล้ว +1

    I love this video 3000

  • @SimonSozzi7258
    @SimonSozzi7258 5 ปีที่แล้ว

    I think you had it right at 35:40. It just feels right!

  • @jingato
    @jingato ปีที่แล้ว +1

    you'd probably get a significant performance increase if you did not add to one end of the array an then delete from the other every frame. Instead, keep an index and just replace the item at that index. The way it is now causes you to have to shift every element of the array over every frame after you delete that first element. I'd also preallocate all the memory needed for that array rather than just add to it on demand. That way you won't need to keep reallocating memory for the buffer and copying the items to the new memory location when it grows.
    To piggyback off that, you should also be constantly updating the history so it represents a path of vertices using the least number of vertices needed. For example, those lines are straight for a long while so they really only need 2 vertices, whereas you have hundreds all in that straight line.

  • @samueleb.6739
    @samueleb.6739 5 ปีที่แล้ว

    I WAS WAITING THIS SO BAD

  • @Saurastus
    @Saurastus ปีที่แล้ว

    Nice simulation. This is in essence a classical simulation of objects with mass moving towards a body in space, since you used newtonian physics to calculate the dynamics of each object. To calculate how photons would move one would use formulas from General Relativity. The simulation captures the photonring however which is nice to see.

  • @NobleMarcos
    @NobleMarcos 5 ปีที่แล้ว

    I don't know you, i can't program for shit, would like to change that, and i would like to see a more serious simulation of a black hole, but none of that matters because you're so entertaining and make all this so interesting to watch, i'm amazed!

  • @EnfermeiroPensador
    @EnfermeiroPensador 5 ปีที่แล้ว

    I think, is possible to use ray marching on top of that to create some kind of shader?

  • @Red_Skies
    @Red_Skies 5 ปีที่แล้ว +1

    0:25 I like how he does the same arm gesture in both vids

    • @TheZenytram
      @TheZenytram 5 ปีที่แล้ว

      the sync, pleasures my OCD

  • @jut2357
    @jut2357 ปีที่แล้ว +2

    Did you ever multiply the added gravitational force with your delta time? I feel like you will get different results depending on your time scale (dt) with this solution, since it affects the photons speed but not its attraction to the black hole. I know I'm three years late to this but if I'm wrong I'd be happy to hear an explanation :)

  • @M.MaX1
    @M.MaX1 5 ปีที่แล้ว

    I think is photon should be point not line so we can have batter imagination to the horizon and the photons should came from screen top right and down right to improve the some relation is really work...
    And thanks to the tutorial

  • @ethanhermsey
    @ethanhermsey 5 ปีที่แล้ว +1

    Hats off to matthieu ;) :D

  • @42Hz
    @42Hz 4 ปีที่แล้ว +3

    Is it possible to create a space-bend effect like on this picture:
    physicsworld.com/wp-content/uploads/2006/09/LLOYDblack-hole.jpg
    So this JS blackhole would warp a background image like this.

    • @thockinity
      @thockinity 4 ปีที่แล้ว +2

      I'm pretty sure almost anything is possible to code, if you are a good enough programmer... Could i do it? saddly no, do i believe a good programmer could do that space-bend effect? I am pretty sure they could

  • @enverko
    @enverko 5 ปีที่แล้ว +4

    5:36 Black holes are flat confirmed!

  • @imporbis345
    @imporbis345 5 ปีที่แล้ว +1

    I have an idea for a coding challenge: Code an animation of the dijkstra algorithm. It should show how the algorithm works, so eventually it looks like some ants walking from one knot to another and they remember how long they need.

  • @robertlister5192
    @robertlister5192 5 ปีที่แล้ว

    Hi I have a question on your 7.6 object intersection how would it work with a square and a circle intersecting?

  • @goodclover
    @goodclover 5 ปีที่แล้ว +1

    Amazing, love your vids, I used to do python but you inspired me to try JS and I've been looking it so far!
    Only thing I can't figure out is how to copy a variable without them being linked?

    • @A1rPun
      @A1rPun 5 ปีที่แล้ว

      Primitive types get copied by value, objects (arrays) are copied by reference ("linked").
      There are methods to deep copy arrays or objects but you don't need them that often. Modifying an array data structure usually happens with `.map` or `.reduce`.

  • @kwinvdv
    @kwinvdv 5 ปีที่แล้ว

    If one would use the exact solution of Newtonian gravity (Kepler orbits), so do not compensate that the "photons" speeds up while faling towards the black hole, it can be shown that a particle would just graze the Schwarzschild radius (rs) if it start at sqrt(3)*rs≈1.73*rs. Coincidentally these particles also speed up at rs to a speed of sqrt(3) times the speed of light.

  • @antiphlex
    @antiphlex 5 ปีที่แล้ว +3

    Light travels at the speed of itself.

    • @vidaroni
      @vidaroni 5 ปีที่แล้ว

      Aren't we all, though? 🤔

  • @gJonii
    @gJonii 5 ปีที่แล้ว

    You wouldn't really notice entering inside black hole of that size, except that the starry sky becomes tiny hole above you and then disappears. You could live pretty comfortable for hours, maybe even days, assuming you had space suit that protected you from the radiation. Well, at least according to the current best guess of what inside of black hole is like.

  • @muhammadisraraslam2487
    @muhammadisraraslam2487 2 ปีที่แล้ว

    Thanks for this video, May i know which soft wear used for light rings around a black hole, Is this possible on Mathematica tool. Please tell me.

  • @FakeFakovick
    @FakeFakovick 5 หลายเดือนก่อน

    Broooo.... My own task of my p5 chalange was make a black hole model, but u also does it😮

  • @arthurs5099
    @arthurs5099 ปีที่แล้ว

    I tried to code the gravitationnal lensing to put random photos of cats as sources. However, the way you find out the geodesique is just some fancy wizzard stuff.

  • @brunoharari6454
    @brunoharari6454 5 ปีที่แล้ว +5

    You have to try to make it 3D that is gonna be cool!

  • @programmingwiththotho4641
    @programmingwiththotho4641 5 ปีที่แล้ว

    nice

  • @soma7891
    @soma7891 5 ปีที่แล้ว

    Can you make a video about the wave pattern of an audio?

  • @mina86
    @mina86 5 ปีที่แล้ว

    12:25 - 6.67e-11. No need for pow plus using e is likely more precise.

  • @morphman86
    @morphman86 4 ปีที่แล้ว

    29:28
    Did that one photon just make an oberon maneuver using a black hole as its slingshot centre?

  • @ch3ragCS
    @ch3ragCS 5 ปีที่แล้ว

    why did you divide deltaTheta by (1 - 2GM)/(rc^2)?

  • @meeshoot3850
    @meeshoot3850 5 ปีที่แล้ว

    Wouaahhh

  • @XKCDism
    @XKCDism 5 ปีที่แล้ว

    ace stuff

  • @badunius_code
    @badunius_code 2 ปีที่แล้ว

    13:40 okay, that one actually killed me 🤣

  • @morphman86
    @morphman86 4 ปีที่แล้ว

    Funny thing, if you could get close enough to the black hole, within the event horizon, you would see something. Nobody knows what, but you would see something.
    The light is not fast enough to escape the event horizon, but it can still bounce up a bit before it is sucked back down.
    Because we don't know how the light behaves inside the event horizon, we're not really sure how to visualise it, or calculate its behaviour.

  • @rutikwankhade337
    @rutikwankhade337 5 ปีที่แล้ว

    What apps you use to edit your videos. Like a video in video background

    • @tinylittleanj2
      @tinylittleanj2 4 ปีที่แล้ว

      RUTIK WANKHADE the second video is from his live streams (the long videos). Watch almost any of those and he almost always goes over the set up :)

  • @kernelpanic2887
    @kernelpanic2887 5 ปีที่แล้ว +1

    One question I have, is if OOP is good or bad for CPU performance?
    I mean, the program needs to jump around, call methods in methods in methods, get models...
    Thank you for an answer :)

    • @experimentators8699
      @experimentators8699 5 ปีที่แล้ว

      that's hard to answer the question because every programming language is different. but some algorithmic optimizations are prevented in OOPs due to encapsulation, and the synergy between 2 particular algorithms that work together is lost behind OO interfaces.
      But it might also depend whether the language is compiled or interpreted

  • @rastislavsvoboda4363
    @rastislavsvoboda4363 ปีที่แล้ว

    Ďakujeme.

    • @TheCodingTrain
      @TheCodingTrain  4 หลายเดือนก่อน

      Thank you for the support!

  • @johnzhang1821
    @johnzhang1821 5 ปีที่แล้ว

    Now ima going to try to do this in python

  • @boggo3848
    @boggo3848 5 ปีที่แล้ว +1

    The reason it doesn't work is because in general relativity you have an extra cubed term in the attractive "force" you have to simulate, which results in some really unintuitive orbits very close to the black hole. I really really recommend this amazing interactive applet that simulates the actual equations. www.fourmilab.ch/gravitation/orbits/
    In a way those crazy orbits are always possible but hidden because you can't go so close to the centre of mass of say the Earth. Black holes just make it possible to get close enough for those extra terms to start causing rosettes and photon spheres and other weird orbits.
    Anyway I'm not a physicist but I went down the rabbit hole trying to simulate this in a shader a while back and I can't remember all of the details, but I found some articles that managed to make me understand what's different.

  • @TheGabrielMoon
    @TheGabrielMoon 5 ปีที่แล้ว

    how can i blur my strokes with p5js?

  • @Melthornal
    @Melthornal 5 ปีที่แล้ว +1

    If you want to keep a trail without a performance hit, couldnt you get rid of the background in the draw loop and instead put it in setup? That way each photon line update is permanent? All you need to do is connect the most recent step to the second most recent. So your history would be maxed at 1 instead of 500 or whatever. In many applications this could make a messy mess but in something like this I see no downside.

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +1

      Yes, this is a good idea! Using createGraphics() for the photon trails would be a great solution.

  • @jakubkurdziel2407
    @jakubkurdziel2407 3 ปีที่แล้ว

    In JS you can write numbers like 100_000_000 it means the same as 100000000 but its very better to read

  • @KhrisnaGunanasurya
    @KhrisnaGunanasurya 5 ปีที่แล้ว

    Hi I wonder, where do you get the width and height thing in sketch.js? Because I don’t think I see you declare their value?

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว

      This is from the p5.js library, for more: p5js.org.

  • @argore9709
    @argore9709 3 ปีที่แล้ว

    would be interesting to see this used in a raycaster

  • @GabrelaAmarela
    @GabrelaAmarela 5 ปีที่แล้ว

    te amo

  • @victor_h9925
    @victor_h9925 5 ปีที่แล้ว

    Hi, How can i use P5.js in visual studio code?

  • @hamadaag5659
    @hamadaag5659 4 ปีที่แล้ว

    I have a question, people always say that objects bend the spacetime mesh but is the spacetime mesh a 2d mesh or a 3d mesh? And if it’s a 3d mesh how does it “bend”?