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.
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.
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
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 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
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_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
@@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.
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.
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!
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!
@@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.
@@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.
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.
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.
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
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
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.
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 😀
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!
@@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!
@@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!
@@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.
@@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.
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!
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!
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!!!)
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 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.
I passed my Fourier Analysis course this past semester. This is how my brain went during this video. Me at the start of the video: minimisation? I see! He's going to use a projection and use a Fourier Transform! Me part way: Oh... so no Fourier Transform... Me at the end: AHA! There it is!
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
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
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!
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.
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!
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.
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.
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.
@@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.
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.
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 :)
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
The moment I saw you describing lines in the various order i thought it seemed very similar to fourier transforms in concept. It actually sort of reminds me of the discreet cosine transform stage of the JPEG compression algorithm
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.
Super cool! I wanted to know how this sort of thing is done before. Thanks for the clear and easy explanation. I would love to see your FFT version of the subject matter!!!
This was surprisingly interesting and inspiring. I appreciate the well structured video, you didn't drag it out and the video delivered what it promised - one minute in, and you got me thinking about how this could be solved. You presented a solution, but left room for experimentation - great video!
Great video! I wonder if it can be done with a laser beam and a bunch of mirrors at the periphery (and some smoke to scatter the light and make the beam visible).
I doubt that's possible. The string has the advantage of being able to return to the same nail an arbitrary number of times, but there is a limit on how many mirrors you can place so close to each other for the laser.
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!
New video on string art is out! ua-cam.com/video/dBlSmg5T13M/v-deo.htmlsi=KTr8aD_GwLb8t2u5
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.
This comment was a delight to read. I'm glad its made you see the beauty in mathematics :)
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.
Hey, how is it going? Any success to share in your art?
I’d also like to know if there’s an update to this (no pressure if there isn’t)
@@reyariassno
Congratulations on winning #SoME3. You had a great explanation, I can't wait to see more!
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
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 :)
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
@@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
@@slightlyenlightenedlayman Even if you did, you'd have the string spool on some kind of springy rotating mechanism like what winds up a clock
I think FFT works here because the matrix is circulant - it's like with polynomials
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.
Thanks for your comment. I must confess I've never heard of a radon transform before. I'll look into it.
Or maybe an inverse Radon transform, since the image is known and it is the "projections" (string) that is sought?
@@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
@@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.
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.
The beauty of linear algebra, optimization and creativity in one single video.
I so want to program this in python/numpy now.
Grate work.
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!
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!
Always starts from small amount of viewer
We're at 19k!!!
In fact, people tend to choose watching someone shaking their butt rather than watching math.
@@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.
@@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.
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.
Awesome video! I like how you showed what happened with an early attempt for the black-white fall off curve.
Thanks!
This is really nice. Thanks for making it and goo luck in the competition!
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.
The results are so striking, and I love how you talked through your thought process
It's nice seeing I'm slowly starting to understand these math videos.
Thanks!
Thanks so much 🙏
Please make a video with more details on the machine. Awesome video, eagerly waiting for another on the other algorithm you mentioned.
That’s brilliant. It is always easier to internalise math stuff when its being presented by some real example. Humanity needs more of this❤
I've been fantasizing about this machine for so long. You are my hero.😂
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!
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
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
Glad you liked it!
Awesome tutorial
Glad you think so! 😊
Really amazing how you explained all the maths, the problems, the solutions and showed the end result 👏😊.
Glad you liked it!!
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.
That's so interesting. Your demo got me thinking about some ML algorithms, like the MSE loss function. Thank you!
You are why internet exists. Good work sir!
This channel is about to boom 💥
And it deserves to!
Awesome content
Thank you 🙌
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 😀
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!
@@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!
@@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!
@@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.
@@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.
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!
Oh and did you build the machine yourself? Would love to see a video about the machine itself!
Thanks. I enjoyed watching something useful for a change.
This video made my head spin. the visuals are super helpful and the fact this works is truly impressive to me.
Very imperative! Math is definitely beautiful!
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!
Glad you enjoyed it!
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!!!)
Thanks! Glad you like it! 😊
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.
Oh wow, may I ask what method you used?
@@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.
I passed my Fourier Analysis course this past semester. This is how my brain went during this video.
Me at the start of the video: minimisation? I see! He's going to use a projection and use a Fourier Transform!
Me part way: Oh... so no Fourier Transform...
Me at the end: AHA! There it is!
You have easily earned a sub! This is criminally under watched
So beautiful, interesting and educational!
Glad you think so!
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
This brings me back to my ML courses. Looks so similar.
Linear Algebra was hands down my FAV math course.... Great Video gonna watch more
So beautiful love it thank you ♥️
Thank you! Cheers!
One of the best videos I ever watch...
This is some kind of string theorie I would love to see 😄👍
Mathematics is Art, glad to see Art being Mathematical
Found this Masterpiece from SoME3😄
:)
Fascinating video. Thanks for sharing
I'm very interested in the Fourier Transform Approach
I'm making a video about it ;)
My heart sank a bit when there was no github repo in the description. This was an AMAZING video, thanks for sharing this knowledge!!!!
Awesome explanation! Loved it.
:)
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
Came from 3B1B's video. Will be staying for good math videos 😁.
Welcome!
It is my duty to thank you for the good content you have provided.
Thanks :) 🙏
Amazing! thank you !
It is in fact interesting, thank you.
nice string theory bro
Thanks bro
Great video. I would love seeing the other algorithm you talked about in the outro and making of the Machine
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!
Glad you enjoyed it. I made a follow up video where I ended up using the math from CT scanners!
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.
Thanks!
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!
Yes you can! Although I'd recommend CMYK instead of RGB
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.
Maybe also use the Bayer filter to mosaic the colours and reduce the number of strings used.
Very cool video! My first thoughts were edge detection and tangents... but this is pretty elegant with being able to use a single thread!
Glad you enjoyed it!
Really nice to see! Looking forward to the next movie :)
honestly superb video, really interesting how you problem solved this
Glad you liked it!
You've gained a new sub. This is amazing!!
Yay, thank you!
such an awesome video, wish you all the best
Very very interesting.
Things like this are sweet.
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.
Great idea. I think that'll also work really well
Starting from the analytic line, as he does, is even better. It resembles discrete anti aliasing like MXAA on infinite resolution.
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.
@@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.
Bilinear filtering should be enough.
So cool! Hoping to see a lot more content from you! Very very cool!
More to come!
This video is so good please make more into this topic i love it!
Super looking forward to follow-ups on this! Great video, neat project, and just yeah, very cool. :)
I'm watching your series on differential equations and it is fascinating.
Thanks! I plan to make a lot more of those
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.
I agree! The only downside is that it'll be harder to recreate it from a single thread (unless you use some clever tricks)
Wait, do we get to see more of the machine? I want to see a video about building that!!
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 :)
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
Amazing, love it!
Glad you like it!
Great video, thanks for making it!
Beautiful! Well done good sir!
Glad you like it!
Immediately thought it reminded me of FFT, happy to be validated on that. Looking forward to the next video.
The moment I saw you describing lines in the various order i thought it seemed very similar to fourier transforms in concept. It actually sort of reminds me of the discreet cosine transform stage of the JPEG compression algorithm
This was excellent. Thanks.
Glad you enjoyed it!
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.
one of the best recommendations by 3blue1brown
Thanks :)
bro that's brilliant !!
Thanks!
wow amazing
Thank you! Cheers!
Super cool! I wanted to know how this sort of thing is done before. Thanks for the clear and easy explanation. I would love to see your FFT version of the subject matter!!!
Beautiful 👏
thanks :)
Very good video man. Totally made my day. Congratulations on creating such great content!
Glad you enjoyed it!
really amazing explanation and animation! subbed! :)
This was surprisingly interesting and inspiring. I appreciate the well structured video, you didn't drag it out and the video delivered what it promised - one minute in, and you got me thinking about how this could be solved. You presented a solution, but left room for experimentation - great video!
Thanks, very cool. I appreciated the explanation, but I want to see more of that machine and its results! Please post. Thanks!
Great video! I wonder if it can be done with a laser beam and a bunch of mirrors at the periphery (and some smoke to scatter the light and make the beam visible).
I doubt that's possible. The string has the advantage of being able to return to the same nail an arbitrary number of times, but there is a limit on how many mirrors you can place so close to each other for the laser.
I would absolutely love to see more videos on this subject, especially on the machine shown at the beginning
Great video, really interesting.
Glad you enjoyed it! Next one is almost done
Very fascinating and engaging video, the processes made me think of how JPEG storage works at some points
Super cool! Amazing video!
Congratulations! Some3
Thank you!
Best string theory out there!
I would absolutely love to see the source code. Amazing work!
Same here
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!