You had the answer in your script only, the logic you needed was to find closest points in the mesh point cloud to the pole target points. But you would need work out your curved beams to follow the geometry, I guess. Also, you don’t need to form your terrain mesh from kangaroo. Use mesh patch in rhino and use quad remesh in grasshopper to get a clean terrain mesh. Use this mesh to simulate your geometry. I have remade the mesh and also internalized it into your file in case you are not a rhino 8 user.
KANGAROO.gh (325.5 KB)