 Howdy guys. All right, so to get started with the radial sort, let's actually set up the problem here So I'm just going to call this geometry node radial sort So I want to generate a set of points That is unorganized so that we can reorganize it. So I'm going to create a circle Put it on the zx plane like so and I'm going to drop down an add node And I'm going to remove all the geometry from it So we are just left with our points like so and then I'm going to drop down a sort Let's do a sort node and I am going to set this guy to a random sort So on the point sort here, I'm going to go to random now You'll see that all of our points are random and the problem here is now if I want to try to make a curve out of this using an add node It's all going to be randomized like so and that's not really usable in this particular case So that's the the current issue that we are faced with. All right, so let's drop down a null node here and Let's dive into The solution so we're going to call this null node out for sort Like so. All right, so all we need to do is drop down an attribute wrangle node And we are going to call this node the radial sort node And I'm going to leave them to run over points there and I want to First get the center of all these points here. So I want to find the center All right, so we're going to do a vector Call it center. We're going to use the get BB box center function here We're going to pass in the first input geometry or zero in this case. I then want to find the direction From the center to each point, right? That way we can pass it into a function that will actually give us back Radiance and that will tell us then where we are on the circle or in a radial fashion. So I'm just going to say vector Dur for the direction and we're going to normalize our vector And we're going to pass in the center minus actually we're going to do at P Minus center at P remember is the position of the current point that we're working on where we're set to run over points Then finally we can use that direction. So if we were to actually visualize that we can do at n is equal to dirt Like so make sure you have your normal option turned over here for your component displays So now you can see we have a radial direction all set up So what we want to do is create a new attribute called f at sort bow And we are going to feed in a tan to or the result of a tan to using the dirt dot x and the dirt dot z Like so All right, so now we've got a sort value So you can see down here in the action or the geometry spreadsheet We've got a sort value. Well, we can do is we can then feed that into a sort node Like so set our point sort to by attribute and set the sort value and you can see now our points are organized So 0 1 2 3 4 and if I were to pass this into an ad node now and Turn it back into Circle so now we've got our curve back. We could set the ad node to close and we literally end up with our original geometry Pretty cool. All right, so that's the radial sort So let's take a look at a practical example of using radial sort So this is a road system network that I'm building for Houdini engine version 2. Currently, it's on my patreon page It will be a release at some point on you don't mean CG circuit and stuff like that But you can follow along right now. We're about I would say I don't know a quarter of the way through it We just started and so we're building up the system But this demonstrates how to use a really good practical use for Using radial sort in real-world projects. All right, so hopefully you guys enjoyed that. Thanks so much