/// It is important to note that each color must have a different exponent, to modify how early or late one color should stand out in relation to another.
/// This "simulates" what the atmosphere does and is what generates the effect of dawn and dusk.
/// The blue component must be a cosine function with half period, so that its minimum is at dawn and dusk, generating the "warm" color corresponding to these periods.
/// As you can see in the values, the maximums of the function serve more to define the curve behavior,
/// they must be "clipped" so as not to distort the original color of the lighting. In practice, the maximum values, in fact, are the clip thresholds.
/// Generates a sinusoidal curve as a function of x (time). The other parameters serve to adjust the behavior of the curve.
/// </summary>
/// <param name="x"> It corresponds to the independent variable of the function, which in the context of this algorithm is the current time. </param>
/// <param name="waveLength"> It's the wavelength of the function, it can be said to be the total duration of the light cycle. </param>
/// <param name="crest"> It's the maximum point of the function, where it will have its greatest value. </param>
/// <param name="shift"> It's the vertical displacement of the function, in practice it corresponds to the minimum value of the function. </param>
/// <param name="exponent"> It is the exponent of the sine, serves to "flatten" the function close to its minimum points and make it "steeper" close to its maximum. </param>
/// <param name="phase"> It changes the phase of the wave, like a "horizontal shift". It is important to transform the sinusoidal function into cosine, when necessary. </param>
/// <returns> The result of the function. </returns>