Wojtek001 napisał(a):
Na powyższym wzorze widać że wynik są zawsze zaookrąglane w dół (INT).
Natomiast to co jest w mkavrcalculator zaokrągla zgodnie ze zwykłymi zasadami zaookrąglania przez co w istocie współczynnik gamma jest przeszunięty w dół (gamma=2.5 schodzi do ok 2.35) - jest zauważalnie niżej niż to co używa maxim.
Masz rację
.... i sokole oko w tym sensie, że chciało ci się to sprawdzić
Wojtek001 napisał(a):
I teraz mój problem: Czy jest lepiej jeśli używa się takiego zaookrąglania jak Mirek? Jeśli tak to dlaczego (nie wiem, może było to celowe)?
celowe nie było - ot po prostu zwykłe rąbnięcie i użycie właśnie funkcji zaokrąglającej tradycyjnie zamiast obcinającej to co po przecinku
Wojtek001 napisał(a):
Pytam bo nie wiem jak to liczyć.
zastanów się - jakie to ma tak na prawdę znaczenie .... ?
tzn najlepiej weź sobie diodę albo diody LED (na pojedynczej przy rozjaśnianiu i ściemnianiu musiałbyś chyba być matrixem albo jeszcze lepszym niż on, żeby wychwycić różnicę tzn TAKĄ MAŁĄ różnicę w pochyleniu krzywej gamma
Jest to praktycznie kompletnie niezauważalne dla oka ...
oczywiście jeśli sam chcesz to liczyć to co za problem zrobić to wg wzoru maxima
? albo co za problem dodać jakieś własne modyfikacje ? ... nie ma że to ZAWSZE BĘDZIE NAJLEPSZE
zamiast teoretyzować zrób próby na żywym organizmie - przypatrz się sam, poobserwuj, zobacz jaki to ma wpływ.... Ja różnice w krzywej gamma byłem w stanie zauważyć dopiero przy długim pasku gęsto usianych diod LED gdzie jasność jednego koloru zmniejszamy liniowo gradientem .... z tym, że różnice dawało się zaobserwować gdy współczynnik gamma zmieniał się o dość ogromną wartość czyli np o 1 albo więcej niż jeden ....
a tu mówisz o różnicy 2,5 do 2,35
.... konia z rzędem stawiam temu kto szczególnie przy pojedynczej diodzie LED zauważy taką różnicę własnym okiem
Poza tym jeśli chodzi o MkAvrCaluclator i to wbudowane narzędzie to masz tam suwak, którym możesz w pełni płynnie zmieniać krzywą wg totalnie własnego upodobania a co za tym idzie możesz sobie wręcz obserwować zmiany ON LINE jeśli wyniki będziesz od razu wgrywał do procka (tablice) ... i dopasowywał do własnych potrzeb wg własnego uznania
bo i tak GAMMA jak wiesz - o ile widziałeś na blogu ten mój poradnik nie jest akurat na dzisiaj NAJLEPSZYM sposobem do korekcji kolorów - są lepsze algorytmy - chociażby CIELAB .... ale praktycznie nie do zaimplementowania na 8-bitowcu i ciężkie do stablicowania ... a i tak gdyby je zastosować nawet na ARM to sens byłby tylko wtedy gdybyś miał robić kalibrację jakiegoś np monitora/wyświetlacza a nie tam pojedynczych diod LED czy nawet w jakimś prostym matrycowym wyświetlaczu bo do tego wystarczy nawet byle kulawa GAMMA
.... nawet ręcznie rozpisana tablica bez obliczeń wg tego wzoru ...
Reasumując - tak jak pisałem na początku - oczywiście masz rację - że powinienem był tam obcinać a nie zaokrąglać i oczywiście dla porządku w aktualizacji programu już będzie tak jak we wzorze maxima
więc zachowaj sobie starszą wersję programu i później porównaj na żywych LED'ach że tak powiem na ile się to zmieniło w praktyce .... bo w teorii widać różnicę ale patrząc wręcz na liczby w tablicy - dobrze się przyglądając - a oko nawet nie wyłapie różnicy w krzywej
------------------------ [ Dodano po: 8 minutach ]Wojtek001 napisał(a):
2) Jaki jest sens wymuszania żeby 0 było tylko na pierwszej pozycji?
widzę że edytowałeś post i doszło pytanie więc podpowiadam
tzn znowu podpowiedziałbym - że lepiej sprawdź w praktyce jaki to ma sens niż teoretyzuj - bo to chyba nie problem podłączyć jedną diodę LED do procka i zrobić jej ściemnianie i rozjaśnianie byle sprzętowym PWM'em - zgodzisz się ?
a skoro tak - to OD RAZU SAM ODPOWIEDZIAŁBYŚ SOBIE NA TO PYTANIE
ale ok zakładam że nie masz procka pod ręką i diody LED to ci podpowiem ... sens jest taki, że przy niskich wartościach PWM np 8-bitów ... te zera na początku - a bywa ich sporo w zależności od pochylenia krzywej - dają czasem przykry efekt dłuższego wygaszenia diody niezgodnego ze stałą czasową jaką przyjąłeś sobie do czasu jej ściemniania i rozjaśniania. Prościej mówiąc efekt jest taki że wydaje się że dioda gaśnie na dużo dłużej, tak jakbyś tam dał specjalnie dłuższy czas. Ale też da się to zauważyć w efekcie komety (czy tam węża) z poradników. Przy tych zerach będzie on po prostu bezczelnie krótszy panie kolego
i to jego długość będzie się zmieniać wraz ze zmianą współczynnika gamma. A gdy uzupełnisz jedynkami to długość będzie dla oka taka sama
za to gdy uzupełnimy te zera jedynkami przy zwykłym ściemnianiu i rozjaśnianiu pojedynczej diody LED .... a tylko pierwsza wartość pozostanie zerem - zaczyna to być przyjemne dla oka i równomierne przejścia pomiędzy MAX i MIN. Dlatego dałem taką możliwość w programie a skorzysta z niej ten kto chce po prostu mieć więcej możliwości lepszego dopasowania efektów na diodach do swoich potrzeb. To są właśnie takie moje proste modyfikacje i propozycje usprawnienia sobie pracy z diodami na co dzień
------------------------ [ Dodano po: 11 minutach ]O, właśnie skompilowałem z obcinaniem wartości po przecinku i już w kolejnej wersji będą ci się zgadzać wyniki podane z MkAvrCalculatora z tablicą podaną przez ciebie z Maxima