A estrutura de diretórios do CGPDI.StudyLab é organizada de maneira modular, separando a infraestrutura de memória, os algoritmos de processamento e a interface visual.
Manipulação direta de memória com ponteiros unsafe byte*, formato Bgra32 e alinhamento Stride. Suporta clonagem, leitura, escrita rápida e paralelismo via Parallel.For.
ColorSpaces.cs
Modelos de cor: RGB, HSV, HSL, YCbCr (JPEG), CMYK, Escala de Cinza Perceptiva (ITU-R BT.709 e BT.601), Sépia e Inversão.
ImageSampleGenerator.cs
Gerador de padrões sintéticos de calibração ótica (tabuleiro de xadrez, gradientes, círculos concêntricos e barras SMPTE).
StudyGuideData.cs
Base de conhecimento teórica embutida no aplicativo com fórmulas matemáticas e códigos comentados.
2. Diretório ImageProcessing/ (Processamento Digital de Imagens)
Operações pontuais g(x,y)=T[f(x,y)], ajuste de brilho linear, contraste com pivô central, Look-Up Tables (LUTs), correção Gamma, equalização de histograma por CDF e normalização Min-Max.
SpatialFilters.cs
Filtragem linear e não-linear no domínio espacial: Convolução 2D genérica, Box Blur, Filtro Gaussiano com desvio padrão σ, Unsharp Masking, Filtro da Mediana e Detecção de Bordas (Sobel, Prewitt, Scharr, Laplaciano e Algoritmo Canny de 5 etapas).
Morphology.cs
Morfologia Matemática e Binarização: Algoritmo de Otsu (variância interclasses), Erosão, Dilatação, Abertura, Fechamento, Gradiente Morfológico, Top-Hat e Black-Hat com elementos estruturantes configuráveis.
GeometricTransforms.cs
Mapeamento inverso com interpolação vizinho mais próximo, bilinear e bicúbica. Rotação afim, cisalhamento e deformações espaciais (Swirl, Onda/Ripple e Olho de Peixe).
FrequencyAndProcedural.cs
Transformada Discreta de Fourier 2D (DFT), centralização de frequência FFTShift, espectros de magnitude/fase, filtros em frequência, Ruído de Perlin, Terrenos Fractais fBm, Voronoi e Fractais de Mandelbrot e Julia.
3. Diretório Graphics2D/ (Rasterização 2D dos Primeiros Princípios)
Matrizes 3×3 em coordenadas homogêneas para transformações afins 2D (Translação, Rotação, Escala, Cisalhamento e composição encadeada).
Rasterizer2D.cs
Algoritmos fundamentais de rasterização: Traçado de Linhas DDA, Linha de Bresenham (aritmética inteira), Linhas Suavizadas com Anti-Aliasing de Xiaolin Wu, Círculo do Ponto Médio (8 octantes), Elipse do Ponto Médio, Curvas de Bézier Cúbicas (Bernstein / De Casteljau), Scanline Polygon Fill com AET e Recorte Cohen-Sutherland.
4. Diretório Graphics3D/ (Computação Gráfica 3D, Pipeline e Ray Tracing)
Estruturas vetoriais e matriciais: Vec3, Vec4, Mat4x4, Quaternion, Ray3D e geradores de matrizes MVP (Model, View LookAt, Projection Perspectiva e Ortográfica).
SoftwareRenderer3D.cs
Pipeline gráfico 3D em CPU: Leitura de malhas Mesh3D, Back-face Culling, Divisão Perspectiva para NDC, Rasterização de triângulos por Coordenadas Baricêntricas, Z-Buffer e Iluminação Flat/Gouraud.
WpfViewport3DManager.cs
Renderização 3D acelerada por hardware via DirectX no WPF: Controle de malhas MeshGeometry3D, Câmera Orbital Arcball com coordenadas esféricas (r,θ,ϕ) e controle por mouse, Fontes de Luz e Materiais Phong.
HierarchicalModeling.cs
Grafos de Cena (Scene Graphs) e Robô Articulado com Cinemática Direta, com propagação de matrizes pai-filho e animações em tempo real.
Raytracer3D.cs
Ray Tracer físico de Whitted: Resolução analítica de equação quadrática para interseção raio-esfera, interseção com plano xadrez, raios de sombra, reflexões especulares e refração transparente pela Lei de Snell e coeficientes de Fresnel.