Building a Physics Engine with C++ and Simulating Machines

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 มิ.ย. 2024
  • I talk about the basics of physics engine design and the theory behind rigid body constraint solvers. Here are all the resources you'll need to build a physics engine that is similar to the one I show in the video:
    Source code of my physics engine:
    github.com/ange-yaghi/simple-...
    Euler method for solving differential equations:
    en.wikipedia.org/wiki/Euler_m...
    Runge-Kutta method for solving differential equations:
    en.wikipedia.org/wiki/Runge%E...
    Physically Based Modeling: Principles and Practice
    www.cs.cmu.edu/~baraff/sigcour...
    Source code of my real-time video encoder:
    github.com/ange-yaghi/direct-...
    Source code of my game engine:
    github.com/ange-yaghi/delta-s...
    #physics #simulation #programming
    Check out my GitHub profile!
    github.com/ange-yaghi
    Join my Discord!
    / discord
    Follow me on Instagram!
    / ange.the.great
    If you like my work and would like to support me, consider donating!
    ko-fi.com/angethegreat
    Thanks for watching!
  • บันเทิง

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

  • @theDemong0d
    @theDemong0d ปีที่แล้ว +2075

    No sleeping here, there is a huge lack of technical content on youtube at this level, these videos are killer. Keep it up. Would love to see the deep-dive on your fluid sims for your engine project.

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

      I don't think you actually realize how much effort goes into creating a video like this. "At this level" there's extremely little content on the entire youtube.

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

      @@Alexander_Sannikov I'm not sure exactly how to interpret this, but I never said it was easy. Also, that is not strictly true since there is an immense amount of highly technical content on youtube, just not in the realm of individuals writing interesting things from scratch, and not laid out to present novel experiments, Sebastian Lague-style.

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

      @@theDemong0d what I mean is that 99% of sebastian league style content requires much less knowledge and effort than a video like this.
      UPD nvm, I think I read your original post wrong. I think I read "huge lack" as "huge block", or something like that.

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

      +1000

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

      well, unfortunately, views explain why there's no much tech-focused game dev vids on youtube.

  • @itskittyme
    @itskittyme ปีที่แล้ว +1955

    "i wrote this advanced physics simulator"
    "oh and then i ran into some problems with making the video"
    "thus i quickly built my own screen capturing software which works better than this giant open source program that's been around since 2012"
    okay

    • @abeecee
      @abeecee ปีที่แล้ว +427

      if this is my competition looking for swe jobs, I might as well give up now lmao

    • @deathTurgenev
      @deathTurgenev ปีที่แล้ว +246

      Then proceeds to say, sorry the code isn't optimized, I'm not an expert

    • @EmergencyTemporalShift
      @EmergencyTemporalShift ปีที่แล้ว +88

      To be fair, taking a bunch of screenshots is easier than physics

    • @HAWXLEADER
      @HAWXLEADER ปีที่แล้ว +55

      Getting a raw image sequence out of your renderer is NOT "better" than this giant open source thing.
      It just does 1 thing and does it really well.

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

      He uses ffmpeg which does all the hard work for you. You can literally feed it image files and it will just make it into a video.

  • @JubaProductionsStudios
    @JubaProductionsStudios ปีที่แล้ว +671

    "OBS was making me nuts, so I made my own screen recorder" this guy is a legend haha

    • @magmacodes9143
      @magmacodes9143 ปีที่แล้ว +33

      You can do too. FFMPEG has been a fairly straightforward framework for making small screen recorders for a long time now.

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

      @@magmacodes9143 ffmpeg is most vulnerable due to multiple support of library

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

      xD

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

      @@vedantkanoujia what

    • @jakosloth
      @jakosloth 9 หลายเดือนก่อน +1

      Man's living my dream lol

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

    Useful or pointless video? You tell me :D Thanks for watching 💪

    • @puppergump4117
      @puppergump4117 ปีที่แล้ว +33

      Very useful, I will surely use it

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

      All your stuff is incredible. You’re going to have a million subs in the next 2 years if you keep it up. My advice is to not abandon your long form content in favor of shorts. Your issue earlier with the car rendering video was that you didn’t have critical mass of viewership. Now that your channel is blowing up, a long term project requiring a lot of work will likely be rewarded even more.

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

      I know exactly zero about programming and still watched the whole thing. Physics are fundamentally interesting stuff :)

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

      For me, somewhat useless now, but very prompting to revise my old, long-forgotten knowledge and to learn even more.

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

      im learning modeling and simulations next semester and this pretty much hypes me up! thanks for the content man, you just got a new sub.

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

    Your videos should seriously get more attention then they do. Awesome work!

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

      Thank you! As long as there are people out there that like my stuff and find it useful, I'm good ✌

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

      @@AngeTheGreat You're truly great.

  • @Alexander_Sannikov
    @Alexander_Sannikov ปีที่แล้ว +148

    A note on implementation: your RK solver is very tightly coupled with the design of the system you're integrating. Usually it's best to try to decouple the integrator from the system itself and implement it more generically. For ordinary ODE's you just need a function that calculates a vector of derivatives from a vector of coordinates, and that's all your integrator needs.
    And your physics engine can _index_ into those arrays to access coordinates of any given rigid body.

    • @AngeTheGreat
      @AngeTheGreat  ปีที่แล้ว +54

      Good idea! Might refactor that part, thanks for the suggestion

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

      Ordinary ordinary differential equations

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

      He's also using public virtuals which tells me he's not very knowledgeable of c++

    • @AngeTheGreat
      @AngeTheGreat  ปีที่แล้ว +35

      @@revealingfacts4all I don't claim to know it all and I like to assume that I know nothing anyway. What do you recommend I change?

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

      @@revealingfacts4all I am curious as well as to why you think using public virtual functions somehow reflects his lack of C++ knowledge.

  • @thierrybeaulieu4403
    @thierrybeaulieu4403 ปีที่แล้ว +39

    I've studied physics for 2 years and computer science for another 3 years. I'm already thought of doing something like that, but it's very impressive to see how well you've done it. There are so many layers of complexity to what you're showing

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

    Interesting to see someone reviving the (at least my) experience of writing a physics engine. It was really a brain crushing journey for me to do this in the 90' with less accuracy, much less computing power, my very immature knowledge of math, let alone internet resources on this topic. But I have strong memories indeed from my eureka moment after real-time simulating a cloth, and a few weeks later seeing the same idea rendered on a Silicon Graphics cluster on a computer fair in Brussels.

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

    This is incredible. Constraint solving is stuff you do early on in an engineering degree but I never cared for it because I was always into the more computational stuff. Seeing you come at this from the computational side first has given me a whole new perspective.

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

    I just got recommended this video today, and I am blown away! Can't wait to explore more of your channel's content

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

    All this goes far over my head but it's so impressive to see someone make things like this and to share it online, even creating a screenrecorder in the meantime. Crazy!

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

    You got a new subscriber. I arrived to your channel by a reddit post with a link to your engine simulation video, and I guess now I'm binge watching all your videos. Amazing work man.

  • @scremeo8522
    @scremeo8522 ปีที่แล้ว +28

    As I'm currently preparing for an upcoming exam in numerical analysis, I find it interesting to see this really cool application of most of the methods I've learned! I'd like to write my own physics-engine right now, if I didn't have to study at the moment 😅

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

    I really enjoy watching your videos and trying to understand everything. I find that there is something satisfying in the way you explain things. Keep up the amazing work!

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

    Awesome stuff! Highly recommend you look into iterative techniques (Gauss-Seidel, or more complex Conjugate Gradient). They are probably in fact easier to implement than the Gaussian Elimination, and you can terminate iterative approaches when the error is low enough. Convergence rates are almost always related to conditioning of the system being solved, which will depend on what combination of constraints you have in your simulation. Note that isn't worse than the elimination case: poor conditioning also causes numerical instability in that algorithm as well.

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

      Excellent suggestion, you definitely know your stuff! I actually did implement Gauss-Seidel but I didn't mention it in the video because I didn't want to confuse people haha... But you're right that iterative approaches are great. Next step will be to implement Conjugate Gradient since that'll be faster and also slightly more robust (for redundant constraints, etc.). Thanks for watching and thanks for the suggestion!

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

      @@AngeTheGreat i saw no Gauss in the video, in fact, I don't think I saw any weapon of _any_ kind!

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

      oooh. nice.

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

      Hey @brandon, what do you think of LevenBerg-Marquadt (probably mis-spelled!). I have read several papers recently where they use that for solving systems (not physics) as it is supposed to be very fast and more 'optimisable', removing zeros etc. Wondering if you thought it would be good for a physics engine?

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

      @@chriswalsh5925 there is only one way to find out... code it and test it! :> There _should_ be implementations online, already.

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

    Just discovered your channel, and i see a lot of advanced, neat projects that really sparks my interest. This physics engine is very cool ! Im impressed to see that you make all that in C++, it genuinely makes me want to make similar stuff on a low level. That's really inspiring (even the nerdy mathematical details ! Along with the sources in the descriptions, those are the crunchy bit for me). Keeps up the awesome work !

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

      Welcome to the channel! I try to work on projects that really challenge me and I'm glad that you enjoy my content. Hopefully my channel continues to help/inspire you in your software journey. Thanks for watching!

  • @Jamie-il1qu
    @Jamie-il1qu ปีที่แล้ว +1

    Man, such a good video, I found it genuinely very exciting. For me, this is like the idealized form of Nova, thanks for making it!

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

    You're my new favorite TH-cam content creator. WOW! This level of knowledge and expertise is something I rarely see on TH-cam. KEEP UP THE GOOD WORK!!!

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

      Where you are from?

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

    Love this video. You had a great balance between explaining the math deep enough to understand the video, but not too deep to the point where it became a math video and not a physics engine video. I also agree with others that there's a lack of high-quality and highly technical content. I will definitely be going through some of your other videos.

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

    Super interesting and nice visuals to boot. It’s a relief to see an actual software application of this linear algebra stuff I’m learning.

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

    This is bloody brilliant, mate. Awesome video. Going through your github right now. Was looking to learn how to make something as complex as a physics engine, and this came in super handy.

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

    TH-cam algorithm please! Your content is an absolute gold mine of well explained experience in technical topics!

  • @mani_mincraft
    @mani_mincraft 11 หลายเดือนก่อน

    Honestly, this video is highly inspirational. Heck, I have even started studying derivatives and I hope to begin learning force constraints (like you were talking about in your video) next. thank you for being so inspiring.

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

    These simulations look awesome! Can't wait to hear about the project you're making this for.

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

      Thank you! The follow-up should be out within the next few weeks :)

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

    Absolutly loved the video. Honestly it is great to have some technical explanation. I have been writing some simple physics engines and now i know how to expand them. Many thanks

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

    Yo this is awesome. I know nothing about simulating physics, and am just now getting through the necessary maths and CS skills, so seeing it happen and actually wrapping my head around things is really amazing. Thanks for the cool video!

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

    Holy hell this is one of the greatest videos I have seen, especially for your sub count. These are better than my uni degree!

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

    One of the most underrated channels on youtube. Subscribed immediately with notifications on. Best wishes.

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

    That's an amazing project! I loved the video, even though I couldn't understand the mathematical stuff, it was still entertaining. Great job with your content, I think you should get more attention with how good your videos are made!

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

      Thank you! Don't worry about not understanding the math immediately, I didn't either. It's one of those things where I had to really sit down and study it seriously before I understood. It's also why I didn't talk about it much in the video 😂

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

    excellent, I remember trying to understand that witkin paper like 20 years ago, eventually gave up and stuck with rigid body physics for the project I was on. Nice to see someone actually got it working! Great video!

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

    every vid you make is just such a joy to watch, from the content to the editing it's just sublime. sincerely, good job.

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

      Thank you, that means a lot to me! Glad you enjoyed it and hopefully I'll put out videos more consistently this year :)

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

      @@AngeTheGreat honestly, consistency isn't something i care about. take it at your own time and i'll enjoy whatever you put out, whenever you put it out.

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

    In the best way you’re content reminds me of those calming sessions in college studying on khan academy. Some things go over my head but your approach is so cool to watch, your content is criminally slept on!’

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

    man ur videos are so well made, i cant get enough of them

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

    I can’t believe how you just glossed over some of the incredible work you did just to make this, easy sub man you’re killing it

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

    Man this is tremendous!! It will be great if you make some tutorial series explaining in detail how build similar engine at least on basic level! Amazing information on your channel!

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

    Oh god that first animation you showed triggered my rigid body dynamics ptsd
    No but this video is actual gold. Thank you for making this. I’m so glad I found it. Also, thank you for including some of the math.

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

    awesome video, I LOVE the mathematical explanations, differential equations are my passion.

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

    Awesome high quality video and explanation wise, I hope to see more content like this :)

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

      Thank you! There will definitely be more content like this in the future :)

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

    Great work Ange. Keep it up, definitely a useful video!

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

      Thanks Miro, glad it was useful to you and thanks for watching!

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

    This is epic. Well done. Look forward to seeing more on this.

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

    This is amazing, This video and the Engine video… Pretty much blew my mind.

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

    Really incredible that these type of information is available for free!

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

    this was the most informative video on the subject i've ever seen :) triple thumbs up

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

    Such a genius, ahhhhh, I'll probably never get there if I wanted to
    Good job for your hard work to have gotten to that point!

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

    This was absolutely incredible -- keep it up!

  • @Alexander_Sannikov
    @Alexander_Sannikov ปีที่แล้ว +9

    Some constraints (such as rolling constraint, universal joint, etc) can be represented both as an extra body with simpler constraint attached to the bodies that you want to connect to start with, or with a more involved jacobian and no extra body. I recommend initially not wasting time implementing complex jacobians for joints that are not experiencing heavy load and implement them using just an extra body. If/when they become a problem, you can replace the extra body with a page of code for its jacobian, but they must converge to the same exact result in the limit of the extra body having zero mass.

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

      Oh I see, might look into that. I think I might have gotten carried away with the rolling constraint, I really wanted to make it work for some reason lol

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

    This is awesome! I'd love to see further work on this, particularly interested in magnets (and integrating electric component simulation if that's not too crazy)

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

    Working on my 3D engine in C++, this level of results was always my dream. Thank you for sharing.

  • @DBFIU
    @DBFIU ปีที่แล้ว +8

    Keep doing good work Ange, this is what youtube was made for.

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

    Wow, this would make a fantastic tool to teach technical mechanics. I would have loved to have an animation showing me this when learning dynamic

  • @thomascromwell6840
    @thomascromwell6840 11 หลายเดือนก่อน

    I'm amazed. I aspire to this level of work.

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

    This is pretty much my favorite kind of content.

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

    This is an awesome video for introducing computational methods in dynamics ❤

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

    Writing your own screen capture program? Legendary stuff.

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

    Great video, please do more content like this, it's entertaining and inspirational

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

    probably the best video on programming I've seen

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

    Really cool to see the math behind it all.

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

    really cool engine!
    the sims with the rolling constraint look awesome, so the tedious math was totally worth it 😅
    physics aside, i really loved the visuals. great job!

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

      I knew as soon as I started this project that rolling constraints were gonna be a thing, no matter how painful it was haha... Thanks for watching and glad you enjoyed it!

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

    awesome content! gets me inspire in a big way
    keep on keeping on!)

  • @stupidguy97
    @stupidguy97 10 หลายเดือนก่อน +1

    Amazing quality. Subbed!

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

    Really nice work, Ange. I wonder if you could get more performance by using hardware optimized solvers. I really like analytical mechanics and this is pure gold, keep going :)

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

    You deserve so much more subs keep it up man

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

    I finally had some time to watch the video as well. You really made some cool stuff Ange.
    I realized that my maths got a bit rusty though but you made me excited about trying something into the direction of physics in games as well.
    Maybe it would be also a good idea to make a maths course for (game/graphics) programmers, too.

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

      The math looks a bit scary but it actually isn't that bad! I'm excited to get flexed on by your next physics project lol. Also I might look into your idea for making a video about 3D math. Thanks for watching!

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

    Very good and educational video! Thumbs up.

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

    Great video, hope to see more of you!

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

    I think 1 of 3 people who got excited when he talked about the Runge Kutta ODE method. One of the best imo

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

    Dude every time I watch your videos, I am amazed!
    What have you studied to learn so much? Very cool vid as always 👍🤙

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

      Thank you and thanks for watching! Well I studied computer engineering in school but I've learned most of what I know from studying on my own. Maybe I just have too much time on my hands 😅

  • @Carlos-kh5qu
    @Carlos-kh5qu ปีที่แล้ว

    really great stuff, i may use it on a project eventually

  • @teachd.marshal1066
    @teachd.marshal1066 2 ปีที่แล้ว +1

    Long time no see, i've been waiting for ur video since i discovered this channel

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

      Your wait is over! Thanks for watching 🙏

  • @j.j.maverick9252
    @j.j.maverick9252 2 ปีที่แล้ว +1

    very useful and really clear explanations. I think you judged the line between enough explanation vs too much maths exactly correct (for me anyhow!)

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

      I spent a lot of time trying to determine where to draw that line haha... I'm glad that I got it right for at least some people, thanks a lot for watching and commenting!

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

    Dude, elaborate on the math part! It is nice to see the theory I've learned in University applied to create a physics engine! A video on the math explanation would be awesome

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

    4:46 absolute madlad!! obs wasn't working properly and he just became thanos and was like "Fine, I'll do it myself" lmao

  • @neutron417
    @neutron417 11 หลายเดือนก่อน +1

    The perfect intersection of Physics, Computer Science and Math

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

    This was super entertaining!
    really cool project

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

      Thank you! I've seen some of your videos too and love your work.

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

    Thanks a lot, found your channel today and now im in a C++ rabbit hole for the next 48 hours at least 😂 great video, with down to earth rational explanations 👌

  • @Aethier-lostwoods
    @Aethier-lostwoods 9 หลายเดือนก่อน

    I'm convinced you only uploaded this as a flex. And it worked.

  • @klibe
    @klibe 10 หลายเดือนก่อน

    the most i've done is remade 3d wireframe projection, and rotation of the camera is still not working, and you can see behind you, etc..
    this is impressive and has blow my mind

  • @David-ng9qh
    @David-ng9qh ปีที่แล้ว +2

    "Oh yeah by the wa. On a completely unrelated sidenote, OBS sucks, so I made my own video capture software." legend

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

    excellent, it would be great to see you tackle open source CAD for engineers. Thank you.

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

    This is epic, and the video encoder program you wrote on the side is also very useful! I am sure you know about the Phun/Algoodoo physics simulation program, man I spent so many hours in there. If you make a game that uses physics I'd love to see the same kind of features in there, like different shapes, gears & water!

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

      Thank you! Not gonna lie, my encoder library is probably the only project I've made that could actually be useful to people lol... I can think of a lot of uses for it, especially for content creators. Regarding the use of this physics engine for a game, that may or may not already be happening... There will be a few follow-ups to this video which I'm pretty excited about. Thanks for watching!

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

      @@AngeTheGreat Your encoder library reminded me of .kkapture, you should look it up! It was written by the people behind the famous .kkrieger game demo. Look up "kkrieger: Making an Impossible FPS | Nostalgia Nerd" if you haven't seen that yet!

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

    Great work!
    Just a small nit, here...
    There are many ways to discretise the vector system:
    dx/dt = f(x,t)
    1 - LHS:
    --------------
    First, we can discretise the lefthand-side using the base definition of the derivative:
    dx/dt = (x(t+dt) - x(t) )/dt
    This one-side difference is the part they call "Euler". It's first order accurate, with errors being proportional to dt^2.
    2 - RHS:
    --------------
    Where in time you choose to evaluate the RHS is also important. The Forward-Euler method evaluates the RHS at t=t, thus:
    (x(t+dt) - x(t))/dt = f(x,t)

  • @DctrBread
    @DctrBread 9 หลายเดือนก่อน

    great video, i was looking into setting up a simulated double pendulum as a learning exercise, but after thinking it through for a bit i realized i would need to know more math.

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

    Loved it! Thank you.

  • @TimTeatro
    @TimTeatro 9 หลายเดือนก่อน

    Nice work! If you intend to always simulate Hamiltonian systems (where energy is conserved) you may want to check out the Verlet algorithm.

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

    commenting to boost engagement because wow this is awesome

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

    Awesome. I love your explain and its great.

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

    When you talked about the difficulty of differentiating the equations without making small mistakes, i got applied mechanics flashbacks. Oh god the hours I've spent trying to find the mistake only to assess that the problem was a misplaced exponent

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

    look i am a youtube viewer since 2012, and my way of selecting which channel to subscribe is really anything but lenient. But this is a rare occasion when just by watching a few seconds of the video I've hit subscribe. NICE WORK DUDE FUCKING NICE HOW DO YOU DO IT

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

    As someone who is learning C++ and is bad at math, this video is really is really giving me motiivation to continue

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

    I'd love to see a video about your Vim setup!

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

    You really know what you are doing

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

    subscribed, epic guy, likes learning things, good at sharing things, good at explaining, epic, video liked.

  • @isaacenquist
    @isaacenquist 11 หลายเดือนก่อน +1

    You can try using a symplectic integrator such as velocity verlet to increase numerical stability so that the energy/system does not diverge over time.

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

    damn, seriously impressive stuff

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

    installed quickly, thanks a lot

  • @regapasyafebriansyah9532
    @regapasyafebriansyah9532 11 หลายเดือนก่อน

    I don't understand a single shit, but this man, THIS MAN IS DESERVE MORE ATTENTION

  • @maurosampietro9900
    @maurosampietro9900 10 หลายเดือนก่อน

    This guy is a good coder

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

    More videos like this please!

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

    What a madlad, obs didnt work, so he made his own version :D

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

    Great work and very informative video! I subbed right away.
    I'm just wondering why you didn't go for Chipmunk lib! I'm pretty sure it works in the same way you're describing, (constraints, iterative solver, etc) and it's incredibly performant! And its FOSS too!