Grasshopper

algorithmic modeling for Rhino

# Nonlinear interpolation vectors

Hello everyone,
I need to interpolate two vectors, such that the length of the intermediate vectors not a linear progression, something like this:

Someone knows or is able to figure out the math behind it?
I have not even been able to find references in google, I have seen something like spherical interpolation but not exactly what I'm looking for, so if anyone knows the academic term would also be useful to me.

Views: 1443

### Replies to This Discussion

Hi Dani, a wild guess: can't you treat them as lines and do a OneRailSweep with the arc as rail, and then get some isocurves in {v} direction (which are lines) of the resulting sweep?
Greetings!

Attachments:

@pieter, adding a graph mapper at this (say division fo the arch), many options could come up too.

To what avail Alex? I'm not seeing it - or did I misunderstand your suggestion?

Attachments:

i was thinking, maybe through graph mapper to have not only arch describing vectors, but distorted curves, extending the ones of the arch curve, to sine wave etc. cant test atm, i have rhino animating 7000 slider frames. :-@

bad description, i need to make a screenshot.

Thanks Pieter, but I need the mathematics because I'm designing from code. Thank you anyway ;)

Hi Daniel, is this like what you had in mind?

Attachments:

Hi Ethan, this is close, but does not serve me a circular interpolation. Attached practical problem. What I want to do is to mesh the polygons of a dual mesh, but instead of having the vertices on polygons, I want to raise them a bit so that the resulting mesh has coherent curvature instead of being flat.

This is what I want to avoid:

This is what I get:

This is what I want to get (more o less):

What I want to have is something like the interpolation of Catmull-Clark subdivsion, but from another perspective, mm i think, I'm not sure xD. But you get my problem?

Attachments:

I'm not really sure what you're trying to accomplish. The first image looks like a simple interpolation (A*t + B*(1-t)) . This second set of images looks like you're trying to spherify the mesh.

Yeah, ok, to better explain what I want to achieve, here is made with kangaroo, polylines corners are anchor points and the other vertices are moved in their normal. The result is a curvature consistent with the shape.
Look, I have this design (still without smoothing/subdivision), and want to avoid straight lines (like blue) because they break the organic form that I seek. Each cell is born of the dual mesh, and if I can interpolate their points so that it is not linear, I will not have straight lines like the blue polyline.

You should be able to do something similar by interpolating the vectors like you said. Here I would move the dual edge points by a factor of the normal of the two original faces crossed by the edge. Maybe also using the polygon normals to a lesser degree. You should build an equation similar to Catmull-Clark and test the ratios.

Daniel, I have no immediate answer for you but it seems like you need to interpolate between more than two vectors at a time and the assumption is your mesh is convex everywhere(?).

Hi Daniel,

This is in no way relevant to your project but I labeled my definition "circular interpolation", where in actuality, the interpolated vectors travel along an ellipse. I'm sure we're all glad that matter is settled.

by kgm

by kgm

by kgm

by kgm

by Agata09