/// <summary>
        /// Computes the unit tangent vector to the curve at point t
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public Double2 TangentAt(double t)
        {
            var d = Derivative.At(t);

            if (DoubleUtils.RoughlyZero(d))
            {
                return(Derivative.TangentAt(t));
            }
            return(d.Normalized);
        }