Geogym: Sort points to make Lines from nodes of inner geodesic grid to the outer one

Hi all,
I am working on a Dome design using Geogym and need to make lines from nodes of inner geodesic dome to the outer one. But it looks line points are not the same order.


Appreciate any help!
Dome2forum-190801.gh (10.7 KB)

When removing duplicates from 2 sets of points in different locations, it isn’t guaranteed that the order of the kept points will match.
I think a better way to approach this would be to start from a mesh without duplicate vertices (either use Combine&Clean to clean up the mesh you have, or use Weaverbird Icosahedron + Loop subdivision, which doesn’t create these duplicate vertices to start with)
Then you can unitize and scale the vertices (which has the effect of projecting them onto a sphere of given radius), and still link them up because the orders match
geo.gh (10.3 KB)

1 Like

Thank you Daniel, it’s much more simple. :slight_smile:

Sorry @DanielPiker I’ve checked the shape and see that it’s not pure geodesic if we made from Loop subdivision. Is there anyway to remain geo component from geogym ?

If you mean the edges along the equator not lying on a plane, you can use the Weaverbird Split Triangles subdivision instead


You can also get slightly less variation in edge lengths with this approach if you do one level of subdivision, then project onto the sphere, then another subdivision, and so on…
The difference compared to just applying multiple levels of subdivision to the icosahedron then projecting is quite small though.

1 Like

Here’s a comparison of dividing multiple times then projecting vs
divide-project-divide-project


geo2.gh (11.3 KB)

I see. Thank you Daniel. That’s what I’m looking at.

Hi Daniel, is there any chance to shift the origin from World xy to be another plane. I try to move it but the frame is still at 0,0,0.

There is a step in that definition where the position of each mesh vertex is treated as a vector and unitised, which projects it onto a world origin centred sphere.
You could either explicitly create the vector from your chosen centre point here, unitize that and add it to the centre position:


or just make the whole thing at the origin, and move it to your chosen position after

The first chapter of the Essential Mathematics guide covers these sorts of vector operations: