 Okay, so let's continue our easing functions and our functions up here inside of x, and let's actually start to implement our first easing function, and this one's going to be our linear function. So what we want to do is we want to write a function that just linearly interpolates from 0 to 1 and just raises a y value. So what I want to do is return a float value, and this is going to be our linear ease function, like so, and we're going to take in a few parameters or arguments as they say, and this is going to be a float. And what I'm going to do is I'm going to put in the standard arguments for this easing function. I'm going to explain it as we go. So the standard ones are t, and c, and b, and then d, all right? And what those stand for is the current time in our function, okay? Our two offsets, so we have c and b, which are start and end values, and then we have our duration, and our duration is how much time are we going to take to reach our end point, which is going to be b, okay? Cool. So in order to use this particular function, what I want to do first is, you know, return it, because if I don't, or return some value, if I don't, Vex will complain, and it doesn't really throw any sort of errors, it'll just complain, all right? So I'm going to hit apply, all right? So everything's working now appropriately, we're not getting any errors. And what I want to do is I want to declare a couple of variables here first. So the first thing I want to do is declare how many points I want in my particular line that we're going to create, okay? So I'm going to just call this numpts for num points, and I'm just going to initialize this to something like 10 for now, okay? So with that, now we have 10 points that we're going to run over, all right? And what I want to do is create a for loop. So I'm going to say for int i equals zero. So we're going to start at zero, and i is less than or equal to our numpts value. So the number of points, we're going to say i++, so we're going to iterate through each one of those particular points up there, okay? So this means we're going to literally loop 11 times, okay? So what I want to do is now I want to start to call our particular function, so this linear ease. But before we do that, let's go and get a few things situated. So what I want to do is, you know, get the creation of the points, and in this case, I'm just going to create a line in the x direction. So to do that, I just want to declare a new float, we'll call this the x value, and our x value is going to be equal to our current iteration divided by our numpts, because this gives us a value between zero and one, all right? And we just need to make sure that we cast these to a float so we get a float value, like so, all right? And if I were to go now and create a new vector, so I'm going to create a new vector, and this is going to be our final pause, our final position, and we're going to set this to our x val, and for now we're going to set y to zero and z to zero, and then finally we're going to add a point to our current geometry using that final pause, all right? So let's hit apply. And there you go. We're getting 11 points that goes from zero to one, all right? And if we actually expose this value, this num points here as a channel, so let's do that. Let's do ci, we'll say numpts for the name of that channel, and hit apply, and accept, and then hit the spare parameter button up here. Now if we go and create new points, you can see that we're creating points within a range of zero to one. Cool. All right, so all we need to do now is take care of our y value, and in this case we're going to utilize this linear ease function up here, okay? So what I want to do now is call this function, so I'm going to say float, our y val is equal to our linear ease, and instead of typing that what I'm going to do is just cut and paste it, all right? And so we have four arguments that we need to provide it. So the first argument is the current time we're at, so this is i, all right? So it's the current time. Let's do that, so i, and then our c and v values, this is our range, so this is going to be zero to one, so this is zero to one, and then d is our duration, and that's going to be our number of points, because that's the duration that we want to loop over, all right? So we're going to just copy that numpts value and just paste it in there, okay? So currently we're just going to get a value of one for everything, so let's just hit apply, and then apply the y value here. And now what we can do is you can actually hit control and enter on the keyboard, and you can see now that every single point is getting a value of one, all right? So our function is working because we're returning just a value of one, so now every single time we loop through this, every single point is getting a y value of one, all right? So what we want to do is we want to actually create that linear interpolation, and to do that, it's quite simple, and this is basically how the equation goes. We're going to take our starting value, c, we're going to multiply it by our t divided by d, so the current time, which is i, our current iteration we're on, the duration, this is going to give us, this whole section right here is going to give us a value between zero and one, okay? So it's going to be zero, zero point one, zero point two, zero point three, right? And then what we want to do is we want to add on b, which is our offset, okay? So we'll make that a little more evident here in a sec, but if I hit control and enter on the keyboard over here, and I actually got my arguments mixed up here, so let's do b and c, and hit control and enter, and you can see now we're getting a linear interpolation. All right, so that's cool. So what we can do now is we can start to utilize a bunch of different functions. So I can come in here now and say float, we'll do ease in, and we'll just copy those same parameters, so we'll say float, t, b, c, and d, all right? And this one's actually quite simple as well. We basically do the same return right here, but this time we just want to do a power of our normalized value here, our normalized time value. All right, let me actually put an e there, and we want to take it to a power of three, is our cubic ease in, all right? So now if I were to click out of there and let's just copy this ease in value, and then we'll just paste that down there, do control and turn on the keyboard, and now we have an ease in function, all right? Very cool. Okay, so let's go and implement the next one. So we'll do float, ease out, and I keep forgetting to put that e there, all right? So we'll do the same argument, so we'll say float, t, b, c, and d, and this time we're going to copy this, all right? And all I need to do is the opposite. So we need to do a one minus all of our previous ease in values, we'll do control, enter, and this time we will just do an ease out function, and there we go. So now we're getting the ease out function, and that is actually going the wrong way, and that's because we also need to do a one minus t right here, there we go. So now we have our ease out function. So if we switch between ease in and ease out, there we go, and I need to rename this guy right here. So there's ease in, and here's ease out, and there we go. So now we're getting those two functions. So to do the ease in and out, we really just need to lurk between those two ease in and ease out functions. So this is how we can start to utilize other functions inside of a function to produce another value. So we'll do a float, t, b, c, and d for our arguments, all right? And what I want to do is I want to lurk basically between these two functions, ease in and ease out based off of a time value. So I'm going to do a float cur time is equal to i divided by, or not i, it's t divided by d, all right? And we'll just make sure, those will actually evaluate to a float value, so I don't need to do the cast. So I'm going to return a lerp between our ease in, all right, and we need to provide all those arguments there. So then we'll lerp from ease in to ease out. Same arguments, t, c, b, actually t, b, c, keep getting that mixed up there, and d. And we want to lerp using our cur time, all right? So let's see if we did that correctly. So now our y value is going to be our ease in and out, and there we go. So now we have ease in, ease out. Very cool. We can change the amount of points that we have. You can see that we're getting our ease in out function. Cool. All right, so I'm going to close out this particular lecture here, and in the next lecture what we're going to do is we're going to bundle this up into an HDA, and we're going to make it so that a user can go and select any one of these particular functions as the output. Okay? Thanks so much.