How d3 can calculate exact animation delay for a given ease

I took a different approach. d3 ease are based on Penner’s equation, which provides an equation to calculate p as a function of t.

p=f(t), it has 4 paramaeters. For linear easing it is, p= c*(t/d)+b where c = total change in postion, t = elapsed time in percentage, d=total duration (1), b = beginning position.

From this equation, I solved for t.

For easeInQuad/d3.easeQuadIn, the equation is