optimizedparameter: xend = x0 + (L-x0).*cos(theta);