06 - The simplest way to simulate a triple pendulum

Поделиться
HTML-код
  • Опубликовано: 18 ноя 2024

Комментарии • 32

  • @AJWeeks
    @AJWeeks 3 года назад +28

    Great explanation :)
    There is a small typo in the equation at 2:37 though, weights should be divided by w1+ w2, not w1 + w1.

  • @novidtoshow
    @novidtoshow Год назад +12

    I think it would be good to plot the total energy of the system in time. This would help us understand whether the solution is dissipative or not.

    • @samsaraAI2025
      @samsaraAI2025 8 месяцев назад

      I am loosing energy, even with a single pendulum what could be the reason?

    • @novidtoshow
      @novidtoshow 8 месяцев назад

      @@samsaraAI2025 Your time integration is not conservative. The numerical discretisation is "leaking" energy.
      Use a 4th-order Runge-Kutta or a time-implicit method like backwards-Euler.

    • @THarshavardhanReddy
      @THarshavardhanReddy 28 дней назад

      @@samsaraAI2025 Euler integrations are approximations for non-infinitesimal dt.

  • @konstantinbondarenko5235
    @konstantinbondarenko5235 Год назад

    Thank you for this great tutorial.

  • @7steelrainbow
    @7steelrainbow 2 года назад

    Thank you for this great tutorial. Seeing that match of the trajectory with the analytic method is amazing.

  • @EastingAndNorthing
    @EastingAndNorthing 3 года назад +3

    You are my lord and saviour Matthias!!!

  • @mingshey
    @mingshey Год назад

    I've recently started simulating double and triple pendula. I use Maxima to generate the necessary ODEs from the Lagrangian and then feed them to the rk(RK4 iterator) function. That way I can avoid coding the haywire ODE directly. I check the mechanical energy drift to see if the calculation is dissipative.

  • @dalegriffiths3628
    @dalegriffiths3628 Год назад

    Super cool video, got it working great in python too - thanks very much.

  • @shulehr
    @shulehr Год назад +1

    i think video would reach wider audience if there was something about constraints and rope/cloth in the title. Most people aren't interested particularly in pendula

  • @BlaseAnDerHand
    @BlaseAnDerHand Год назад

    Merci, guets tutorial.

  • @landsgevaer
    @landsgevaer Год назад

    You should be able to estimate the error by solving with two different step sizes.
    That works for any number of links.

  • @leoli440
    @leoli440 Год назад

    wonderful :)

  • @herseem
    @herseem Год назад

    This is fascinating. I've written a 2D gas flow simulator which was relatively easy, and it exhibits patterns you'd see if you were watching water flowing flowing through a similar shape where the height of the water is analogous to the pressure of the gas at any given point. One thing interests me greatly though: From the path of the end point, what method would you use for working out the structure of the pendulum? ie, how many links and which weights? I have a reason for wanting to know how to do that. It's essentially reverse engineering a chaotic pattern which of course has multiple applications, preferably without doing a brute force method.

  • @samsaraAI2025
    @samsaraAI2025 8 месяцев назад

    I made the same algorithm using c#. It works but I can see a global dumping of the energy even with a single pendulum. What could be the reason? Thanks!

  • @santiagozera
    @santiagozera Год назад

    This is beautiful. Are there any books to learn this stuff? Could you enumerate some, please? Thanks in advance

  • @santiagozera
    @santiagozera Год назад

    Awesome!

  • @AdityaChaudhary-oo7pr
    @AdityaChaudhary-oo7pr Год назад

    Thanks !! subscribed

  • @adelelopez1246
    @adelelopez1246 3 года назад +3

    Is there a simple way to make sure energy is conserved, even with less steps?

    • @TenMinutePhysics
      @TenMinutePhysics  3 года назад +7

      You can measure the energy loss and add it evenly to the particles. However, objects are typically highly damped so instead of pumping energy into the system, extra damping terms are added to the equations in general.

    • @Zymplectic
      @Zymplectic 3 года назад

      @@TenMinutePhysics That's not a good advice. Compensating energy errors by arbitrarily modifying the energy will generate errors - it is not symplectic, it is not time reversible and it will not exhibit a correct behavior in phase space.
      Masking numerical errors with damping effects is not really an option if your system is supposed to be energy-preserving
      To conserve energy with less time steps, you'll obviously want to use higher order symplectic integrators.

    • @TenMinutePhysics
      @TenMinutePhysics  3 года назад +7

      @@Zymplectic Yes, that is not really physically correct. Some people have done it in graphics. However, as I said, the real strength of PBD is not energy conservation but robust handling of zero-compliance constraints and simplicity. In the real world, nearly energy conserving systems are rare. In contrast, most objects are highly damped which is the reason why additional damping terms are used significantly higher than the numerical damping introduced by implicit integrators. In contrast, stretchy cloth looks really bad - if not intended :-)

    • @Zymplectic
      @Zymplectic 3 года назад

      @@TenMinutePhysics It wasn't a critique of the video which is on point, but merely to the "out of context"-point of arbitrarily adding energy to compensate for dissipative numerical errors.
      The real world being "inaccurate" does not prevent us from making accurate energy-preserving simulations though. I'd agree that energy conservation is typically not what you want for cloth simulations. Unless the cloth is floating in space...

  • @ghostbusterz
    @ghostbusterz 9 месяцев назад

    In code you subtract the actual distance *from* the rest distance (L0 - L), but in the mathematical equation you show subtracting the rest distance *from* the actual distance (L - L0). This is quite confusing.

  • @BooBaddyBig
    @BooBaddyBig Год назад

    Your hard constraint of position method does not conserve angular momentum. You should adjust the tangential velocities as you move the particles.

  • @SellusionStar
    @SellusionStar Год назад

    When I first implemented a double pendulum (using analytical equations) I thought I'm "stimulating" it. But that wasn't true of course.
    At least if we don't consider the integration part.
    I then tested Euler method vs RK4, to see which is more stable.
    It would be interesting to see which is faster (amount of operations vs. substeps)

  • @ai_serf
    @ai_serf Год назад

    Damn... So, there's no analytic solution to the derivative of a 2 pendulum problem. I feel sad when I see you're sim diverge from the analytic path. I wish we could simulate reality a bit more accurately for personal reasons. I understand for games and practical applications, the accuracy is good enough with numerical methods.

  • @tortue5080
    @tortue5080 Год назад

    good but you shoud delete the video, because i'm about to do so much better