Adjustable Sigmoid Curve (S-Curve) from $(0,0)$ to $ (1,1)$ I feel like this is such a simple question but I am at such a loss. I currently have a set of values that I would like to weigh by an S Curve. My data ranges from $0$ to $1$ and never leaves those bounds, but nearly every version of a Sigmoid I see assumes $x = 0$ is the point of inflection. Furthermore many of the Sigmoids reach y=0 at approximately $x = -6$, and $y=1$ at approx $x= 6$. However in my case I need to reach $y=0$ at $x=0$ and $y=1$ at $x=1$, and the point to of inflection to be at $x = 0.5$.

To summarize I need a S Curve that meets the following requirements..


$x$ from $0$ to $1$
$y$ from $0$ to $1$
$0$ remains $0$ and $1$ remains $1$
Adjustable shape for different Curves
Bonus If I can adjust the point of inflection while maintaining the above


Here is an example of the above (except for a movable inflection)
http://www.guillermoluijk.com/misc/contrast.gif

I have looked at Sigmoids, Logistics, tan and sing approximations, contrast and AI equations, and nothing quite gets me what I need. Any explanation to go along with an answer would be much appreciated!
I put three in a chain: I use the positive domain of the NTS to 'skew' the input, the second is the basic sigmoid, and then I use the positive domain to skew the output. The result is an extremely flexible curve which I tend to use everywhere now. Here is a Desmos sheet, I think it is what you were looking for, although the other answers seem good too. https://www.desmos.com/calculator/tswgrnoosy
Here is a variant of sigmoid described in question I have made through arctan() function

$$y=\left(\frac{-1}{2\cdot\arctan(-\frac{a}{2\pi})}\right)\cdot\arctan\left(\frac{a\cdot(x-0.5)}{\pi}\right)+0.5$$

Those big left multiplier depends only on parameter and can be calculated separately so basically it is:
$$K=\frac{-1}{2\cdot\arctan(-\frac{a}{2\pi})}$$
$$y=K\cdot\arctan\left(\frac{a\cdot(x-0.5)}{\pi}\right)+0.5$$

arctan parametric sigmoid picture

Pseudocode:

a = 100.0;
K = -1.0 / (2.0 * atan(-a * 0.5 / pi));

for(x = 0.0; x &lt;= 1.0; x += 0.01)
{
    y = K * atan(a * (x - 0.5) / pi) + 0.5;
}