See if this link opens, for a sheet that I slapped together showing piston position, velocity, and accn, versus crank angle (w*t), for cases with and without crankshaft and piston pin offset.
the simple case, w/o pin offset or crank offset, is:
y.piston = a*cos(theta)+sqrt[r^2 - a^2*sin(theta)^2]
where "a" is the crank throw, and "r" is the conrod length. "Theta" is the crank angle from TDC.