Home Artists Posts Import Register

Content

After a very difficult year, it is finally done!!

I am legitimately so lucky to be able to spend all this time digging deep into topics I'm interested in, and sharing it with the world, and you've all helped make this possible!

Thank you all so much, I couldn't have done this without you!!

// Freya ❤

Files

maxresdefault.jpg

why are splines? well my god I have good news for you, here's why splines! if you like my work, please consider supporting me 💖 https://www.patreon.com/acegikmo This project grew much larger in scope than I had originally intended, and burnout made it impossible for me to do more with it. It was already getting incredibly unwieldy, so I apologize in advance for not covering non-uniform splines, and the general jankiness of some parts. There are also quite a lot of places where I just talk about something without *showing* it, but since I couldn't animate it all, I opted to keep that information in rather than remove it altogether • Lots of love to 💛 Jazz "queenjazz" Mickle for music & sounds ❱ https://queenjazz.bandcamp.com/ 🐈 our children, Thor, Salad & Toast, for helping me out during recording • How was this video made? 🔨 I made it in Unity, the game engine ⭕ Using Shapes, my vector graphics plugin ❱ https://u3d.as/1W37 📈 Using Mathfs, my math library ❱ https://github.com/FreyaHolmer/Mathfs ...along with a bunch of hacky, partially broken, procedural animation tools I made specifically for this video 💡 Striped studio skybox by ProAssets: https://assetstore.unity.com/packages/2d/textures-materials/sky/studio-lighting-hdri-pack-55154 🎥 Final editing in DaVinci Resolve • Links 🐦 Twitter ❱ https://twitter.com/FreyaHolmer 📺 Twitch ❱ https://www.twitch.tv/acegikmo 💬 Discord ❱ https://discord.gg/v5VWuga 🌸 Instagram ❱ https://instagram.com/freya_holmer Timestamps: 00:00:00 Intro 00:01:17 Examples of Paths 00:02:16 CHAPTER 1 - Bézier Curves 00:02:20 Lerp 00:03:16 Quadratic Bézier 00:03:54 Cubic Bézier 00:07:41 n-Degree Bézier 00:09:37 CHAPTER 2 - Bézier Splines 00:10:00 Cubic Bézier Spline 00:10:21 Spline Parameterization 00:11:01 The Anatomy of a Spline 00:11:32 Knot Values & Knot Intervals 00:12:21 Local Control 00:14:03 The flexibility of the Cubic Bézier 00:14:28 Tangent Points 00:15:07 CHAPTER 3 - Continuity 00:15:28 C⁰ (Positional Continuity) 00:16:12 Spline Derivatives 00:17:32 C¹ (Velocity Continuity) 00:20:25 C² (Acceleration Continuity) 00:21:48 Cascading Loss of Local Control 00:23:46 C³ (Jolt Continuity) 00:24:49 C∞ Continuity 00:25:19 Parametric Continuity Summary 00:26:20 CHAPTER 4 - Geometric Continuity 00:26:50 G¹ (Tangent Continuity) 00:27:46 G² (Curvature Continuity) 00:28:05 The Reflection Test 00:28:56 Seams in Circular Arcs 00:29:43 Angle Analysis 00:30:47 Curvature & The Osculating Circle 00:32:26 Curvature Combs 00:32:48 G¹ (Algebraically) 00:33:27 G² (Algebraically) 00:34:52 Geometric Continuity Summary 00:36:30 Continuity Summarized 00:38:06 Cusps 00:39:25 CHAPTER 5: The Extended Universe 00:39:40 Hermite Spline 00:43:35 Hermite ⇔ Bézier Conversion 00:44:09 Linear Spline 00:45:17 Cardinal Spline 00:48:20 Catmull-Rom Spline 00:49:33 Investigating Basis Functions 00:51:02 Basis Function Continuity Analysis 00:51:31 In Search of a C² Spline 00:53:15 B-Spline 00:56:35 Quiz Time! 00:57:12 Cubic Trajectory 00:57:37 Uniform Cubic Splines 00:59:09 Splines & Their Use Cases 01:01:37 Outro 01:02:16 NURBS 01:02:56 Color Spline 01:03:52 Credits & Freya Rambles 01:13:26 Cats helping me w. recording

Comments

Merijn Vogel

Watching your talk at the Dutch Game Day 2023. My head only exploded a few times 🤣. Very nice presentation!

Doug

Freya, I hope you can clear up a confusion I have. At 40:24, when describing a Hermite spline, you say “It effectively auto-calculates the acceleration and jolt to make this curve”. At 42:44, still describing a Hermite spline, you say “In other words, while this spline doesn't meet the criteria for C2 continuity, it is always C1”. At 59:49, you give an example of a non-uniform single dimension over time Hermite spline. This non-uniform single dimension over time Hermite spline is exactly what I need to control each axis of a bridge crane in a factory setting (real life). However, it is critical that I account for Jerk. In the real world a crane experiencing Jerk is a bad thing. Your first statement makes me hopeful that Jerk will become non-existent, but your second statement makes me doubt that assumption. Can you please clarify or expand on this?

Freya Holmér

So, cubic hermite splines are only C1 continuous, which means acceleration and jolt are discontinuous at control points. They do auto-calculate whatever acceleration and jolt is required to meet the constraints of the control points, but they don't work to minimize jolt none of the splines I covered are specifically designed to minimize jolt, which is a bit of a different question altogether. It might be the case that some of them do by accident, but to find an optimal path to minimize energy (or jolt) is something that's more in the realm of path planning and energy optimization, rather than pure splines. my guess would be that the B-spline does the best job at minimizing it, but even that one is still not continuous in jolt across control points, only in acceleration, unless you constrain the control points further with optimization algorithms

Merijn Vogel

Beautiful movie length explanation of splines. Was the music tailor made for the video? The music flows so perfectly with the scenes it is lovely.

Freya Holmér

thank you! and yes, the music was made by Jazz Mickle (https://queenjazz.bandcamp.com/), specifically for this video :) Except the bézier curve section track, which is the same as from the bézier video (although she made that one as well)