I’m trying to interpolate between two values along a curve. The curve I’m trying to represent in code is attached as an image (basically the upper-left corner of a circle).
So what I’m trying to do is create a function similar to Mathf.Lerp - but instead of pumping out results along a linear path, I want it to pump out results along a that curve.
http://www.unifycommunity.com/wiki/index.php?title=Mathfx
The Sinerp function found there is as close as I’ve found - but it doesn’t have that rapid-onset that a “circular” curve has.
Any help would be greatly appreciated!

The function for a circel is y= sqrt(r²-x²)
you can take y as the output and x as the input
r represents the radius
in your image x has to start at -r and go to 0
is that what you want?
0,0 to 1,1 along a circle is just that, a circle 
interpolate angle from 180 to 90 deg, and use
(x,y) = (1-sin(angle),cos(angle)) for the coordinates
(its 1-sin because you have the center at (1,0))
or if you can use real game objects:
just put a root gameobject at point 1,0,0, put the point object at 0,0,0, then drag it into the root gameobject and now do as above, interpolate an angle and then apply this angle to the game objects eulerAngles (which axis depends on the plane they move in). that way you don’t even need sin - cos (internally its still there though as with any rotation)
Ended up using:
public static float CircLerp(float minVal, float maxVal, float percent){
float x = percent / 100;
float y = Mathf.Sqrt(1 * 1 - (-1 + x) * (-1 + x));
return Mathf.Lerp(minVal, maxVal, y);
}
Thanks guys! Works great 