У нас в генераторе стоит датчик топлива. Форма бака вообще отвратная (неправильная).
Если сделать тарировку по 5 литров скажем. И высокая точность не нужна, то через if, else на каждые 5 литров ставится даже линейный scaler и вполне себе.
Подойдёт и для конуса.
А все, что выше уже и так будет линейным.
И да, погрешность там все равно будет на температурное расширение.
Самый простой способ без всяких формул заумных. Тарировка ёмкости.