Question: How to produce the same graph using different time indices?

Can anyone explain the rationale behind plot command, which generates the same graph differently for an identical function?

> restart;
> with(plots); with(plottools);
m := 4;
k := 20;
omega[n] := sqrt(k/m);
T[n] := evalf(2*Pi/omega[n]);
td := 0.5*T[n];
ratio := evalf(td/T[n]);
p3 := 4*sin(Pi*t/td);
dur := evalf(2*Pi);

enc := u(0) = 0, D(u)(0) = 0;
eq := m*(diff(u(t), t, t))+k*u(t) = p3;
sol := unapply(rhs(dsolve([eq, enc])), t);

plot(sol(t*T[n]), t = 0 .. ratio);
plot(sol(t), t = 0 .. td);

The last two plot commands generate different curves eventhough, the values of "t" passed to 
both commands are the same. I purposely gave one "t" but for the other plot command "t*T[n]",
so as the x-axis representation in both curves were different, but the y values of curves still
have to be the come different?:((

Please help, can't find solution so far:( 
Please Wait...