Turning Pixels Into Waves

In this video, we're building an awesome graphical effect, where an image is processed into a series of animated waves. The math behind the technique is fascinating, and will lead us into to how sine waves work, the magic of linear interpolation, and signal processing techniques like amplitude modulation!
=[ 🔗 Links 🔗 ]=
🗣 Discord: / discord
⭐️ Patreon: / lowleveljavascript
💻 Github Repo: github.com/lowbyteproductions...

Пікірлер: 21

  • @strat5520
    @strat55208 ай бұрын

    i absolutely love your channel. Its like it was made for me personally lol. What a treasure.

  • @MarcelRobitaille
    @MarcelRobitaille8 ай бұрын

    An explanation of AM/FM without a single mention of radios? It looks awesome though I'm definitely going to steal that effect for something. I'm thinking you could vectorise an image like that for laser engraving or something

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    Extremely fair point, I guess I thought those terms were so ingrained in most people's minds! I'm certain you could indeed vectorise this - or at least modify the algorithm to be able to take an image of a lower resolution and upsample, so that you could map lines drawn by the sine waves to the coordinate system of the laser engraver.

  • @electrolyteorb
    @electrolyteorb8 ай бұрын

    I have heard about something about it in how MRI constructs images... Now this hand on approach teaches a LOT... Thank u

  • @Roxor128
    @Roxor1288 ай бұрын

    It feels like you're halfway to recreating analogue television here!

  • @lunarwitch1967
    @lunarwitch19677 ай бұрын

    well this is amazing, when i find some time i will try to make a basic wave image generator and host it somewhere (i'll make sure to drop you a link and to credit you) (i also have an idea for a game with these images as graphics but that's for another day when i'm bored) anyway, awesome video 🤍

  • @shubhamsingh3068
    @shubhamsingh30688 ай бұрын

    Your mapRange formula is wrong at 15:20. Try putting v = a, outcome must be c but the mentioned formula gives 0. And thanks for this awesome content.

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    You're right and I fix it at the end 😁

  • @skilz8098
    @skilz80988 ай бұрын

    Before I get to far into this video just wondering if you're using FFTs and their inverses within your algorithms...

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    No this video doesn't use FFT. Its an effect based on amplitude modulation of a fixed-frequency wave (at least frame to frame), which takes it's modulation information from an interpretation of the pixel data.

  • @skilz8098

    @skilz8098

    8 ай бұрын

    @@LowByteProductionsOh wow, didn't expect a response that fast but thank you. Was just curious... I'm partially aware or familiar with the method you're using. It's just that when it comes to FFTs they're one of my favorite algorithms both mathematically and within the context of a computer program... They're just fascinating at what they can achieve and the rate at which they can achieve it.

  • @andy_lamax
    @andy_lamax8 ай бұрын

    Near the end, you fixed mapRange but did not fix your lerp function, they were all wrong, but you just fixed one

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    True. I fixed it before I pushed to github. It was only defined to be used for map Range in any case

  • @Natalia-zt1dq
    @Natalia-zt1dq8 ай бұрын

    Your lerp function in the code is wrong, you did basically lerp() => t*b

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    You're right and I fix it at the end 😁

  • @KangJangkrik
    @KangJangkrik8 ай бұрын

    Well.. this is low level channel, try to render it with Vulkan

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    Looking at something like the architecture of vulkan, and comparing it to traditional graphics targets like opengl could be fun. Not something I really know enough about right now to do effectively, but maybe in future

  • @KangJangkrik

    @KangJangkrik

    8 ай бұрын

    @@LowByteProductions me too! +1 subscriber

  • @blade8880
    @blade88808 ай бұрын

    i hear js i comment i quit the video

  • @LowByteProductions

    @LowByteProductions

    8 ай бұрын

    Not a flex