Coding Challenge 183: Paper Marbling Algorithm

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

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

  • @djtomoy
    @djtomoy 6 หลายเดือนก่อน +57

    Every time I watch the intro to one of these videos it feels like you have access to a different version of the internet than me, one filled with wonder, creativity and beauty. 😢

  • @samuelgunter
    @samuelgunter 6 หลายเดือนก่อน +147

    I've been subscribed since watching the snake coding challenge back in 2016 riding home from school, and now I'm at a university, I see we're still forgetting the "this dots" 😅

  • @AryehS1989
    @AryehS1989 6 หลายเดือนก่อน +54

    some of the best content on YT!

  • @motbus3
    @motbus3 6 หลายเดือนก่อน +5

    This still is the best channel about programming ever. You gotta love Dan ❤

  • @justinfahland1225
    @justinfahland1225 6 หลายเดือนก่อน +15

    programming alongside you and trying to work out these challenges in python has reinvigorated my motivation for programming as a hobby again. Its really exciting recreating the things you make in your videos and I'm finally finding programming fun again, keep up the good work

    • @RedHair651
      @RedHair651 6 หลายเดือนก่อน

      What's your equivalent of P5.js?

    • @sontapaa11jokulainen94
      @sontapaa11jokulainen94 6 หลายเดือนก่อน

      @@RedHair651 I am not the one you originally asked, but I myself use pythons turtle library to draw this stuff. You need to implement some stuff yourself, which exists as a builtin in p5js (for example in python you need to program the main drawing loop yourself), but it is quite good still in my opinion.

  • @jaydeep-p
    @jaydeep-p 6 หลายเดือนก่อน +8

    Hands down, you're the best coding channel!

  • @Apchenail
    @Apchenail 6 หลายเดือนก่อน +4

    First video I look at since many years (of the "purple rain coding challenge generation"). The pacing of your video is much more dynamic now, I am sure the young brains are even more attracted by it.

  • @RicoGalassi
    @RicoGalassi 6 หลายเดือนก่อน +9

    This has got to be the coolest coding train videos yet!! Awesome Dan!

  • @vavassor
    @vavassor 6 หลายเดือนก่อน +6

    Years ago I tried to make a fluid sim for marbling. I had a flow sim and was trying to make things more incompressible by reducing diffusion using "back and forth error correction and compensation". Which helped the ink not mix together into grey/brown as quickly. But didn't have that thick ink look. Using vector shapes looks fantastic! And the raster method is cool too. Now I wanna revisit this idea

  • @pompus9068
    @pompus9068 5 หลายเดือนก่อน +2

    I am currently 8 years in the past, learning about PVectors, and I clicked on your channel to see if you're still alive. Not disappointed and looking forward to catching up. Looks like you're not as nervous in front of a camera any more haha. Maturity'll do that to ya :D Anyway just wanted to say, heartfelt thank you SO MUCH for these videos and I love you to death

  • @tsarprince
    @tsarprince 4 หลายเดือนก่อน +1

    5:37 Omaigot those lovely animations, kudos to the editor 🫡, I've just fallen in love with the art of physics and maths. All thanks to you Dan 🙏🙏

  • @tunaroll3957
    @tunaroll3957 6 หลายเดือนก่อน +3

    This is so genuis and showcases how much P5 can accomplish, combined w math!

  • @realcygnus
    @realcygnus 6 หลายเดือนก่อน +4

    Back on the scene with ordinary old school challenges ! 💪

  • @HeadmostCantaloupe
    @HeadmostCantaloupe 6 หลายเดือนก่อน +3

    You gotta love the new editing style with distinctive intros and all of that fancy stuff

  • @MauroGrizia
    @MauroGrizia 6 หลายเดือนก่อน +1

    I'm sometimes absolutely marveled at the amount of science that's being put into art to create this amazing patterns.
    I just saw a minute of this video and I already made up my mind. I'm soooo following this tutorial.

  • @aniketmehendale
    @aniketmehendale 6 หลายเดือนก่อน +1

    i used to watch your channel when i was in college, i came across this video randomly. glad to see youre still at it, ah the nostalgia

  • @jasonoconner7863
    @jasonoconner7863 6 หลายเดือนก่อน +1

    That historical artistic context at the start is gold. Great video!

  • @lbgstzockt8493
    @lbgstzockt8493 6 หลายเดือนก่อน +203

    This video is a great example for why single-letter variable names are a bad idea.

    • @considerthehumbleworm
      @considerthehumbleworm 6 หลายเดือนก่อน +14

      You’ll never take my garbage variable names from me!

    • @WhateverOwO
      @WhateverOwO 6 หลายเดือนก่อน +1

      as long as they work and you put a comment besides it it'll be fine lol

    • @qwerty_qwerty
      @qwerty_qwerty 6 หลายเดือนก่อน +35

      @@WhateverOwO God, please do not suggest that to anyone. Ever. It's okay if it's a solo project with old code that you don't want to touch, but don't _suggest_ it to people!

    • @jeanlasalle2351
      @jeanlasalle2351 6 หลายเดือนก่อน +14

      ​@@WhateverOwOWhy put a comment saying what it is instead of naming it?
      Have fun with "int a; //smoothing factor"
      And adding insult to injury intellisense will be worthless when you call your function which is accepting a variable of type int named a.

    • @krccmsitp2884
      @krccmsitp2884 6 หลายเดือนก่อน +8

      @@WhateverOwO With self-explanatory names you don't need extra comments

  • @JohnHayes-z2q
    @JohnHayes-z2q 5 หลายเดือนก่อน +1

    Whilst watching the coding train,
    thought he was coding a game.
    His maths was sound,
    the topic profound.
    He taught me something again.

  • @fuschia-draws
    @fuschia-draws 3 หลายเดือนก่อน

    dan is the kind of guy that could make anything interesting

  • @elmeromero8761
    @elmeromero8761 6 หลายเดือนก่อน +1

    I just started studying Computer Engineering on College and it has been kinda rough, a lot of stress and there has been times that I've thought about droping out. But then I found your videos and my love for programming came back. I just wanted to say thank you for making programming seem so fun and interesting to me again!!!

  • @LeRouxBel
    @LeRouxBel 3 หลายเดือนก่อน

    Being a really long time follower of the channel, it amazes me to see how much work is going into all of the examples after the initial (rough) drawing of the concepts in the live challenge. I bet the community had a blast helping refactor this code. I wish you all the best

    • @baconheadhair6938
      @baconheadhair6938 29 วันที่ผ่านมา

      can you help me ask a girl out at my school?

  • @theminivann
    @theminivann 6 หลายเดือนก่อน +2

    Oh snap this is my first coding train video that I'm catching on release day, HI DAN THANK YOU FOR BEING AWESOME

  • @esphix
    @esphix 6 หลายเดือนก่อน +1

    The reason for the magSq function being better to use is because it is just the dot product of a vector with itself. This is due to the magnitude being computed using the Pythagorean theorem which uses a square root, which is an expensive operation. By immediately calling the magnitude squared function you remove the need to compute the sqrt.

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

    In a nod to Camus's the Fall:
    "Monsieur", why are most coding teachers so boring? I find myself watching 30 minutes of C# and then head straight back to your videos for some fresh air... not everything is the content, after all... the form matters, too. Thanks for being different... for not taking all of this too seriously... for being colorful in this big white world... .
    Cheers from the land down under,

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

    It's an absolute blast to do marbling. You just need a thickener for water and some pigments that will float. I made fabric and that's how I got on ebay to sell the fabric. I truly like to sculpt and paint.

  • @fabiomartins1218
    @fabiomartins1218 6 หลายเดือนก่อน

    You have no idea how many times I tried to do this, Daniel. Thank you oh-so-much!

  • @onkelhoy1
    @onkelhoy1 6 หลายเดือนก่อน

    Dan as always, thank you for your video, I love listen, watch you struggle in whatever the exciting task you take open yourself meanwhile I struggle on my own work/projects etc

  • @ManishFrenchStudio
    @ManishFrenchStudio 5 หลายเดือนก่อน +2

    An absolute triumph! 🌟🎥 This video is a triumph of content creation, seamlessly blending knowledge and entertainment. The presentation is flawless, and the visuals are nothing short of spectacular. I was entranced from the first moment and left with a deep appreciation for the subject matter. It's evident that the creators poured their creativity and expertise into this project, and the result is nothing short of exceptional. I'll be singing the praises of this video for a long time. Bravo! 👏🚀2.8k

  • @purigringo
    @purigringo 6 หลายเดือนก่อน +1

    Cara, vc é fera demais. gosto muito dos seus conteudo e a sua forma alegre de compartilha.

  • @forgey9211
    @forgey9211 6 หลายเดือนก่อน +4

    I'm here for you 😊 Another beautiful video

  • @HansMilling
    @HansMilling 6 หลายเดือนก่อน

    Long time follower. This reminds me so much of making graphics demos on my Amiga and later PC. It was all about creating cool effects.

  • @clearwavepro100
    @clearwavepro100 6 หลายเดือนก่อน +1

    Excellent explanation of the formula! Super accessible :)

  • @tedhinklater3203
    @tedhinklater3203 6 หลายเดือนก่อน

    I don't even code but your enthusiasm is pretty infectious and I do love the art

  • @raulAlbiyol
    @raulAlbiyol 6 หลายเดือนก่อน +1

    Why Are you so Awesome? Keeping making such videos.. Love from INDIA❤

  • @SimpleCarGuy
    @SimpleCarGuy 6 หลายเดือนก่อน

    Can you do a tutorial on how to always be happy, enthusiastic and so positive!?
    Love the videos!

  • @mrkjsmt
    @mrkjsmt 6 หลายเดือนก่อน

    Thanks so much!! I'd love more of these oldskool graphics challenges, please, please!!

  • @matcha69420
    @matcha69420 6 หลายเดือนก่อน +9

    yay just in time for my bus commute!

  • @leonardopotenza7379
    @leonardopotenza7379 6 หลายเดือนก่อน +1

    u are the best Dan

  • @BarneyCodes
    @BarneyCodes 6 หลายเดือนก่อน

    Amazing video as always! This one was so much fun!

  • @TiferetJackson
    @TiferetJackson 6 หลายเดือนก่อน

    That's amazing at first I thought it impossible yet you made it look so easy! 😮

  • @wlockuz4467
    @wlockuz4467 6 หลายเดือนก่อน +6

    The Bob Ross of coding.

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

      nice

  • @DipamSen
    @DipamSen 6 หลายเดือนก่อน +1

    Very cool video!!
    PS: After having watched many OOP tutorials, at 2:31 i totally expected the two "properties" to be "centre" and "radius" 😅

  • @umitsn
    @umitsn 6 หลายเดือนก่อน

    Great example, thanks so much 🙏🏻

  • @reid_makes_art
    @reid_makes_art 6 หลายเดือนก่อน +1

    Great aesthetic!

  • @danielrubio2746
    @danielrubio2746 6 หลายเดือนก่อน

    You are the best!

  • @FayolaOnline
    @FayolaOnline 2 หลายเดือนก่อน

    I may modify this to allow for colour selection and limiting the effect from a vector to just where the mouse was dragged.

  • @mmilerngruppe
    @mmilerngruppe 6 หลายเดือนก่อน

    that's really an awesome video! thank you a lot.

  • @StayMotivate-or7rf
    @StayMotivate-or7rf 6 หลายเดือนก่อน

    Hello sir you are doing great work for our community,but I have a humble request please make video on maths learning topics which are important to become AI and ml engineer with proper guidance and free learning resources and full roadmap of learning mathematics please sir ! 🙏🙏 But thanks for your hardwork😊.

  • @chichongc
    @chichongc 6 หลายเดือนก่อน

    Oh! I found I really like this algo~

  • @ethanhermsey
    @ethanhermsey 6 หลายเดือนก่อน +1

    Ooh this is really cool! I've unsuccesfully been trying to get something like the immiscible drops, definitely trying this out :)
    hhmm.. tine lines from flowfields

  • @ForrestLowe-ez6is
    @ForrestLowe-ez6is 6 หลายเดือนก่อน +8

    Coding Bob Ross

  • @ZerofeverOfficial
    @ZerofeverOfficial 6 หลายเดือนก่อน +7

    immiscible, my new favorite word

  • @sangwookim5551
    @sangwookim5551 6 หลายเดือนก่อน

    Hi Daniel! I am a huge fan of your works and even made my own generative art NFTs using p5.js following your tutorials! Just wondering though, what are your thoughts on AI art, and how it may impact the value of human-made art in the coming years? Do you think the current art(including generative art) will retain its value when AI could make them just as good, if not better? :)

  • @yousifmobark6981
    @yousifmobark6981 6 หลายเดือนก่อน

    i love this channel

  • @DivineIntervention-12
    @DivineIntervention-12 6 หลายเดือนก่อน

    2.5 thousand likes and 0 dislikes is incredibly uncommon XD keep it up

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

    It's sad to see the p5 guy growing OLD. I am following your content from when I was in high school.

  • @subinaypanda9936
    @subinaypanda9936 6 หลายเดือนก่อน

    We can have a relation between the radius and the circleDetails like higher the radius, higher will be circleDetails.

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

      Yes, this is a great idea!

  • @jaybee2530
    @jaybee2530 6 หลายเดือนก่อน +1

    This is fantastic, great work! This also makes me feel very dumb. 😅

  • @limboreversible
    @limboreversible 6 หลายเดือนก่อน

    Hi, this is amazing.
    Is there a version in processing code of this coding challenge ? I'm totally Stuck with the marble function:-( Thanks again Mr. Schifman for your continuous inspiration

  • @flashbond
    @flashbond 6 หลายเดือนก่อน +1

    That's a Turkish art called "Ebru". I guess the English phonetic will be Abrou

  • @bluegamemc1403
    @bluegamemc1403 6 หลายเดือนก่อน

    no clue what this means but I still clicked right away

  • @at-2974
    @at-2974 6 หลายเดือนก่อน

    Could a generalized tine line still function effectively without relying on the dot product? Instead, could it exclusively use vertical tine line, achieved by rotating shapes to align the vertical tine line at the desired location, and then rotating the shapes back to their original angles?

  • @TheCatull
    @TheCatull 6 หลายเดือนก่อน

    Danke!

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

    Thank you Dan. Video says "New Chrome Availavle" 😁

  • @xotmatrix
    @xotmatrix 6 หลายเดือนก่อน

    Super interesting.

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

    Just found this channel. Wow

  • @NoVIcE_Source
    @NoVIcE_Source 6 หลายเดือนก่อน

    lovely

  • @limarcospap
    @limarcospap 6 หลายเดือนก่อน

    Damn, insane video! ❤

  • @HarDarkable
    @HarDarkable 6 หลายเดือนก่อน +1

    Long time since This dot Song!

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

    When the book comes out, please let us know. I think it'll be in September, right?

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

      September 3rd. Check natureofcode.com for preorder info and updates!

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

      @TheCodingTrain will do. Thanks, and congrats.

  • @stuarttierney6709
    @stuarttierney6709 2 หลายเดือนก่อน

    What happens when P = C? You get a divide by 0 error in the marbling function.

  • @gutzimmumdo4910
    @gutzimmumdo4910 6 หลายเดือนก่อน

    hi coding train, i saw a cool pattern and i was wondering if u could program such a thing, is called "cohomology fractals", seems quite cool of a visual but also kinda complex maybe.

  • @outside8312
    @outside8312 6 หลายเดือนก่อน +3

    Kinda want to try water marbling my nails again now... But it will probably end badly 😅💅

    • @paultapping9510
      @paultapping9510 6 หลายเดือนก่อน

      that would totally work! enamel is hydrophobic, so as long as you masked your fingers off you could use hydrodipping.

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

      Please share if you do!

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

    СУПЕР ТОПОВЫЙ КАНАЛ, жаль что я нашел этот канал только недавно. чууух чууух

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

    Please note that homogeneous is five syllables. It is not the same as homogenous.

  • @dhairyashah3104
    @dhairyashah3104 6 หลายเดือนก่อน

    make a video on queuing theory please

  • @000aleph
    @000aleph 6 หลายเดือนก่อน

    So do we have incompressibility?

  • @RajJaiswal538
    @RajJaiswal538 6 หลายเดือนก่อน

    Any idea how the smoother version of it would work? Should I just interpolate it from older position to newer position with time?

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

      That's an interesting idea to try! I did it by adding multiple smaller blobs of the same color slowly, it's not efficient or optimal but seems to work. Maybe removing blobs that are fully enclosed would help? You can see all the example and variations on the webpage linked in the description.

    • @RajJaiswal538
      @RajJaiswal538 6 หลายเดือนก่อน

      @@TheCodingTrain thanks! Will check them

  • @zylascope
    @zylascope 6 หลายเดือนก่อน

    Cool!

  • @egebayraktar6620
    @egebayraktar6620 6 หลายเดือนก่อน

    adamsın kralsın

  • @WinterSolsticeGaming
    @WinterSolsticeGaming 6 หลายเดือนก่อน

    Cool Vid

  • @RandomEG1234
    @RandomEG1234 6 หลายเดือนก่อน

    please help, my variable will not save, and i need it to stay the same when i re run it

  • @pierremarcotte6299
    @pierremarcotte6299 6 หลายเดือนก่อน

    Dumb guy here... what part in the code guarantees that the area of a drop is always equal?

  • @nguyenlevlog4586
    @nguyenlevlog4586 6 หลายเดือนก่อน

    good

  • @SquareRootOfNegativeOne
    @SquareRootOfNegativeOne 6 หลายเดือนก่อน

    Does the java code exist for Processing? I tried converting it myself and I can't get it to work. Probably because I don't know what I'm doing....

    • @SquareRootOfNegativeOne
      @SquareRootOfNegativeOne 6 หลายเดือนก่อน

      never mind. figured it out - learned a couple things too!!

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

      I haven't been keeping up with porting the examples, but you are welcome to add to github.com/CodingTrain/Coding-Challenges/

    • @SquareRootOfNegativeOne
      @SquareRootOfNegativeOne 6 หลายเดือนก่อน

      @@TheCodingTrain I put up what I got but I can't help but feel like I shouldn't be the one doing it - I'm self taught and there may be errors. It would be amazing though if I could get some feedback though...

  • @daviddawkins
    @daviddawkins 6 หลายเดือนก่อน

    I watched this at x1.25 by mistake and now I don't think I can sleep

    • @TheCodingTrain
      @TheCodingTrain  6 หลายเดือนก่อน +1

      if you watch it backwards at 0.75x it'll cure you

    • @daviddawkins
      @daviddawkins 6 หลายเดือนก่อน

      @@TheCodingTrain I forgot to add that I loved the video.

  • @jensBendig
    @jensBendig 3 หลายเดือนก่อน

    The cool thing with Daniel Shiffman's videos is not only they motivate, I also can remember their rough idea, days or weeks later. He must be a great teacher.

  • @jthawken123
    @jthawken123 6 หลายเดือนก่อน

    Ah yes, the inside cover page of the hymnal.

  • @Arkādija-x9w
    @Arkādija-x9w 6 หลายเดือนก่อน

    Teacher:3

  • @bobweiram6321
    @bobweiram6321 6 หลายเดือนก่อน

    Imagine applying this in real time to reality through Apple's Vision Pro Goggles.

  • @geoffwagner4935
    @geoffwagner4935 6 หลายเดือนก่อน

    holy cowsay , I actually got magSq();

  • @alvarobyrne
    @alvarobyrne 6 หลายเดือนก่อน

    Kwel!

  • @planktonfun1
    @planktonfun1 6 หลายเดือนก่อน

    its not fluid enough

  • @gsestream
    @gsestream 6 หลายเดือนก่อน

    less is more you know. one is enough. do you be lacking marbles. God be your only marble. of great worth. dont sell it to anyone. localized intersection fluid sim is not expensive. you can either do a octree space division or just 3d range sorting intersection algorithm. or just the falling sand simulation but using liquid/gas pressure local small steps simulation. just like life simulator. nothing is a problem. all pre-solved. even those that you have not solved. honor to God. not to knowledge. even if God knows everything. you say you are miscible. you said "I am miscible". who do you mix with in the pot. fluid sim is like neutral net drift training by evolutionary algorithm. it will settle in some balance after simple optimization steps. minimum (proton) sized dots self-arranging neural fluid matrix. the fluid dots approximate the whole fluid in the mass. you can also derive your own fluid pixel algorithm of other type. physical or not. well if each pixel/cell can hold only hold one fluid unit then you have the algorithm working principles. the more and smaller the simulated drop cells are, the better and heavier (gpu) the simulation is. graphically making the drops overlap makes a continuous fluid in all places necessary, using smaller area for sphere/circle drop collision. there are no other drops. you dropped your marbles. time will tell. lol only a bit insane. stay sane dr. so you make a gpu object of circle shape and push it around. hmh. deformation. not dot simulation at low scale. instead of using the deformation graphics function directly, maybe do the low level simulation yourself. also interesting. the underlying tech code I mean. seems like deformation math lib is being used heavily. oh you actually do the small drops simulation. my bad. drink drink. coffee makes depressed drops. wow dude. nice trip bro. photoshop finger tool for paint drops. maf. the paint must be a leaner. paint water foundation simulator. no sell.

  • @DanielBaumert
    @DanielBaumert 6 หลายเดือนก่อน

    its nearly impossible to follow your video if you are always zooming in for now reason.

  • @AtomicBl453
    @AtomicBl453 6 หลายเดือนก่อน

    watch this at 0.25 speed, thank me later.

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

    Next, make this algorithm in raster (each individual's pixels)🌚

  • @andreestermeneses5615
    @andreestermeneses5615 6 หลายเดือนก่อน

    You are the best!