CGPDI.StudyLab — Documentação Técnica & Laboratório
Um ecossistema prático e teórico para o estudo de Processamento Digital de Imagens (PDI), Rasterização 2D dos Primeiros Princípios, Computação Gráfica 3D (Software & Hardware), Modelagem Hierárquica e Ray Tracing Fotorrealista.
Download Oficial do Aplicativo
Baixe a versão mais recente do CGPDI StudyLab para Windows 10/11:
Instalador Oficial do Windows (.exe) Instalação recomendada com assistente passo a passo, atalhos na Área de Trabalho e no Menu Iniciar, e suporte ao Auto-Updater.
Executável Único Portátil (.exe Direto) Arquivo único autônomo sem necessidade de descompactar. Basta baixar e dar dois cliques para rodar imediatamente!
Pacote Portátil Limpo (.zip) Arquivo compactado contendo apenas o executável e instruções. Ideal para pendrives ou computadores de laboratório sem admin.
Histórico de Releases e Changelogs Consulte todas as versões lançadas, notas de atualização e código-fonte no GitHub Releases oficial.
Visão Geral dos Módulos
Esta documentação foi elaborada com foco na clareza pedagógica: conceitos matemáticos complexos são apresentados por meio de analogias intuitivas do dia a dia, acompanhados da fundamentação teórica rigorosa e do código-fonte comentado em C#.
Estúdio de Código e Compilador Roslyn Escreva código C# e veja a compilação ao vivo atualizar o Canvas e a memória RAM em tempo real. Janela dedicada com Modo Foco e testes unitários.
1. Guia para Iniciantes (12 Lições C#) Trilha de aprendizado cobrindo desde tipos primitivos (byte, uint), ponteiros unsafe, Data Binding reativo até Ray Tracing.
2. Processamento Digital de Imagens (PDI) Espaços de cor (RGB, HSV, YCbCr), convoluções espaciais, detector Canny de 5 etapas, morfologia matemática e Fourier 2D.
3. Rasterização 2D (Primeiros Princípios) Como as GPUs desenham: reta de Bresenham inteira, suavização Xiaolin Wu, círculo do ponto médio e matrizes afins 3×3.
4. Computação Gráfica 3D e Pipeline A trajetória do vértice 3D até a tela: matrizes MVP, renderizador em software na CPU com Z-Buffer e Viewport3D DirectX.
5. Modelagem Hierárquica (Cinemática) Grafos de cena para robôs articulados e sistema solar com propagação matricial em cadeia pai-filho e cinemática direta.
6. Ray Tracing Fotorrealista Simulação física da luz: cálculo analítico de interseção raio-esfera, modelo Phong, sombras nítidas e refração com a Lei de Snell.
7. Arquitetura do Software e DirectX Tier Desacoplamento de camadas, subsistema milcore, ponteiros não gerenciados e aceleração de hardware Direct3D Tier 2.
Estrutura dos Módulos do Sistema
O projeto CGPDI.StudyLab é composto por módulos desacoplados e estruturados:
graph TD A["Interface de Usuario WPF / XAML"] --> B["Core: DirectBitmap e ColorSpaces"] B --> C["ImageProcessing: Modulos de PDI"] B --> D["Graphics2D: Rasterizacao dos Primeiros Principios"] B --> E["Graphics3D: Software Renderer e Ray Tracer"] A --> F["Graphics3D: WpfViewport3DManager Hardware"] F --> G["HierarchicalModeling: Grafo de Cena e Robo"]Roteiro de Leitura Recomendado
- Para quem está começando: Inicie por O que é C#, .NET e WPF? e siga para o tutorial de Instalação do Visual Studio.
- Para quem deseja entender a engenharia do projeto: Consulte a Visão Geral da Arquitetura e os Fundamentos de Memória & DirectBitmap.
- Para estudantes universitários: Consulte o Mapeamento do Plano de Ensino para encontrar os conteúdos correspondentes aos trabalhos práticos (T1, T2 e T3).
Referências Oficiais da Microsoft Learn
Esta documentação substitui a antiga Wiki do projeto, reunindo todo o conteúdo pedagógico e técnico em um único lugar. Aprofunde-se nos temas com a documentação oficial da Microsoft:
📚 Portais e Referências Recomendadas
- Documentação Oficial do .NET — Guia geral da plataforma, bibliotecas e APIs.
- Tipos de Ponteiro e Código Não Seguro (unsafe) no C# — Sintaxe de
fixed,stackalloce aritmética de ponteiros. - Classe WriteableBitmap e Formatos de Pixel no WPF — Manipulação direta do buffer gráfico da GPU.
- Visão Geral de Gráficos 3D e Transformações no WPF — Modelo 3D do WPF, câmeras e iluminação.
- Paralelismo de Dados com Parallel.For (TPL) — Distribuição de carga em múltiplos núcleos de CPU.
- Namespace System.Numerics (SIMD) — Operações vetoriais e matemáticas aceleradas por hardware.