In a polygonal 3D software like Blender or C4D, the core idea is quite simple, you just have to create some vertices and connect some of them. Then just move some around.
I.E. in Blender, from the start cube, enter edit mode, select all with A, merge at the center (AltM) to get a single vertex. Then use E to extude a vertex (and create an edge between), ShiftD to duplicate a vertex (without creating an edge), and use F to create an edge between two selected vertices.
In a few seconds, you can obtain that :
And if you move those vertices, the edge follows because they are defined by those vertices.
Note that I'm just displaying the editable mesh (with the vertex size display cranked up), it's not something renderable.
Now, if you want something more complex:
Get back to object mode, create some circles objects:
Apply their scale and location via CtrlA (needed for the hook to work well).
Now we will use some hook modifiers on the vertices object in order to make them follow the circles. First, let's enter edit mode, select some vertices you want to assign to a single circle and press CtrlG to assign them to a group. Repeat for each bunch of vertices for the other circles.
Now in object mode, go to the modifier tab and add a Hook modifier. Here's an example of a setup (with a little bit of animation):

Now from that, just a simple OpenGL render would do it. But for more advanced purposes, it's just the base to build from.