Stimmt auch wieder!
Hab das ganze jetzt mal mit 6 linearen Funktionen angenähert!
Funktioniert schon mal recht gut. Gibt natürlich Abweichungen aber auf den mm genau kommt es mir nicht an.
Wichtiger ist für mich das die Werte leicht einstellbar sind und vor allem reproduzierbar.
- Code: Alles auswählen
@title zoom
@param a Zoomwert 100x
@param b Zoomwert 10x
@param c Zoomwert 1x
@default a 0
@default b 2
@default c 8
d=(a*100+b*10+c)
if d<=54 then
e=(1396*d)/1000-38
endif
if d<=82 and d>54 then
e=(7214*d)/10000-3
endif
if d<=110 and d>82 then
e=(5367*d)/10000+12
endif
if d<=155 and d>110 then
e=(3541*d)/10000+34
endif
if d<=215 and d>155 then
e=(2769*d)/10000+46
endif
if d>155 then
e=(175*d)/1000+67
endif
if e<0 then
e=0
endif
if e>126 then
e=126
endif
set_zoom e
end
Die Tabelle, die ich gepostet hatte, zeigt die "Knickpunkte", wo sich die Verhältnisse ändern.
Jetzt wo ich mein Diagramm genauer ansehe, scheinen wirklich dort die Knickpunkte zu sein. Werd ich dann wohl nochmal ändern!
Update, mit der Annäherung nach deiner Tabelle
- Code: Alles auswählen
@title zoom
@param a Zoomwert 100x
@param b Zoomwert 10x
@param c Zoomwert 1x
@default a 0
@default b 2
@default c 8
d=(a*100+b*10+c)
if d<=38 then
e=(1563*d)/1000-43
endif
if d<=52 and d>38 then
e=(1324*d)/1000-34
endif
if d<=91 and d>52 then
e=(7333*d)/10000-4
endif
if d<=125 and d>91 then
e=(4773*d)/10000+19
endif
if d<=192 and d>125 then
e=(3049*d)/10000+41
endif
if d>192 then
e=(1744*d)/10000+67
endif
if e<0 then
e=0
endif
if e>126 then
e=126
endif
set_zoom e
end
Funktioniert jetzt annähernd perfekt.
D.h. aber auch das die CHDK Anzeige der Äquivalentbrennweite nicht stimmt!