Bouncing Balls, Round Two: Logarithms?!

The Art of Code Guide 4 years ago

Description

In this video we'll build the second easing function for a bounce. While I was building the first (with a loop, check link below) I became convinced that there must be a smarter way to do this. The way I came up with uses a logarithm, which gives us an infinite number of bounces, for the price of one!
Logarithms are often a bit mysterious to people and therefore quickly forgotten after high school. In this video I hope to give you an intuition about how you can leverage a logarithm to do stuff that could otherwise get quite costly.

========== Timetable =================

0:00 - Intro
1:37 - Problems with Loops
3:01 - Intro to Logarithms
6:30 - Visualizing in ShaderToy
8:30 - Drawing Parabola
10:50 - Changing the Base
13:00 - Attenuate Bounces
16:15 - Undoing Deformation
21:45 - Start at the Top
24:50 - Bonus Time
27:02 - Outro

========== Social Media Links ==========

Twitter: @The_ArtOfCode
Facebook: https://www.facebook.com/groups/theartofcode/
Patreon: https://www.patreon.com/TheArtOfCode
ShaderToy: https://www.shadertoy.com/user/BigWIngs
PayPal Donation: https://paypal.me/theartofcode
FX Hash (NFTs): https://www.fxhash.xyz/u/The%20Art%20of%20Code

========== If you want to follow along ==========

Start point (if you want to follow along):
https://www.shadertoy.com/view/NlXyzS
End point:
https://www.shadertoy.com/view/7lByDz

========== Other videos to watch ==========

Let's get Bouncy! (loop version):
ShaderToy for complete beginners: https://youtu.be/u5HAYVHsasc
Writing a ray marcher: https://youtu.be/PGtv-dBi2wE