Unfolding an Icosphere, with Sverchok

I am trying to "unfold" specific faces of an icosphere, using the Sverchok addon, such as this:

Where the selected faces of an icosphere are spread or scaled outwards, similar to how the petals of a flower would spread outward from the bud.

My node setup so far:

I'm thinking the process would be something like:

1. separate faces into separate polygons
2. modify coordinates of vertices (in selected polygons) to be more "spread out" from their original positions

Where I'm having trouble with this setup is joining the modified vertices back to the list of face objects, not sure how to get the two lists back together.

Any help with this would be very much appreciated, I'm also open to other ideas to get the desired effect. I was messing around with fields a bit, but wasn't having luck with that either.

Thanks,

• I think it would be simpler not to separate vertices in the first place. You can use your mask as multiplier for applying transformation. In your case you should replace False values with 1 and True values with desired weight (1,3) in the mask and connect it to the math nodes. Commented Oct 2, 2021 at 4:36

1 Answer

To rotate anything in 3d space you have to know the center and direction of rotation. In the example I used center of polygons as centers of rotations. Ideally the center should be the center of opposite, to the points, edge. Axis input of the Rotate node expects normal of rotation surface. To get this normal I used cross production of face normal and up direction. And finely I applied degree of rotation only to selected points with help of the Switch node.

https://drive.google.com/file/d/15lhtLdhC9COZgV8OdOlXn__S1XmWfA62/view?usp=sharing

• Perfect! thanks for the answer. I'd like to take this a step further by keeping the faces connected to the same mesh when increasing the subdivisions of the icosphere. I'll try a few things and probably open a new question. Commented Oct 2, 2021 at 16:43