The Mathematics of String Art

Поділитися
Вставка
  • Опубліковано 31 жов 2024

КОМЕНТАРІ • 778

  • @virtually_passed
    @virtually_passed  5 місяців тому +10

    New video on string art is out! ua-cam.com/video/dBlSmg5T13M/v-deo.htmlsi=KTr8aD_GwLb8t2u5

  • @mgd9402
    @mgd9402 11 місяців тому +241

    I'm 15 years old and I've never been particularly interested in math or programming in my entire life. I wanted to do something for my school's arts festival since I have always participated but this time I wanted to do something different. I looked up how to do embroidery and found this video by pure chance. This is simply fascinating, you have completely changed how I saw mathematics.

    • @virtually_passed
      @virtually_passed  11 місяців тому +45

      This comment was a delight to read. I'm glad its made you see the beauty in mathematics :)

    • @herp_derpingson
      @herp_derpingson 5 місяців тому

      The problem is school and school teachers. School is there to make people into unquestioning factory line workers. Don't expect to learn anything of value there.

    • @Disorrder
      @Disorrder Місяць тому

      Hey, how is it going? Any success to share in your art?

    • @reyariass
      @reyariass Місяць тому

      I’d also like to know if there’s an update to this (no pressure if there isn’t)

    • @baconheadhair6938
      @baconheadhair6938 16 днів тому +1

      @@reyariassno

  • @ruskcoder
    @ruskcoder Рік тому +158

    Congratulations on winning #SoME3. You had a great explanation, I can't wait to see more!

  • @slightlyenlightenedlayman
    @slightlyenlightenedlayman Рік тому +525

    I'm super interested in the FFT video! I'm also interested in how you went about making the machine to do this IRL, as well as the considerations for string tension and the like

    • @antoine2571
      @antoine2571 Рік тому +10

      That's exactly what I was wondering. Thanks for this comment!
      Congratulations to the author for this amazing video and all of his brilliant ideas, +1 sub, hoping to see the next video about fft algorithm :)

    • @thewhitefalcon8539
      @thewhitefalcon8539 Рік тому +5

      The machine looks pretty simple actually. One servo motor to rotate the turntable and another one to hold the string inside or outside the nails

    • @slightlyenlightenedlayman
      @slightlyenlightenedlayman Рік тому +5

      @@thewhitefalcon8539 yeah, and then you just code it in such a way that you never have to go over halfway around the circle in one direction on a single sweep so then you don't have to worry about keeping tension on the string while the length is contracting. I didn't realize this when I wrote my original comment, though

    • @thewhitefalcon8539
      @thewhitefalcon8539 Рік тому +4

      @@slightlyenlightenedlayman Even if you did, you'd have the string spool on some kind of springy rotating mechanism like what winds up a clock

    • @neve177
      @neve177 Рік тому

      I think FFT works here because the matrix is circulant - it's like with polynomials

  • @chuckaway6580
    @chuckaway6580 Рік тому +800

    You're basically trying to reinvent how CAT scans work. Based on the outro it seems like you've already started digging into the literature, but the first step is something called a Radon transform.

    • @virtually_passed
      @virtually_passed  Рік тому +310

      Thanks for your comment. I must confess I've never heard of a radon transform before. I'll look into it.

    • @Bob94390
      @Bob94390 Рік тому +54

      Or maybe an inverse Radon transform, since the image is known and it is the "projections" (string) that is sought?

    • @jamesyoungquist6923
      @jamesyoungquist6923 Рік тому +26

      ​​@@virtually_passedYep, the first thing I thought of is that this is a great visualization of how (cone beam) CT works! It would be cool to see with a semi-translucent thread and back light. You could expand to CMYK coloured threads as well :) others have pointed out using the SVD. I'd point you to a classic computer vision paper called EigenFaces, which might be another technique for finding the weights on your basis vectors

    • @chuckaway6580
      @chuckaway6580 Рік тому +4

      @@Bob94390 Yeah, that would be more accurate. Of course, as everyone is saying, the way one does a (inverse) radon transform in practice is through the FT. And even then one rarely does an exact radon transform because it typically creates artifacts. So (my understanding, I am by no means an expert) is that at the end of the day the radon transform is just a model and in reality one is just manipulating FTs.

    • @jingyangteoh685
      @jingyangteoh685 Рік тому +1

      are we talking about the polar formatting algorithm here? Also, would applying the projection slice theorem help?
      I suppose projection slice theorem can be problematic since the string here is of uniform density.

  • @EPMTUNES
    @EPMTUNES Рік тому +69

    Awesome video! I like how you showed what happened with an early attempt for the black-white fall off curve.

  • @Petch85
    @Petch85 Рік тому +61

    The beauty of linear algebra, optimization and creativity in one single video.
    I so want to program this in python/numpy now.
    Grate work.

  • @vincenzovalvano
    @vincenzovalvano Рік тому +10

    Drawing an eye is spectacular art.
    Creating an algorithm and a machine that can use it to make art is PURE GENIUS, outstanding how far our brain can go!

  • @thatwontwork9046
    @thatwontwork9046 Рік тому +181

    1.9k views??? Wtf? This is an incredible quality video and you’ve put a ton of hard work into this I can see. It’s reminiscent of stuff made here and 3b1b put together. Thanks for sharing, and I hope it reaches tons of people as it deserves to!

    • @thejelambar82
      @thejelambar82 Рік тому +6

      Always starts from small amount of viewer

    • @thepolarkid
      @thepolarkid Рік тому

      We're at 19k!!!

    • @lost.in.maze.official
      @lost.in.maze.official Рік тому

      In fact, people tend to choose watching someone shaking their butt rather than watching math.

    • @nikkiofthevalley
      @nikkiofthevalley Рік тому +1

      ​​​@@lost.in.maze.official Uh, 3blue1brown is a example of the contrary. Grant gets millions of views on nearly every video they make, even on very obscure topics. Granted, (heh) they're an outlier, but still.
      Also, it might just be that string art is too obscure of a topic and the mathematics of such a thing are not immediately attention-grabbing. The thumbnail might also be to blame. It's very muted and gray, so it doesn't stand out among other thumbnails.

    • @A_Random_Ghost
      @A_Random_Ghost Рік тому

      @@nikkiofthevalley He's not wrong. People'd rather watch others do stupid stuff or entertainment. It's obvious when you look at the most popular people on the platform.

  • @angelbarrios426
    @angelbarrios426 8 днів тому +1

    Really amazing how you explained all the maths, the problems, the solutions and showed the end result 👏😊.

  • @dienosorpo
    @dienosorpo Рік тому +2

    It's nice seeing I'm slowly starting to understand these math videos.

  • @Robisquick
    @Robisquick Рік тому +18

    This is utterly fascinating. It is truly one of the best representations of how to convert an algorithm into a practical situation. And combine that with art and you have magic and humanity.

  • @toplobster7714
    @toplobster7714 Рік тому +9

    My very first thought was this was going to be a Fourrier transform thing, then you told us about the matrix stuff. But alas, I got redeemed in the end!!! Great video.

  • @Radu
    @Radu Рік тому +7

    This is really nice. Thanks for making it and goo luck in the competition!

  • @jwdory
    @jwdory Рік тому +9

    Please make a video with more details on the machine. Awesome video, eagerly waiting for another on the other algorithm you mentioned.

  • @LookingGlassUniverse
    @LookingGlassUniverse Рік тому +1

    The results are so striking, and I love how you talked through your thought process

  • @noninvasive_rectal_probe8990
    @noninvasive_rectal_probe8990 Рік тому +5

    That’s brilliant. It is always easier to internalise math stuff when its being presented by some real example. Humanity needs more of this❤

  • @markzambelli
    @markzambelli 3 місяці тому +2

    In my youth during the 70's I was surrounded by various wire-art framed pictures and even did a few (geometric) versions for myself... but this absolutely blows my non-mathematical mind... thankyou for showing us what's really possible with this form of art🥰 (PS... I now know that I _need_ that stormtrooper artwork!!!)

  • @trainsurf
    @trainsurf Рік тому +7

    Extremely well made video. Easy to understand and follow even without massive amounts of math knowledge. FFT video also sounds interesting, not sure how much I would understand but I want to watch it still

  • @samuelgodswill3275
    @samuelgodswill3275 Рік тому +3

    I saw art like this on Pinterest months ago, and I wanted to recreate it. But I couldn't find anything on the process used to make it. So glad I found this video.

  • @stevenhuang9210
    @stevenhuang9210 Рік тому +2

    That's so interesting. Your demo got me thinking about some ML algorithms, like the MSE loss function. Thank you!

  • @k4yd33yeah
    @k4yd33yeah 5 місяців тому +1

    3:57 line 3 was a little excited to get streched out into a vector XD! Greate video. I love seeing math and programming come together!

  • @pinethetree
    @pinethetree Рік тому +2

    I coded one of these. I'm deeply intrigued by the way of looking at it you have since it's quite a bit more involved than the way I had of doing it. It also seems much much faster since it took my method forever. Very well done.

    • @virtually_passed
      @virtually_passed  Рік тому

      Oh wow, may I ask what method you used?

    • @pinethetree
      @pinethetree Рік тому +1

      @@virtually_passed Instead of looking at all of the pixels that the line intersected or looking at the local neighborhood I just, hmmm actually it's been a while let me look at my code, ok I just looked at the one with the closest center for each in a rough line. So what I did was for slopes less than 1 I used an equation for a line solved for y and rounded, then for slopes greater than 1 I wrote the equation the other way around solved for x and rounded. Then I took the total darkness of all of the pixels along the potential lines and found the one that was darkest, then I subtracted some from the pixels along that line to produce a new image. It may have been a bass ackward way of doing it though, I'm certainly not saying I did it "right" or "well" or "competently" but it did end up working with a little tuning. Also the machine you showed looks super cool.

  • @nadimfetaih3841
    @nadimfetaih3841 Рік тому +92

    Oh man, that is fascinating! I know it's for a contest, but I would love if you made the entire project open source with CAD and code so others (myself included) can make this project and learn by doing 😀

    • @jhboulder
      @jhboulder Рік тому +10

      With all due respect, that's honestly a pretty unfair ask. While I know it's not how you intended it (I agree that it would be FUN to recreate this at home), but from an engineer's perspective it feels like you're asking for someone to give away for FREE the product that they worked so hard to conceptualize, design, prototype, code, troubleshoot, refine, and present. If it is someone's intention to do all of this work for it to be freely available, that is a decision that they have made on their own, and have somehow justified, and that's fine; but to REQUEST that they give it away comes off as lazy and entitled, and implies that their expertise and effort has no value. There is more than enough information presented here for someone like yourself who is interested in making such a device to find tutorials and explanations that are already available for individual aspects of the project. By taking this route, you will truly learn by doing, but in the process learn far more and be more capable of creating your own UNIQUE product in the future!

    • @nadimfetaih3841
      @nadimfetaih3841 Рік тому +24

      @@jhboulder hmmmm... I also wonder how much of this project has been built on others' open source work? Seems to me that the monetization of that knowledge would be fairly disrespectful to those who believed that knowledge should be openly shared. But that's just my opinion and you by no means have to feel the same. I simply feel like if someone has learned for free, they have a duty to provide their own knowledge to the world the same way. I'm almost done my first project and am excited to share the model freely. I hope you stumble upon it and enjoy!

    • @jhboulder
      @jhboulder Рік тому

      @@nadimfetaih3841 there's a lot to unpack in that statement. "Open Source" seems to be a more complicated concept than I gave it credit for in the past. Speaking to the comment of 'monetization of knowledge that was gained for free', there are TONS of companies out there that are making money off of products or services that use pieces of Open Source projects, but because their end product is clearly distinguishable from other's finished products, it is generally considered acceptable for them to make money from these products and services. Major software companies are notorious for this, especially Google, Microsoft, Apple, and other similarly large software companies (not to imply that I think that these are the pinnacle of ethical business practices). Quite often, the bulk of the code that is used is just a copy-and-paste of snippets of code from somewhere else that they know already works, so they simply adapt it to their needs. As for the 'they have a duty to provide their own knowledge to the world' again speaks to our current cultural state of entitlement. We have come to expect that if someone else got something free, we should get it for free too. While I can understand where this feeling comes from, I still have trouble completely getting behind the thought that receiving something for free implies that you now have an OBLIGATION to pass it on for free. However, I CAN completely agree with that statement if it's changed ever so slightly to: "if someone has learned for free, they SHOULD CONSIDER PROVIDING their own knowledge to the world the same way." Everyone's situation is different, and there can be very valid reasons to not simply distribute it freely, anything from 'easy access to this could be harmful to society' to 'rent is due, so I need to make money off of my efforts to provide for my family' and a million different reasons. Thanks for respectfully sharing your opinion, and I hope that your maker journey is a successful one!

    • @hastypete2
      @hastypete2 Рік тому +23

      @@jhboulder Some people actually like to give away their work. Asking costs nothing. It's a binary answer. Being asked doesn't mean you have to say yes.
      Buying something is lazy and entitled. Making something from someone's designs takes time and effort and is very educational.
      Sharing enriches everyone. The opposite of sharing is just sad.

    • @tappy8741
      @tappy8741 Рік тому +11

      @@jhboulder You suggesting that them asking an innocent question is unfair is pretty unfair. I have no respect for the way you answered or your expressed opinions, their question is not freeloading and does not imply that the OP's work has no value. In fact asking for a way to interact further with an authors work does the opposite, it expresses that the work has value.

  • @alieeeyr
    @alieeeyr 2 місяці тому +1

    It is my duty to thank you for the good content you have provided.

  • @sash4all
    @sash4all Рік тому +1

    This is some kind of string theorie I would love to see 😄👍

  • @augustus6660
    @augustus6660 Рік тому

    My heart sank a bit when there was no github repo in the description. This was an AMAZING video, thanks for sharing this knowledge!!!!

  • @nassehk
    @nassehk Рік тому +1

    Thanks. I enjoyed watching something useful for a change.

  • @larcomj
    @larcomj Рік тому +1

    Linear Algebra was hands down my FAV math course.... Great Video gonna watch more

  • @mz7315
    @mz7315 Рік тому +2

    I've been fantasizing about this machine for so long. You are my hero.😂

  • @0FAS1
    @0FAS1 Рік тому +10

    Instasubbed! I love this. Have had a sort of mystical fascination by circular dynamics like this ever since I discovered timetable multiplication. Thank you and I would love to see more videos on the subject!

    • @0FAS1
      @0FAS1 Рік тому +2

      Oh and did you build the machine yourself? Would love to see a video about the machine itself!

  • @lemniskate_ayd
    @lemniskate_ayd Рік тому +2

    Very imperative! Math is definitely beautiful!

  • @louisrobitaille5810
    @louisrobitaille5810 Рік тому +3

    Came from 3B1B's video. Will be staying for good math videos 😁.

  • @benedictsth
    @benedictsth Рік тому +1

    great video. nice visuals. i love how you explained this interesting concept so simple with just enough depth to understand it (and remember) and not too much depth, so it doesn’t get boring

  • @DrSimulate
    @DrSimulate 3 місяці тому +1

    Wow, what an exciting application of math! When I saw the thumbnail, it reminded me of the math behind CT-imaging, and indeed the mathematical problem that you solve seems to be related... Keep on doing the good stuff!

    • @virtually_passed
      @virtually_passed  3 місяці тому +1

      Glad you enjoyed it. I made a follow up video where I ended up using the math from CT scanners!

  • @dj_laundry_list
    @dj_laundry_list Рік тому +2

    I originally thought this could be solved for continuous images (eg: bezier curves) by making some scoring function based on the distance of the string to the curve and using simulated annealing or something similar to optimize it. But your least-squares discrete optimization didn't disappoint

  • @priyavkaneria
    @priyavkaneria Рік тому +2

    This channel is about to boom 💥
    And it deserves to!
    Awesome content

  • @GuangdaLIAO
    @GuangdaLIAO Рік тому +2

    great video! I think a possible approach to improve the greedy algo is to randomly(or greedily, or some other principle) destroy some lines and try to repair the images by add some new lines to minimize the cost.

    • @virtually_passed
      @virtually_passed  Рік тому

      I agree! The only downside is that it'll be harder to recreate it from a single thread (unless you use some clever tricks)

  • @quentin1691
    @quentin1691 День тому +1

    So beautiful love it thank you ♥️

  • @NiketBahety
    @NiketBahety Рік тому +1

    What an absolutely beatiful video, just loved every bit of it! Looking forward to the fourier transform approach video too! Thanks for this quality content!

  • @AlbertoCohen-b6d
    @AlbertoCohen-b6d 9 місяців тому +1

    So beautiful, interesting and educational!

  • @saggitt
    @saggitt Рік тому

    I'm watching your series on differential equations and it is fascinating.

  • @cashewABCD
    @cashewABCD Рік тому +2

    You are why internet exists. Good work sir!

  • @nikk-named
    @nikk-named Рік тому

    This video made my head spin. the visuals are super helpful and the fact this works is truly impressive to me.

  • @abhiskekkumar4354
    @abhiskekkumar4354 Рік тому +1

    one of the best recommendations by 3blue1brown

  • @christophersmith108
    @christophersmith108 Рік тому +1

    Fascinating video. Thanks for sharing

  • @ralphmay3284
    @ralphmay3284 Рік тому +1

    honestly superb video, really interesting how you problem solved this

  • @nishanthshetty435
    @nishanthshetty435 Рік тому +1

    Awesome explanation! Loved it.

  • @TheFel0x
    @TheFel0x Рік тому +1

    Very cool video! My first thoughts were edge detection and tangents... but this is pretty elegant with being able to use a single thread!

  • @PatrickHoodDaniel
    @PatrickHoodDaniel Рік тому

    This brings me back to my ML courses. Looks so similar.

  • @איילתדמור
    @איילתדמור Рік тому

    I liked this a lot because I learned all the math from the video last year in university and this video shows me how it is actually used. Very cool stuff

  • @RandomNullpointer
    @RandomNullpointer Рік тому +1

    The last part seems to resemble how Stable Diffusion works, sort of. You draw a thread and see: if the resulting image gets closer to the target, keep it, otherwise remove it. Add one more thread and repeat...

  • @danny_racho
    @danny_racho Рік тому +1

    I searched a bit about the string art problem. All I found was the wiki article and some stuff about Béziers curve and Computer graphics lessons about Bresenham algorithm and anti-aliaing. As an electrical engineer, I am familiar with a lot of these. But I like your mathematical approach more. You practically also did the Bresenhamm, but it's in a different way like the Least-Square-Regression Minimization problem. Very cool, I think, I am going to try to replicate this in MATLAB and see the results for myself :)

  • @pavelperina7629
    @pavelperina7629 Рік тому +1

    Likely recommended by youtube after I watched some video about CT scan reconstruction using FFT and weighting (which was quite good, but I don't recall much and I fall asleep during 2nd video explaining CT with ray cone rather than parallel rays}. As some people mentioned, very similar are hough/radon transforms. I guess they differ only in opposite aproach to description.

  • @jacobcrowley8207
    @jacobcrowley8207 Рік тому

    Immediately thought it reminded me of FFT, happy to be validated on that. Looking forward to the next video.

  • @dunda563
    @dunda563 Рік тому +1

    Very fascinating and engaging video, the processes made me think of how JPEG storage works at some points

  • @jtrimble6322
    @jtrimble6322 Рік тому +33

    I would absolutely love to see the source code. Amazing work!

  • @lollertoaster
    @lollertoaster Рік тому +1

    It is in fact interesting, thank you.

  • @specy_
    @specy_ Рік тому +1

    I'd have also included a part where it described the possible solutions to the boolean linear problem and the struggles of finding an optimal solution quickly, and the possible ways to do it anyway, that would then prove why going with a greedy solution is so much better

  • @mubashirmunawwar1857
    @mubashirmunawwar1857 Рік тому

    Great video. I would love seeing the other algorithm you talked about in the outro and making of the Machine

  • @arpita1shrivas
    @arpita1shrivas Рік тому

    I thoroughly enjoyed this. I myself took out a pen and paper and attempted this approach on paper, which how well-made mathematical videos should feel. Wish you further success.

  • @SuperMaDBrothers
    @SuperMaDBrothers Рік тому

    One of the few some3 videos that actually motivates the math in an original way, instead of making a slow and shitty video on math jargon that has 0 relevance and is basically trivial but somehow takes up 20 minutes of screen time. Good job lol

  • @3dbits_art
    @3dbits_art Рік тому +4

    10:02 Yes, PLEASE explain the improved concept using FFT in one of your next videos. I have just subscribed - mainly for that. 🙂

  • @megamasterbloc
    @megamasterbloc Рік тому +1

    this make me think of interferometry, by combining a bunch of lines you make an image, also fourrier transform are used basically everywhere something is decompsed into a sum of values so it's not surprising that you can use FFT to make the algorithm much faster

  • @Coppermeshman
    @Coppermeshman Рік тому +1

    Very very interesting.
    Things like this are sweet.

  • @yisahak
    @yisahak Рік тому +1

    Congratulations! Some3

  • @saggitt
    @saggitt Рік тому

    Looking forward to a followup video with the FT method!

  • @louispetrick
    @louispetrick Рік тому +1

    I basically learned all this in university, but only after watching this video i really understood what I'm actually calculating there

  • @srikanthganta7626
    @srikanthganta7626 Рік тому +1

    So cool! Hoping to see a lot more content from you! Very very cool!

  • @Lorentari
    @Lorentari Рік тому +2

    I'm very interested in the Fourier Transform Approach

  • @laarco
    @laarco Рік тому +4

    We produce string art by placing nails all over the canvas and the algorithm is very similar! It doesn't only look at brightness though. For example it limits the number of threads per nail and it avoids completely white parts of the image.

  • @LlamaBG
    @LlamaBG Рік тому +1

    such an awesome video, wish you all the best

  • @adamsholt
    @adamsholt Рік тому +16

    I wonder if you could decompose a colour image into RGB, solve each then do three runs with red/green/blue string. I know they'd cover each other up to a certain degree, but I'd be fascinated to know if you could make colour string art using this technique! Perhaps allocate each nail a colour, so you've 1/3 the "resolution" but no masking of one colours' string by another. Anyway, fun to think about!

    • @virtually_passed
      @virtually_passed  Рік тому +12

      Yes you can! Although I'd recommend CMYK instead of RGB

    • @kindlin
      @kindlin Рік тому +1

      You could even add a white string that could 'cancel out' a line of color at a certain interval, like, at the very end, or in between certain colors. I wonder if this would show up graphically.

    • @nishanthshetty435
      @nishanthshetty435 Рік тому

      Maybe also use the Bayer filter to mosaic the colours and reduce the number of strings used.

  • @TimDrogin
    @TimDrogin Рік тому +30

    Hi, really nice video! Small idea i have -for the lines you could use also some anti-aliasing algorithm like MXAA. That in theory can eliminate the need in a custom step function and possible make stuff a bit smoother.

    • @virtually_passed
      @virtually_passed  Рік тому +10

      Great idea. I think that'll also work really well

    • @henriksundt7148
      @henriksundt7148 Рік тому +2

      Starting from the analytic line, as he does, is even better. It resembles discrete anti aliasing like MXAA on infinite resolution.

    • @plokki456
      @plokki456 Рік тому +1

      But you have to discretize at some point anyway since the image is a pixel array.
      I suppose you could also do it without discretization, by integrating the line footprint against a vector image, but I don't think it's worth the trouble.

    • @henriksundt7148
      @henriksundt7148 Рік тому +1

      @@plokki456 Yes, he does that at 8:05 in the video. Thing is, he samples the analytic 2D ridge instead of a discretized version of it, which would be necessary for e.g. MXAA.

    • @bernatrosello4375
      @bernatrosello4375 Рік тому +1

      Bilinear filtering should be enough.

  • @gtorres94
    @gtorres94 5 місяців тому +1

    Great video, really interesting.

    • @virtually_passed
      @virtually_passed  5 місяців тому

      Glad you enjoyed it! Next one is almost done

  • @DavidLindes
    @DavidLindes Рік тому

    Super looking forward to follow-ups on this! Great video, neat project, and just yeah, very cool. :)

  • @anandsuralkar2947
    @anandsuralkar2947 Рік тому +3

    Found this Masterpiece from SoME3😄

  • @maaikevantwesteinde9609
    @maaikevantwesteinde9609 Рік тому +1

    Really nice to see! Looking forward to the next movie :)

  • @benholleran3753
    @benholleran3753 Рік тому +1

    Beautiful! Well done good sir!

  • @Grandalf3004
    @Grandalf3004 2 місяці тому +1

    I like the way you say vector

  • @mhe123321
    @mhe123321 2 місяці тому +1

    My guess was initially that you would use FFT for such a problem. FFTs are used similarly in other areas such as antenna/loudspeaker beam forming (pattern synthesis).

    • @virtually_passed
      @virtually_passed  2 місяці тому

      I agree, it seems like a natural progression. However formulating the problem as an fft problem is very difficult in my view :)

    • @mhe123321
      @mhe123321 2 місяці тому

      @@virtually_passed indeed! There might be some insight to gain in “simple pattern synthesis for complicated arrays” by RF get down here on UA-cam - but I haven’t investigated too much into the usability of the method in your case

  • @lil.chickn
    @lil.chickn Рік тому

    This video is so good please make more into this topic i love it!

  • @goodby39
    @goodby39 Рік тому +1

    You have easily earned a sub! This is criminally under watched

  • @guillegilcriado6879
    @guillegilcriado6879 Рік тому +1

    You've gained a new sub. This is amazing!!

  • @WAMTAT
    @WAMTAT Рік тому +1

    Mathematics is Art, glad to see Art being Mathematical

  • @AkilManivannan
    @AkilManivannan Рік тому +1

    Congratulations for being featured by 3b1b 🎉

  • @PumpiPie
    @PumpiPie Рік тому +2

    ❤❤❤❤❤❤Did see a video about a string machine. And i was wondering what crazy math wee need to make something like this xD
    Super cool thanks :D

  • @big_whopper
    @big_whopper Рік тому

    omg! I was imagining turning my CNC router into a string art machine!
    Nicely done!

  • @mingkey6726
    @mingkey6726 Рік тому

    I would absolutely love to see more videos on this subject, especially on the machine shown at the beginning

  • @Unique-Concepts
    @Unique-Concepts Рік тому +1

    One of the best videos I ever watch...

  • @mahxylim7983
    @mahxylim7983 Рік тому +2

    Amazing! thank you !

  • @js267
    @js267 Рік тому

    Thanks, very cool. I appreciated the explanation, but I want to see more of that machine and its results! Please post. Thanks!

  • @andreizelenco4164
    @andreizelenco4164 Рік тому +26

    What you are trying to do in the beginning is very similar to Singular Value Decomposition. SVD is very similar to the Fourier transform. I'll recommend this video in this SVD playlist ua-cam.com/video/nbBvuuNVfco/v-deo.html. Also, solving the system of equations without using libraries would be actually nice to see since very few people know how to implement the algorithms involved (matrix multiplication for large matrices/determinant/ extracting eigenvalues and eigen vectors/QR factorization/SVD). The SVD gives you the linear combination of vectors or basis functions that allows you to approximate the target vector/function.

    • @henriksundt7148
      @henriksundt7148 Рік тому

      Matching pursuit is also a relevant algorithm. It's a greedy algorithm starting with the best matching vector instead of a random one (within a subset as here).

    • @edeneden97
      @edeneden97 Рік тому

      Do you mean he should do SVD for the matrix A? how will that help? what would the singular values be interpreted as?

  • @nemecsek69
    @nemecsek69 Рік тому

    Really well explained. A possible improvement is to remove from the original image the values already taken into account by each line, to avoid some areas being too dark (if you keep the original image untouched the algorithm will try to cover the same black spot again and again with other lines, even if previous lines already managed to cover it).

  • @justinmorgan2126
    @justinmorgan2126 Рік тому

    I made these in Primary school in PNG on art classes, we all did. Still have some of them hanging on my parents house. Magical thing is that you can spray paint the back board after YOU'VE DONE THE COLOURED STRINGS/THREADSM THE STATIC ON THE STRING AND THE PAINT REPEL EACH OTHER SO ONE NEVER STICKS TO THE OTHER :-)

  • @atefrod680
    @atefrod680 Рік тому

    This video exploded! Glad to see it's getting the attention it deserves.

  • @brinkTVx
    @brinkTVx Рік тому +2

    nice string theory bro

  • @lerenard7356
    @lerenard7356 Рік тому +1

    Thank you for this neat and pedagogical video 😊 ! You made me want to try to implement a thread art construction algorithm. I came across few academic articles but i would apreciate that you share your sources. Looking forward for the FFT solution !

  • @greencheesewheel4674
    @greencheesewheel4674 Рік тому

    This is very nice! I'm currently a 3rd year undergrad pursuing my BA(? (I don't know if in my country what i'm studying is equivalent to a BA) in mathematics. When I saw the title I did not imagine the math behind this would be, simply, linear algebra. Awesome video! Now I know something interesting to tell others about!

  • @alirezaakhavi9943
    @alirezaakhavi9943 Рік тому +1

    really amazing explanation and animation! subbed! :)