diff options
Diffstat (limited to '30_literatura.tex')
-rw-r--r-- | 30_literatura.tex | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/30_literatura.tex b/30_literatura.tex new file mode 100644 index 0000000..ccc7db7 --- /dev/null +++ b/30_literatura.tex @@ -0,0 +1,35 @@ +\chapter{Sprawdzenie poprawności programu} + +Całość powyższych rozważań teoretycznych byłaby zupełnie niepotrzebna, jeżeli nie byłaby zgodna z ogólnie przyjętymi normami. Aby upewnić się, że nie popełniłem błędów w rozumieniu oraz we wdrażaniu (w postaci programu komputerowego) badanych metod oceny jakości oddawania barw, przeprowadziłem obszerną + +\section{Testy jednostkowe} + +Najprostsze opierają się na śledzeniu tak zwanych \textit{inwariantów}, czyli wielkości, które nie zależą od sposobu ich opisu. Najlepszym i najbardziej intuicyjnym przykładem jest barwa. Nieważne, w jakiej postaci przedstawione jest to wrażenie -- czy jako słowny opis, bądź zestaw współrzędnych w wybranej matematycznej przestrzeni -- doznanie jest dokładnie takie same. Czerwony jest czerwony niezależnie od tego, z jakiej abstrakcji skorzystamy do jego opisu. + +Dokładnie tej samej własności należy spodziewać się od współrzędnych chromatycznych. Przejścia pomiędzy przestrzeniami powinny zachowywać barwy i być idealnie odwracalne. Wszelkie naruszenia tej zasady muszą zatem być wynikiem błędu. Szeroko stosowaną metodologią programistyczną, stworzoną do detekcji tego typu błędów jest \textit{testowanie jednostkowe}, polegającą na wyodrębnieniu i zbadaniu prostych elementów programu. + +Testowanie rozpocząłem od sprawdzenia, czy zaprogramowane przeze mnie przejścia między przestrzeniami barw są rzeczywiście odwracalne oraz spójne ze sobą. W tym celu, dla kilkuset losowo wybranych współrzędnych w przestrzeni CIE 1931 $(X,Y,Z)$, sprawdzałem odwracalność przejść do wszystkich innych, wdrożonych przestrzeni. Sprawdzanie było zautomatyzowane i było przeprowadzane po każdej zmianie, aby zminimalizować ryzyko wprowadzenia błędu do kodu. + +W taki sam sposób upewniłem się, że napisany przeze mnie program poprawnie generował rozkłady promieniowania CDC i iluminantów serii D (o zadanej CCT) oraz wyznaczał temperaturę barwową. + +\section{Porównanie z literaturą} + +Niestety, wyżej opisane testy są w stanie wykryć jedynie niespójności w samym programie. Nie można w ten sposób dostrzec niezgodności ze standardami, wynikającymi, przykładowo, ze złego zrozumienia używanych metod. Aby zapobiec błędom tego rodzaju, należy własne wyniki porównać z opublikowanymi w odpowiednich standardach lub w szeroko przyjętej literaturze. Przykładowo, współczynnik CRI $R_a$ jest zdefiniowany w taki sposób, aby dla wzorca F4 przyjmował wartość 51, przy zaokrągleniu do najbliższej liczby całkowitej. + +W \cite{Rea2008} autorzy opublikowali wykresy widm emisyjnych ośmiu źródeł wraz z obliczoną CCT, współczynnikami $R_a$, GAI i FSCI. Za pomocą wolnego programu \textit{Plot Digitizer} \cite{plotdigitizer} odtworzyłem dane bezpośrednio z wykresów. Proces nie jest idealnie dokładny, należy więc spodziewać się niewielkich błędów w wynikach. Tabela \ref{tab:rea2008} porównuje obliczone przeze mnie wyniki z opublikowanymi. Nazwy lamp pochodzą od ich temperatur barwowych -- ,,cool white'' (zimna biel) i ''warm white'' (ciepła biel). + +\begin{table}[!htb] + \centering + \begin{tabular}{|l|rr|cr|cr|cr|} + \hline + \multirow{2}{*}{Lampa} & \multicolumn{2}{c|}{CCT [K]} & \multicolumn{2}{c|}{$R_a$} & \multicolumn{2}{c|}{GAI} & \multicolumn{2}{c|}{FSCI} \\ + & pub. & wł. & pub. & wł. & pub. & wł. & pub. & wł. \\ + \hline + \input{rea2008.tex} + \hline + \end{tabular} + \caption{Porównanie obliczonych parametrów źródeł, opublikowanych w \cite{Rea2008} (pub.) z obliczonymi przeze mnie (wł.).} + \label{tab:rea2008} +\end{table} + +\clearpage |