Coding Challenge 177: Soft Body Physics

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

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

  • @TheCodingTrain
    @TheCodingTrain  Год назад +19

    🚂 Source code and passenger showcase: thecodingtrain.com/challenges/177-soft-body-character
    💫 Support the Coding Train and watch ad-free on Nebula: nebula.tv/videos/codingtrain-coding-challenge-177-soft-body-character

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

      @TheCodingTrain, Huge fan sir thank you for this upload! I know you're incredibly busy these days but with all due respect, I feel that you should have done this from scratch like you've done with the quadtree tutorial, 2d physics, the boids tutorial, and countless others instead of using an external library!

    • @tile-maker4962
      @tile-maker4962 Год назад

      This is great. Do you think it is possible to integrate angles instead of springs between points to make it? Like a spring angle or something?

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

      @@CodeParticles I appreciate the feedback, you might like to see the spring challenge which has some more implementation details! ruclips.net/video/Rr-5HiXquhw/видео.html

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

      @@TheCodingTrain Thank you! 👍

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

      Amazing you found time to post another video, your enthusiasm always motivates me to program again!

  • @yohansaba5179
    @yohansaba5179 Год назад +139

    Thank you for everything Daniel, you have such a wonderful soul.

  • @hotrodhunk7389
    @hotrodhunk7389 Год назад +31

    I just started learning coding. After finding your content it is like a breath of fresh air! You make it seem so fun! The ability to do anything with a computer is really cool and powerful. Thanks for your videos.

  • @AlHearn
    @AlHearn Месяц назад

    Daniel, I hope you continue to make your videos. Thank you for the great job you do.

  • @mmilerngruppe
    @mmilerngruppe Год назад +2

    Thank you, Daniel, your videos always make me happy!

  • @xnick_uy
    @xnick_uy Год назад +73

    This is the Coding Challenge video with the highest quality so far: well scripted narrative, lots of tips and logical arguments, an easy to follow and well organized code. Also, the part about how to set up the html and the imports is very appropriate. The video edition also superb.
    This goes to show your experience making these videos, and also dedicating so much time to the book possibly has an impact on your story-telling style, for the better.

    • @TheCodingTrain
      @TheCodingTrain  Год назад +11

      Thank you for this feedback, I really appreciate it!!

    • @ethanmendelson6978
      @ethanmendelson6978 Год назад +2

      @@TheCodingTrain Definitely the best presentation yet. Got halfway through the video without opening my IDE because I was fixed on just watching.

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

      @@TheCodingTrain do more apple ii videos it is so good

  • @AaronAsherRandall
    @AaronAsherRandall Год назад +3

    I have always loved your videos! I am a novice game programmer in C# and Unity, it seems like a lot of these tools in Javascript could be expanded to make games with complex physics and graphics in the browser!

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

    I receive every video of the Coding Train as it was a Christmas gift and I was 5 years old !
    I'm so happy and excited !

  • @s81n
    @s81n 20 дней назад

    Omg I had no clue you wrote The Nature of Code. I adore that book!

  • @IzUrBoiKK
    @IzUrBoiKK Год назад +5

    I am mainly a python programmer, but often use your videos as a tutorial for things. Thanks bro for all this. ❤❤❤

  • @nimlhug138
    @nimlhug138 Год назад +4

    WOW... I got a flashback of a younger version of me having fun with SodaConstructor back in 2000-2001

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

      Ooh, I loved playing with that. >.> I even still have my username named after it.

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

    This is amazing! this came in clutch when I've been researching simple way to create softbody physics. Thank you for this!

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

    Super clear explanations. I learn something new every video watched!

  • @PeranMe
    @PeranMe Год назад +14

    Oooh, new NoC version! Pardon my drooling here...

    • @cpasket122
      @cpasket122 Год назад +3

      How the hell did you comment 7 hours ago if the video was released 5 hours ago???

    • @PeranMe
      @PeranMe Год назад +3

      @@cpasket122 What? I'm just that fast, ok? Keep up!
      (Subscribers sometimes get videos early)

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

      @@PeranMe oh, thought you were a time traveler or something lol

  • @chopstix9093
    @chopstix9093 Год назад +2

    its been too long since a coding train video ;-; thank you!!!

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

    Soft body physics... my doctor has been wanting me to work on this!😉

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

    fun fact! the youtuber who explained recently how jelly car worked, he actually made jelly car!

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

    Fun fact, soft body simulations actually have a lot of similarities with finite element analysis. In fact, one could use a soft body to simulate a ideal truss structure. When it comes to 2D, or 3D, structures, the main difference becomes that the rigidity of the system is calculated based on the shapes between springs, called elements, and there's some resistance to rotation in the nodes, so a square shape doesn't fall flat. But the idea of modeling a continuous body as a set of discrete points forming a graph, that exhibit some degree of rigidity between them, is very much akin to elastic finite element analysis.

  • @wlockuz4467
    @wlockuz4467 Год назад +2

    Can't wait for Nature of Code!

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

    pretty cool that you're doing a rewrite of NoC
    read it last year and played around with Processing
    niftiest sketch I did was an ant pheromone trail behaviour simulation, reminiscent of SimAnt surface view

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

    This is gonna sound crazy but the conversation about repetitive code starting at 15:04 really helped me visualize the purpose of object oriented programming as opposed to procedural programming. Noobish and oddly specific but still

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

    wow. you are simply a magician. I've been dreaming about this for years!!!!

  • @Sasham4
    @Sasham4 2 месяца назад

    Thanks!

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

    Yay. 👽✌️ Keep making programming fun for everyone and become rich. You are super fun. Knowledge is boring only if there is none to play with it. ❤ * individual physical position vector.

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

    Thank you Daniel 🙏

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

    Thanks for helping the programming community own the toxi libs.

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

    I really regret i didnt find this video when i started coding

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

    please do a series where you make a rigid body physics system without physics libraries like box 2D

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

      Hi, Nathan! In his Nature of Code playlist, Dan builds the basics of a physics engine from scratch… It’s just amazing!

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

      @@vsueiro thanks, I'll be sure to watch it!

  • @manuelm.561
    @manuelm.561 Год назад

    Génial !!!

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

    I never did javascript. I code java for a living, but js and p5 was new to me :) But this looked soo fun, that i wanted to try it. got some problems with preview in vs code (since web editors are not my thing...), but it was really fun :) So thanks for that :)

  • @kimeg7294
    @kimeg7294 Год назад +3

    Hello Daniel, this was very fun to watch and educational for learning how particles behave based on soft body interactions. Would this principle be applicable for simulating a "verlet cloth" effect on particles forming a 2D rectangular shape?

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

      Yes! You can see more about this in an older video: ruclips.net/video/jrk_lOg_pVA/видео.html

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

    ah finally a new video :) great as always :).

  • @emilie1977
    @emilie1977 Год назад +4

    wow good subject! I want simulate my home under earthquake ;)

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

    hi daniel. thank you for everything, you've tought me alot. but could you please try to demessify you playlists please. you have so many greate tutorials and course but they are all out of order and sometimes missing. thankfully someone else has make a playlist of you coding challanges. you've tought a whole lot but honestly i makes my head explode going through it all to find the ones i want. i would learn alot more if your playlists and courses where organized in your channel or a website per say. just a segestion.

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

    Great video. What's the name of the tune at 3m30s?I can't get it out of my head.

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

    I was like
    "Ohh this reminds of Jelly car... Great game and amazing memories with my brother"
    Popped up out of the blue

  • @Masda.X
    @Masda.X Год назад

    Thanks a lot sir!

  • @alexandermcclure6185
    @alexandermcclure6185 5 месяцев назад

    but how do i make the springs themselves without toxiclibs :(

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

    Would it be possible to make 2 buddies collide and bounce together using this library?

  • @andrewcrook6444
    @andrewcrook6444 11 месяцев назад

    Don’t they have dampeners with springs?

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

    Wait, new edition of The Nature of Code coming?

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

    Is there a reason you prefer the p5js web editor over something like openprocessing? I only recently discovered it but it seems much nicer

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

    Is it code for slime and truss physics?

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

    Another Dane saves the day. They invented C++, PHP, C# and V8

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

    jesus ! you have risen from the dead ! happy easter : )

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

    The JellyCar update is triggering a revisit of softbody physics projects by a bunch of devs :-)

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

    hey daniel i tried copying the code but on my end it isnt working can you pls explain?

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

      btw really great video

  • @01binaryboy
    @01binaryboy Год назад

    Buy the Book(Nature of Code 2nd edition) option not working

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

      It's not out yet, the site is just a preview! (old version: natureofcode.com/)

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

    07:24 is this like the using system.windows.forms in C#?

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

    The ToxicLib is the next Golan Levin

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

    Juhani, look! You're on TV!

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

    ❤❤❤❤❤

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

    But does it jiggle?

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

    Me learning C# now, yay!

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

    Let's calculate PI from this squishie character

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

    Finally

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

    I thought you were dead

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

    we all know why we are here

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

    Third

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

    I swear if someone ever hurts this man I'll track them down personally

  • @Sayamak
    @Sayamak Год назад +7

    Daniel really is a great educator and entertainer. Thank you Sir for your videos and especially The Nature of Code where I am currently enjoying the chapter about fractals.

  • @RedEyedJedi
    @RedEyedJedi Год назад +4

    OMG you're writing a new version of the nature of code :D I have the original and its my favourite book by a mile.

  • @kapilishere
    @kapilishere Год назад +4

    It was fun to watch, I'd definitely code my own squishie character!

  • @stormwix
    @stormwix 6 месяцев назад +1

    1:32 The second picture to the left kinda reminds me of a Hyperbolic tessellation 🤔. Anyone else?

  • @NinjarioPicmin
    @NinjarioPicmin Год назад +3

    0:30 that is truly beautiful. Any idea on where to read up on how that was done?

    • @WhateverOwO
      @WhateverOwO Год назад +3

      it's probably pressure soft-body physics with really low pressure and k parameters

  • @jayjasespud
    @jayjasespud Год назад +3

    This train sure has come a long way since departure.

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

    I need to catch up on the Coding Challenges.

  • @sambeard4428
    @sambeard4428 Год назад +2

    When I watch your videos, I feel you talk to me, not just saying something, but actually talking to me, like I'm a child. But not at all in the negative sense. Your instructions are clear, friendly and unassuming. I hope you either have kids or will some day because I'm sure they'll turn out as marvelously curious little beings.
    Little bit of a weird post, I know, but this is just how I like to express my gratitude.

  • @zer001
    @zer001 Год назад +2

    nice to have you back.

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

    Code refactoring is one of the few things that bring me true joy in this life

  • @nagesh007
    @nagesh007 10 месяцев назад +1

    Awesome , Mind Blowing 😍

  • @ToastaToast
    @ToastaToast Год назад +2

    I'd like to learn more about object destructuring

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

      It's pretty straight forward.
      Say you have an object `X` with the properties `a`, `b`, and `c`. You can access these by doing:
      X.a
      X.b
      X.c
      You can also assign these to local variables to make it easier to access:
      let a = X.a
      let b = X.b
      let c = X.c
      Object destructuring is a thing which lets you do all this in a single line by doing:
      let {a, b, c} = X
      This then creates local variables which are set to the properties on `X` that have the same name. You can use this to pick and choose which properties you want:
      let {a, c} = X // This only picks X.a and X.c
      You can also rename properties:
      let {a: newA} = X // We now have a variable called newA that is the same as X.a
      Finally you can store the remaining, non-picked properties using the rest operator `...`
      let {a, ...otherProps} = X
      // We now have the variables `a` and `otherProps` where `otherProps` is an object with properties otherProps.b and otherProps.c
      It's all basically shorthand but very, very useful.

  • @jetexeryt1127
    @jetexeryt1127 2 месяца назад

    I like how i can watch all coding challenges, even those from 6 years ago and litterally the only thing that changed is his hair color (and this is the best thing that could happen)

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

    Coding Challenge: Atom rendering like minute physics in this video ruclips.net/video/W2Xb2GFK2yc/видео.html&ab_channel=minutephysics
    I think this would be an adequate challenge and addition to the playlist.

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

    it sure would be fun to write the physics engine on your own. I just spent about an hour or so making a quick engine with a system for springs and force fields (a force applied to specified particles based on the particle's conditions like location, hence "field")

  • @spacelamaglama
    @spacelamaglama 7 месяцев назад +1

    what a nice video! You are like the Bob Ross of developing

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

    Novice here, please could someone explain why referencing a global variable from within a class is considered bad practice (as discussed at 20:38)?

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

    Greetings from Finland! 🇫🇮 That is where you inspiration came from this time! 😉

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

    What about detecting and resolving colisions between two soft body objectS? Sounds like a can of worms ^^'

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

    Amazing! Thank you for really demystifying soft body physics. I thought it would be much more complicated than a few springs 😄

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

    Does anyone done that in Visual Studio Code? I have problem with toxiclibsjs 🥺

  • @partymarty1856
    @partymarty1856 11 месяцев назад

    glad to see you making video (I've watched one so far"

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

    Is there a circuit emulator playlist on this channel?

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

    So good to see you back and with another interesting challenge.

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

    The only place wheyi feel that i can code what i want

  • @Michi0-0
    @Michi0-0 Год назад

    You are the nicest guy ever❤❤❤

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

    I miss your videos!

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

    very bad, kid level

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

    when destructuring you can write {VerletPhysics2D: physics} to rename the destruct.

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

    Danke! Thank you!

  • @codingcompetitiveprogrammi6118

    can you make video about algorithm and structure
    sir you should become professor and teaching in highest university like MIT and harvard

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

    Are you going to do rigid body physics next? Maybe throw a squishy sphere at a brick wall at varying speeds and animate it bouncing off and breaking through.

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

    I don't have notifications on and it took YT 2 months to suggest this. I have surely watched enough of your videos to get instant feed updates regardless of the notification settings.

  • @고가-y7o
    @고가-y7o Год назад

    Thank u so much! I can’t express how much your video helped me but I ‘m surely that you have saved the whole of my college life!😂

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

    I'm doing it on vs code and it says that 'GravityBehavior' is undefined and that it cant access "physics" before initialization :(

    • @TheCodingTrain
      @TheCodingTrain  Год назад +2

      Can you pop into the coding train discord we can help there! Link in description.

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

      @@TheCodingTrain Thank you for replying so fast! that's amazing, I will do that, thank you!

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

    Mr. Shifftman, can you plz make mor videos abait a toppic whithout using a lib? i like yor wideos but i like it more if you do it from scratsch. so pls get not angry, see ut as an like to have. 😇😉

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

      I get this feedback a lot and will consider it! But I do like libraries :)

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

      @@TheCodingTrain Maybe in future videos where you’re using a library, link to past videos where you implemented the thing (or something similar) without the library. Then anyone who wants to see it from scratch has that option, but you can continue to use libraries bc they make all of our lives easier :D

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

    Hi, Loved the video! Would you be able to do a video with collision detection between 2 shapes consisting of a set of points and springs?

  • @tomoki-v6o
    @tomoki-v6o Год назад

    new to the channel , thank for presenting this beautiful topic
    don't you notice the 3D illusion effect 23:55

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

    Write a "complete" physics engine (from scratch) [in 60 mins]

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

    ❤❤love everything done for us and teaching in. Such a cool way❤❤❤