summaryrefslogtreecommitdiff
path: root/30_literatura.tex
diff options
context:
space:
mode:
Diffstat (limited to '30_literatura.tex')
-rw-r--r--30_literatura.tex35
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