def lerp(a, b, t):
    """ blend the value from start to end based on the weight

    :param a: start value
    :type a: float 
    :param b: end value 
    :type b: float
    :param t: the weight
    :type t: float
    :return: the value in between
    :rtype: float
    """
    return a * (1 - t) + b * t