wyglada to tak ze jest licznik ktorego wskazania mieszcza sie w przedziale [0,1]
(np 0.1, 0.43, 0.21 ...). Jest to wskaznik paliwa. Teraz te ulamki nalezy zamienic na litry. jednak nie jest to takie proste.
Jesli licznik pokazuje 0.5 to wcale nie oznacza ze jest pol baku paliwa:(
aby sie dowiedziec ile tak na prawde w nim jest, nalezy spojrzec na tabelke z kalibracja. W tej tabelce jest przedstawione jak nalezy interpretowac dane wskazania...
| 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 |
-------------------------------------- ... itd.
| 1L | 3L | 6L | 10L | 20L | 35L |
jednak licznik wskazuje z duzowieksza dokladnoscia (np 0.456) wiec trzeba jakos to przeliczyc na litry.
tabelke ta mozna przedstawic za pomoca wykresu.
laczac punkty otzrymamy jakies tam przyblizenie tej kalibracji
ja zalozyme na poczatku ze jest to zaleznosc liniowa i wyznaczylem sobie wzor prostej przechodzacej przez pierwszy(0.1 , 1) i ostatni(0.6 , 35) punkt.
no i posiadajac ten wzor, podstawialem do niego wskazania licznika i otrzymywalem rzeczywista zawartosc baku.
problem sie komplikuje kiedy zaleznosc nie jest liniowa a ilosc punktow ja wyznaczajacych jest spora... :(
w dodatku operacje ta jest wykonywana dynamicznie i wielokrotnie dla roznych danych wiec nie moze trwac dlugo:(:(:(
Chyba najbardziej odpowiadalby mi algorytm zwracajaca wzor funkcji przechodzacej przez dane punkty...
uff to sie napisalem...