Scatter points on cube surface within constrains

Hi GH community!

I’m quite new to GH, coming from Houdini and TouchDesigner and very excited to learn procedural workflows for CAD and manufacturing!

I’m trying to accomplish a task that I imagine could be easily solved through an iterative / solver approach, but don’t know the specifics in Grasshopper:

I’m trying to connect scattered points on the surface of a mesh, a box to begin with, within the following constraints:

  1. the lines cannot intersect within a certain radius (assuming some radius of a circle is sweeping along the line).
  2. The angle between each two lines cannot be less than X, meaning that each subsequent pair of lines cannot be sharper than X.

I’m scattering the points using a subdivided box mesh, converting the vertices to points, reducing some and connecting the remaining points.

I’m hoping to either:

  1. iteratively evaluate different seeds until a match is found
  2. Relax the point positions post-scattering to fit the constraints.

I’d really appreciate any pointers!