\chapter{G22-\/2025-\/\+Final Project Main Page}
\hypertarget{index}{}\label{index}\index{G22-\/2025-\/Final Project Main Page@{G22-\/2025-\/Final Project Main Page}}
\hypertarget{index_overview}{}\doxysection{\texorpdfstring{Overview}{Overview}}\label{index_overview}
This is the Doxygen Python documentation for Team G22\textquotesingle{}s Multi-\/\+Projector System for Semester 2025. This documentation provides comprehensive information about the system\textquotesingle{}s architecture, classes, and implementation details.\hypertarget{index_documentation_structure}{}\doxysection{\texorpdfstring{Documentation Structure}{Documentation Structure}}\label{index_documentation_structure}

\begin{DoxyItemize}
\item {\bfseries{Classes}} {\bfseries{Section\+:}} Contains detailed descriptions of all classes, structs, unions, interfaces, functions, and variables used in the system.
\item {\bfseries{Files}} {\bfseries{Section\+:}} Lists all documented source files with brief descriptions and inter-\/file dependencies.
\item {\bfseries{Technical}} {\bfseries{Details\+:}} Explains the mathematical foundations, algorithms, and techniques implemented in our project.
\end{DoxyItemize}\hypertarget{index_alpha_blending}{}\doxysection{\texorpdfstring{Alpha Blending}{Alpha Blending}}\label{index_alpha_blending}
When multiple projectors overlap, the overlapping regions receive illumination from multiple sources, resulting in excessively bright areas. Alpha blending mathematically reduces this illumination to achieve uniform brightness across the entire projection surface.

The image below illustrates the problem that occurs without alpha blending\+:

\hypertarget{index_linear_blending}{}\doxysection{\texorpdfstring{Linear Blending}{Linear Blending}}\label{index_linear_blending}
Linear alpha blending, as the name suggests, reduces the alpha of the image linearly with distance from the start of the overlap region\+:
\begin{DoxyItemize}
\item Left projector alpha curve\+: $ \mathit{Left} = 1 - \frac{x}{2} $
\item Right projector alpha curve\+: $ \mathit{Right} = \frac{1}{2}(x + 1) $
\end{DoxyItemize}

\hypertarget{index_quadratic_blending}{}\doxysection{\texorpdfstring{Quadratic Blending}{Quadratic Blending}}\label{index_quadratic_blending}
Quadratic blending creates a smoother, parabolic transition\+:
\begin{DoxyItemize}
\item Left projector alpha curve\+: $ \mathit{Left} = (1 - x)^2 $
\item Right projector alpha curve\+: $ \mathit{Right} = x^2 $
\end{DoxyItemize}\hypertarget{index_gaussian_blending}{}\doxysection{\texorpdfstring{Gaussian Blending}{Gaussian Blending}}\label{index_gaussian_blending}
Gaussian blending uses the error function for the most natural, bell-\/curve transition\+:
\begin{DoxyItemize}
\item Left projector alpha curve\+: $ \mathit{Left} = 1 - \mathit{Right} $
\item Right projector alpha curve\+: $ \mathit{Right} = \frac{4(1 + \mathit{erf}(x - \frac{1}{2}))}{\sqrt{2}} $ 
\end{DoxyItemize}