Я написал небольшую функцию, которая дает мне значение, основанное на синусоидальной волне, когда я помещаю float между 0 и 1. Я использую его для lerp в игре.
public static class Utilities
{
public static float SineMe(float prop)
{
float output = (prop*180f)-90f;
output = Mathf.Sin(output*Mathf.Deg2Rad);
output = (output+1f)/2f;
return output;
}
}
Это прекрасно работает. Но мне было интересно, есть ли математический способ изменения синусоиды, чтобы я мог сделать его "круче" или "более мелким" посередине? На приведенной ниже диаграмме синяя кривая представляет собой синусоидальную волну, мне интересно, могу ли я сделать ее более похожей на зеленую линию.