After years scratching my head about cubic splines, your explanation was the the most intuitive and clear. I will never forget this. Thank you for this great tutorial!
Well, you probably think of the old win95 mystify screensaver: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-p-howMhFecQ.html#t=8s It still existed in win XP: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-uZQr-gHyYFI.html This is the classic one. However there's a newer version called Mystify in win10: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yE3BTTtPKB4.html The old one just draws 2 quadrilateral where the 4 points are bouncy balls. Each of the two quadrilaterals have a certain amount of "history". So each frame the bouncy balls advance and a new shape is drawn, but the old ones still remain. so if a shape has a history of 12, there are always the last 12 copies of the shape on screen. When a bouncy ball was reflected it got a random velocity to add more dynamic to it. It was a very simply screensaver. The Win 10 version actually draws "curves". It's hard to tell because they added a lot of blur and glow and it fades out rather quickly. Though it may just be a leading vertex that moves around and drags the other control points behind by some constraints. While the general idea is similar, it works a bit different. They most likely just use a render buffer and never clear it as usual but simply let that buffer fade to black all the time. So the newly drawn shapes are bright while everything else is constantly fading away.
I haven't watched the whole video, but I'm so happy that this exists and that you exists. Your work is incredible, and always makes me fell so happy. Also, I'm a visual artist and a programmer, your channel is perfect for me
Once again, this guy has blown my mind with his simple, helpful, humerus interpretation and implementation of what would normally be a complex coding nightmare. Bravo, bravo... keep it up Dan...
I started watching the coding challenge series a weeks ago. For me it's been a week or 2, but for David it's been years! I'm inspired to see the love and enthusiasm he still has!
14:46 This was the penny drop moment for me! The way the bezier was calculated, and the reason the curve doesn't come close to the control point, suddenly made clear 😮😀
Great video. Certainly demystifies the inner workings of Bezier curves. I also wanted to say that the coloured boxes that you draw around snippets of text really help to understand what you trying to point out. Keep up the great work!
Ive been following this channel for the last 5 years and I went from someone who hated web dev to a working frontend developer. but the best part is I still subconsciously learn more about math than programming and i fucking love that.
A few years back I left a comment underneath a Coding Train video. It was critical because the content was too playful to me and too time-inefficient. I wanted to quickly learn what I had opened the video for. Now, I want to apologise for my arrogance. I think what you have done with Coding Train is nothing short of amazing. I hope many kids will be inspired by you to learn maths, computer science and create art. Never stop.
Very nice content! I've implemented this algorithm before and used it frequently , especially bezier animation! I hope you can continue this series because i am very interested in understanding these type of algorithms. You are the man who brings me to the world of computer graphics, thanks man
Amazing explanation for bezier curves! This explanation was so good that I probably will not forget how bezier curves are drawn, not after having heard the term "lerpception" XD. Once again, awesome explanation!
Nobody seems to underline WHY Bezier curves are so wonderful, they changed the way we can mathematically/practically describe very complex curves without using "classic" expressions. The whole mathematic model of a Bezier curve is a set of modules really (I had to calculate them manually for a couple of exams at university back in the day). It's not just "a curve", it's a way to recursively describe a whole range of shapes that would take an insane amount of mathematical tinkering if done differently (nevertheless they allow for much more precise industrial calc for design and manufacturing). Edit: I am no mathematician sorry for my sloppy explanation but I hope you get the idea, feel free to correct me if something is too sketchy ^^
Tips for beginners: you can imagine a bezier curve like this. you are bob and your friend jane is across the road she is walking to the end of the road in a straight line. but you dont know where she is going, so you look directly at jane and walk forward, as she moves down the road you stay facing toward jane, and continuously walk forward until you meet her at the end of the road. as you walked across the road your foot prints would be a bezier curve. that's how I accidentally discovered bezier curves while trying to make a curve generator in a video game lol. I hope that my explanation will help anyone confused.
currently learning some stuff for programming as i intend to study it in some years , the biggest thing about your channels is that you explain it in a really easy way , step by step and even the math behind it! the way you teach , explain and show is so funny and enjoyable! so much talent and so much passion for your channel i love it!
I have always wanted to know how this works! Also I've used a function similar to lurp before and I always wondered how it could do that. Thanks for breaking it down for all of us. Keep up the awesome work!!
I remember when I was a kid and discovered that you can make a curve with straight lines and I started drawing a bunch of those curves messing with all sorts of parameters, apparently young had just rediscovered bezier curves, that's really cool
Really awesome vid. I've been using Bezier curves in Unity for a while even converted bezier code into DOT's code but I didn't understand the underlying bezier code, that is until now thanks to you.
I wish all math/geometry and calculus implementations are taught like this (advance calculus, etc.) to learn intuitively than just memorize formulas and their implementations.
In the mid 1980's I programed Bezier curves on Atari 8 bit using Atari Basic. Using random control points and connected end points I could do "human" like scribbling.
That is an awesome explanation! Thanks for that! Got stuck on bezier curves a while back while trying to solve the Mars lander challenge on codingame. Maybe I'll give it another go, since I now know that bezier curves are not that mystical.