Understanding Sporph

So I’ve been dealing with Sporph a lot lately, and although I’ve managed to incorporate it into my work, I must admit that I don’t fully understand how it works in terms of orientation.

See my attached gh file. I want to:

  1. have the triangles oriented along the bottom of the cylinder, not the top as depicted, and
  2. have the triangles extruded inward, into the cylinder.

Sporph!.gh (14.3 KB)

Now, I would think that reversing the V (Using a Lunchbox component) could solve 1, but that doesn’t work. I imagine that I’d need to somehow move the UV origin to the bottom of the cylinder from its original position on top, but I’m not certain if that’s even possible.

I also think that flipping the normal of the cylinder or surface to have them match would solve 2, but that doesn’t seem to work.

Thanks for your insight in advance,


Sporph!_re.gh (11.0 KB)

Thank you @HS_Kim, reparameterizing those surfaces certainly solves the issue.

Unfortunately, I’m still failing to grasp an understanding of how to manipulate the UV origin and directions to alter the geometry on the target surface. Reversing the U and V doesn’t seem to have any affect, nor does flipping the surface’s normal.

For example, how can I move the UV origin so that it is on the Y-axis instead of the X, on the bottom of the cylinder, and be able to flip the geometry on either side of the cylinder at will?

Have a try with this and hopefully you might be able to control what you want.
Regarding normal directions, you should follow the “Right hand rule”.
Wombat and pufferfish plugins have some useful features for this.

Sporph!_reV2.gh (15.3 KB)

Thank you @HS_Kim! Your demonstration is exactly how I originally thought it should work. For some reason when I was using Pufferfish’s “Swap Surface Directions,” the Reverse U and Reverse V was having no effect. I wonder if it was because I was using an outdated version of PF, or I accidentally turned off the parameterize options for the base or target surfaces.

I also appreciate the Wombat reference, I was recently wondering if there was a plugin like this. Using it, I was able to discover, surprisingly, that flipping the normal of the surface doesn’t affect the U and V directions. I was assuming that the normal=W, would hold true to the “Right-hand rule,” and the U and V directions would adjust respectively.


Reverse U and Reverse V was having no effect. I wonder if it was because I was using an outdated version of PF, or I accidentally turned off the parameterize options for the base or target surfaces.

Reversing wont have any effect on this visually because your items are equally spaced, you won’t notice what is doing. Even more so, Sporph overrides UV direction by the corner points you set. Those corner points determine where the mapping goes. What you want is the swap (UV) option which the Sporph corner points dont change.

Hi, I have another example here. I want the sporphed geoemtry to always be on the same side of the target surface, corresponding to the source surface and source geometry. That is, when changing the target surface (in this case altering the curves), sporph changes sides based on the properties of the new surface.

Sure, one solution is to simply change e.g. the extrusion, like in the file, or toggle between to target surfaces, but those aren’t good solutions.

Flipping surfaces doesn’t work, I need to control the w / normal span of the surfaces. Can we do this without using a custom script?

Example file attached.
04_solid_mapping_b.gh (13.1 KB)
Best regards

If you use Edge Surface, the U&V directions of your surface vary depending on your input curve directions and order,
So, its highly unpredictable…
Match your target surface direction to your base suface first like I did in my previous posting.

04_solid_mapping_b_re.gh (16.6 KB)


yes, Edge Surface is of course the root to the problem.
I just wish Grasshopper could fix the problem without plugins and scripts. It feels like it would be possible. Thanks for the pufferfish examples, this is exactly how sporph should work.

HS_Kim, thanks, I always enjoy and appreciate your input!