Coding Challenge 185: Unfolding Fractals

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

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

  • @TheCodingTrain
    @TheCodingTrain  27 дней назад +16

    25% off Nature of Code with code CHOOCHOO: natureofcode.com (also includes exclusive sticker+bookmark!)

    • @vu_derArchitekt
      @vu_derArchitekt 26 дней назад

      🎉 I pre order the book in July (to Vietnam), waiting for your beautiful sticker and bookmark 😊

    • @TheCodingTrain
      @TheCodingTrain  26 дней назад

      @@vu_derArchitektthank you for the support!

    • @unveil7762
      @unveil7762 22 дня назад

      Ah finally I clicked!! But i forgot to apply discount LOL!! I always wanted to have that book, was so hyped !! THANKS!!!!!!!!!!!!each time i see one of your video ,i want to write a shader or do some procedural modelling 🙂

    • @farazk9729
      @farazk9729 12 дней назад

      Maestro, I just preordered Nature of Code (love the color of the book BTW); I will get it on Dec 10 (I am based in Australia). In the meantime, would you recommend going through the old book? The one with Processing... I have read parts of it, but not the entire book. Would you recommend that or do you think the old book is no longer relevant? Thanks,

    • @TheCodingTrain
      @TheCodingTrain  11 дней назад

      @@farazk9729 You could still read it yes, however, I'd recommend just reading the new one on the website until the physical book arrives! natureofcode.com/

  • @frollard
    @frollard 25 дней назад +20

    A friend of mine and I coded a version of this for the TI-83 calculator back in high school (holy crap more than 25 years ago)...his version was an insane recursive algorithm because of the memory limitations of the calculator - couldn't write a long list of the segments and do a simple transformation on it to double up and make the next segment. His algorithm actually drew the curve one line at a time...and determined the orientation of each arbitrary line segment up, down, left, or right - as the n'th line of the i'th iteration. That way, he could just draw that one line, then the next, then the next. One of the harder parts was scaling the screen coordinates so that line segments were integer multiples of the number of pixels available to prevent weird moire/aliasing patterns emerging.

  • @Manticore_007
    @Manticore_007 24 дня назад +10

    The added visuals for explaining the code on-the-fly is an awesome addition! I love it

  • @cipherhex
    @cipherhex 26 дней назад +35

    If Dan doesn't lose his mind at least once, the Coding Challenge isnt worth watching! 😂
    Love it as always!

    • @Ctrl-Z-Renders
      @Ctrl-Z-Renders 25 дней назад

      The coding challange is ALWAYS worth watchig!

  • @felizdiacaro
    @felizdiacaro 24 дня назад +6

    I found your channel a few days ago and since then every time i have an idea and mention it to someone, a video of you doing it is recommended to me by youtube. that's kinda cool. i ordered the book and i look forward to trying out all this stuff. Thank you!

    • @TheCodingTrain
      @TheCodingTrain  23 дня назад

      Thank you for the support and kind words!

  • @MrQuickLine
    @MrQuickLine 26 дней назад +60

    To get the last element, you can do Array.at(-1)

    • @69zwaan
      @69zwaan 26 дней назад +1

      Yes, last segement. Length

    • @stio_studio
      @stio_studio 26 дней назад

      Ok, why have no one told me this before? Thanks for the best trick ever!

    • @MrQuickLine
      @MrQuickLine 26 дней назад

      @@69zwaan but splice creates a new array, where as .at just references the existing one

    • @user-sy4sf8gq4p
      @user-sy4sf8gq4p 26 дней назад

      pop() ! 😂

    • @captainexpo4925
      @captainexpo4925 26 дней назад +3

      @user-sy4sf8gq4p pop() removes the last element as well as returning it.

  • @markuszeller_official
    @markuszeller_official 26 дней назад +13

    Hey Dan. Your book arrived. I LOVE IT.

  • @orugma
    @orugma 7 дней назад +1

    I'd love to see more videos like the Apple ][ Coding Challenges. They were a refreshing change of pace. Or the ones where you worked in the shed.

  • @kerrykreiter445
    @kerrykreiter445 25 дней назад +3

    That was a fun one to watch!!

  • @PatrickHoodDaniel
    @PatrickHoodDaniel 26 дней назад +3

    This is a good visual example of compounding.

  • @RupertBruce
    @RupertBruce 26 дней назад +3

    I would have thought that treating each line as a unit and the rotation as simple arithmetic of the number of units in each direction on the path, the problem becomes way easier to compute... Simple turtle movement!

  • @Smoth48
    @Smoth48 3 дня назад

    I am so glad I found this video!! I literally have the dragon curve tattooed on me :D And I drew *lots* of Hilbert curves in school haha

  • @findjonmoses
    @findjonmoses 24 дня назад +1

    Dirtywave M8 is my dessert island instrument…get the MK2. It has a microphone and a bigger battery and a bigger screen. So worth it

  • @onebeartoe
    @onebeartoe 25 дней назад +1

    I love you Dan. "Except for the very first time"!!!!!!

  • @HarDarkable
    @HarDarkable 26 дней назад +3

    This dot!

  • @r4co351
    @r4co351 25 дней назад

    Yet another astonishing intro... Keep up the great work!

  • @dhanupawar3772
    @dhanupawar3772 25 дней назад +2

    Hey Dan why don't you explain some popular generative art codes and how to make them, this is just for learning more from tou generative art community.

  • @aedyngillion9457
    @aedyngillion9457 8 дней назад

    For the next tutorial could you do a soft body collision but with more in depth collision like the lines collide and it uses a bounding box and all that jazz

  • @enpeacemusic192
    @enpeacemusic192 25 дней назад +1

    Can you do Newton fractals next? They're not strictly recurring fractals like you have been doing but it's still a really super cool fractal and worth looking into!!

    • @TheCodingTrain
      @TheCodingTrain  25 дней назад +1

      You can add it here! github.com/CodingTrain/Suggestion-Box

  • @aparrot4254
    @aparrot4254 23 дня назад

    Really cool video. Your way of reasoning and debugging seems smart. Talking out loud and kind of explaining the code. Reminds me of rubber duck debugging.

  • @flashbond
    @flashbond 26 дней назад +2

    If I were you I would store x and y coordinates of vertecies in a seperate array. Find the max values each time and divide them by 2. I would update my zoom and canvas center according to that.

    • @TheCodingTrain
      @TheCodingTrain  26 дней назад +2

      I like this idea!

    • @flashbond
      @flashbond 26 дней назад

      @@TheCodingTrain I am not a programmer. Just a hobbyist :) Your comment means so much to me 🙏 Animation speed may be also adjusted according to circumference of the whole rotating part. Some trigonametry may get involved :)

  • @rotten-Z
    @rotten-Z 17 дней назад

    This problem can be solved by constructing an array of integers. The value of an array element is the direction of the "turtle" movement. 0-up, 1-right, 2-down, 3-left. At the first step, the array consists of one element, at each subsequent step, the length of the array increases by two times. The added part of the array is filled with values ​​​​as follows: let N be the length of the array A at the current step. 1) increase the length of the array to 2 * N. Each A [i] element in the range from N + 1 to 2 * N - 1 receives the value A [i] = (A [2 * N-i-1] + 1) % 4. As a result, the right part of the array contains a mirror copy of the left part, rotated 90 degrees to the right. The operation (X + 1) % 4 is the rotation. The result is drawn by calculating the offset of the next point from the previous one in the direction specified by each element of the array A

  • @BrettCooper4702
    @BrettCooper4702 25 дней назад +1

    Line packing to remove lines that already exist / overlap in the array of lines.

  • @yujicortkristos3851
    @yujicortkristos3851 25 дней назад

    I programmed it once in java by defining 2 functions calling each other. draw() draws a little segment and left() and right() are turning 90°. To start it just call draw() and f(n) right after it:
    private void f(int n) {
    if (n > 0) {
    f(n - 1);
    left();
    draw();
    g(n);
    }
    }
    private void g(int n) {
    if (n > 1) {
    f(n - 2);
    right();
    draw();
    g(n - 1);
    }
    }

  • @AmandeepSingh-ot5zf
    @AmandeepSingh-ot5zf 26 дней назад +2

    hey I caught it in 16 seconds :D

  • @69zwaan
    @69zwaan 26 дней назад +1

    Geweldig idee, maar je kan ook met image.copy =[] of cretegraphics is dat mijn goede idee?

  • @elbananita2245
    @elbananita2245 25 дней назад

    love your videos! :)

  • @md.nournoby4523
    @md.nournoby4523 26 дней назад

    The king of js in the planet

  • @geoffwagner4935
    @geoffwagner4935 24 дня назад

    he Billy Mayse'd the challenge with boom

  • @gower1973
    @gower1973 24 дня назад

    This went from done to car crash in about three minutes flat 😂

  • @ryaneakins7269
    @ryaneakins7269 26 дней назад +2

    Don Knuth has this curve on his wall at home. There was a Numberphile video about it.

  • @adrien8768
    @adrien8768 26 дней назад

    Hey, great video :) p.s, can you share the QUAD-Tree code please?

  • @realcygnus
    @realcygnus 26 дней назад

    nifty

  • @dansxmods
    @dansxmods 25 дней назад

    Would love to buy the physical copy of The Nature of Code but shipping to Australia is $56 US and all up it would be just shy of $100 AUD, can you look at a cheaper option to ship to Australia pretty please?

    • @TheCodingTrain
      @TheCodingTrain  25 дней назад

      This link should help! www.penguin.com.au/books/the-nature-of-code-9781718503700

  • @meeper18
    @meeper18 26 дней назад

    It’s always this.

  • @rubensjoserosa
    @rubensjoserosa 25 дней назад

    Hello, Dan! How are you!! Your work is wonderfull! I would like to know if you can ship you book to Brazil.

    • @TheCodingTrain
      @TheCodingTrain  25 дней назад +1

      Can you search local online book retailers? It's being distributed internationally be Penguin Random House so you should be able to find it! Make sure it's the 2024 version and not the 2012 version. Let me know at daniel@thecodingtrain.com b/c lots of folks are asking!

  • @ranawaqas4080
    @ranawaqas4080 8 дней назад

    from 208 i seeing that you only work on p5

  • @adminiget1602
    @adminiget1602 26 дней назад +2

    Hi! Can you please make more videos on the Apple ][? Maybe TRY coding a platformer in it? Or graphics mode Snake?

  • @PMA_ReginaldBoscoG
    @PMA_ReginaldBoscoG 26 дней назад

    The book is not available in India. Please do something 🙏

    • @TheCodingTrain
      @TheCodingTrain  26 дней назад +1

      I’m going to ask No Starch about this. It’s being distributed by the publisher internationally! Feel free to contact them on their website also.

  • @lordofthe6string
    @lordofthe6string 26 дней назад

    Is this what was in Jurassic Park?

  • @piotrlesiakowski7794
    @piotrlesiakowski7794 26 дней назад

    Is it a casio calculator watch? :o

  • @thailonlucasart
    @thailonlucasart 26 дней назад

    Is there a way I can buy the book in Brazil?

    • @TheCodingTrain
      @TheCodingTrain  26 дней назад +1

      I'm trying to make a list of all the international retailers that carry it for the website Can you find it on here? www.buscalibre.com/ If amazon will ship to you, it will likely have it as well. Let me know!

    • @TheCodingTrain
      @TheCodingTrain  26 дней назад +1

      (Make sure when you look you don't buy the older 2012 version by accident. You can tell by the cover and the publication date)

    • @RicardoPrediger
      @RicardoPrediger 25 дней назад +1

      I'm not the only Brazilian who loves this guy 🎉
      I would also like to have this book. I'm a programming teacher and I've been using processing in my classes for 3 years.
      (BR) Eu não sou o único brasileiro que adora esse cara 🎉
      Também gostaria de ter esse livro. Sou professor de programação e a 3 anos uso processing nas minhas aulas

    • @thailonlucasart
      @thailonlucasart 24 дня назад +1

      @@RicardoPrediger akakka Eu assisto o canal há anos! Nem sempre faço tudo oq ele mostra mas me divirto muito vendo ele programar kakakak Sou programador e venho aqui pelas aulas akkaka

  • @-Dygex
    @-Dygex 18 дней назад

    can you make tornado :D

  • @LoPhatKao
    @LoPhatKao 25 дней назад

    should add something for sale on your NOC site -- signed copies of the book
    even if it just said "thanks for the support! - Dan"
    i'd pay extra for it 😊
    edit: buying one anyway for my birthday

    • @TheCodingTrain
      @TheCodingTrain  25 дней назад

      Unfortunately I don't have an easy way of doing this, but I will be hosting events in NYC where I will sign the book!

  • @maltezachariassen7496
    @maltezachariassen7496 26 дней назад +1

    You are technically drawing a lot of lines on top of each other.. you could optimize by removing duplicate lines

  • @nameundefined6265
    @nameundefined6265 26 дней назад

    Haven't watched it full yet, but wouldn't vectors be better than your own segment class?

  • @fachriem
    @fachriem 24 дня назад

    hi there, could you please try game ‘The Farmer was Replaced’ its interactive coding base game using basic python to control the drone to solved maze

  • @peterbonnema8913
    @peterbonnema8913 26 дней назад

    second!

  • @rainy4226
    @rainy4226 26 дней назад

    Hi