Reverting taper?


Already posted in the Grasshopper forum: Taper and undo taper creates barrel distortion

Didn’t get a reply so far, and anyhow this seems to be an issue related to Rhino rather than something specific to Grasshopper. So:

Can I revert a taper to get back to the original object?

The goal is to create an offset that fades in y-direction. For that I tapered the object, then applied the offset, and tried to revert the taper. Unfortunately, the reversion introduces a barrel distortion:

taper.3dm (58.8 KB)

I tried taper with and without the option infinite, and in both cases I get a distortion when trying to revert.

(Menno Deij - van Rijswijk) #2

A normal transformation (like scale, rotate, translate, etc.) can be reverted, because the transformation can be written as a matrix. The reversion is then given by inverse of the matrix.

Taper, howver, is not a normal transformation for which a transformation matrix can be written. It is a so-called SpaceMorph, that allows for more freedom in how an object gets deformed (in this sense it is more similar to Twist and Bend). SpaceMorph has no inverse, and therefore cannot be reverted.


You might be able to create two surfaces, one that is just a plane and one that is a tapered plane. Then use FlowAlongSrf from the plane to the tapered plane in order to taper a curve, or the other way to untaper. It probably won’t be exact, but it will be a lot closer.

taper_via_flow.3dm (83.9 KB)


Thanks, @tomfinnigan, this looks very good!

In Grasshopper, I implemented your approach using Map to Surface in place of FlowAlongSrf. See my comment in the Grasshopper forum.