# How do i create 2 points from 1 point (catmull rom splines)

so my workflow is stuck because I need to create 2 points from 1 point with a distance,

What’s the issue?
I need to sort the nodes in a way i could possibly go through

For example:

Instead of this {[1] = CurrentWaypoint, [2] = CurrentWaypoint}
I need something like: {[1] = CurrentWaypoint, [2] = PreviousWaypoint [3] = CurrentWaypoint [4] = NextWaypoint}

Did i find any solutions on the devforum
I couldnt find any solutions or anything related to my problem, mostly talking about how can they implement catmull-rom splines

Heres my code:

``````---------------------
----- VARIABLES -----
---------------------

local Nodes = {
[1] = Vector3.new(0,0,0);
[2] = Vector3.new(0,0,-20);
[3] = Vector3.new(20,0,-20);
}

local NodeDistanceFromOrigin = 5;
local NewNodes = {}

for NodeNumber = 1, #Nodes do
local Node = Instance.new("Part") -- created node visual
Node.Name = tostring(NodeNumber)
Node.Position = Nodes[NodeNumber]
Node.Anchored = true
Node.Color    = Color3.new(1,0,0)
Node.CanCollide = false
Node.Transparency = .5
Node.Parent = workspace

local PreviousNodePosition = Nodes[NodeNumber-1]
local CurrentNodePosition  = Nodes[NodeNumber]
local NextNodePosition     = Nodes[NodeNumber+1]

if PreviousNodePosition then

local PreviousNode = Instance.new("Part") -- created node visual
PreviousNode.Name = tostring(NodeNumber-1)
PreviousNode.Anchored = true
PreviousNode.CanCollide = false
PreviousNode.Transparency = .5
PreviousNode.Parent = workspace

local Direction = (PreviousNodePosition - CurrentNodePosition).Unit
PreviousNode.Position = CurrentNodePosition + Direction*NodeDistanceFromOrigin
end

if NextNodePosition then

local NextNode = Instance.new("Part") -- created node visual
NextNode.Name = tostring(NodeNumber)
NextNode.Position = Nodes[NodeNumber+1]
NextNode.Anchored = true
NextNode.CanCollide = false
NextNode.Transparency = .5
NextNode.Parent = workspace

local Direction = (NextNodePosition - CurrentNodePosition).Unit
NextNode.Position = CurrentNodePosition + Direction*NodeDistanceFromOrigin
end
end
``````