algorithmic modeling for Rhino
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.
Thanks in advance.
I raised my problem wrong, I apologize for that. What I needed was not interpolate two vectors, was interpolated four vectors from a dual mesh, and was too complicated (and unnecessary) to relate the topology of the dual mesh, therefore, the smartest thing was to give values of elevation directly, easily and with good results.
I'm really grateful for all the help, thank you all.
Ethan, your circular interpolation method was very surprising to me, really appreciated for your help. Surely I will use it in the future!
I guess it depends on what kind of interpolation we're talking about. The one you drew looks like it could be accomplished by a cubic spline interpolation, which is quite normal to find in FEM (interpolating bending moments between nodes are often discribed by cubic shape functions).
Thanks for your reply,
now i think the method should be something like Nearest neighbour weighted interpolation, but I'm not sure.
Does it help to move the polygon centre points too?
Geodesic domes project points out from the base icosohedron onto a sphere but, of course, the icosohedron points all lie on a sphere.
If your mesh is convex, then you could draw lines from each vector normal and get the closest points between each pair as an anchor location and also to define a rotation plane (new origin, with the vertices defining the other two points), and then rotate one vector around that point to the other, interpolating their lengths through your subdivisions. If it's concave, then it would fan inward, but perhaps you could just use the absolute distance from the edge to force it to fan out.