Pular para o conteúdo

Modo Interativo, Laboratório Guiado & Estúdio de Projetos

O Laboratório Interativo (Aba 6) e o Estúdio de Projetos (Aba 7) do CGPDI.StudyLab foram desenvolvidos especialmente para estudantes e desenvolvedores que desejam revisar C# moderno (.NET 10), compreender a arquitetura do WPF (Windows Presentation Foundation) e praticar conceitos de Processamento Digital de Imagens e Computação Gráfica através de experimentação manual, visual e código executável.


A esteira de estudos organiza-se em quatro pilares integrados:

graph LR
A["1. Teoria & Referencias Microsoft"] --> B["2. Playground Interativo com Sliders"]
B --> C["3. Simulacao e Renderizacao no Canvas"]
C --> D["4. Testes Unitarios e Quiz de Fixacao"]
  1. Navegação Progressiva: Botões Anterior e Próximo com seletor de lições dinâmico.
  2. Experimentação Manual: Controles deslizantes dedicados para alterar parâmetros matemáticos e observar a reação imediata do algoritmo.
  3. Execução Passo a Passo: O usuário avança ciclo a ciclo para entender a movimentação de ponteiros, kernels e raios 3D.
  4. Quiz de Validação: Questões conceituais com formatação de quebra automática (TextWrapping) e feedback teórico fundamentado.

#LiçãoMóduloConceito Central
01Bytes & Formato BGRA32Memória & C#Tipos primitivos (byte, uint), deslocamento de bits e arranjo de 4 bytes por pixel.
02Data Binding & INotifyPropertyChangedC# ReativoPadrão MVVM, eventos de notificação e sincronização bidirecional entre ViewModel e View.
03Ponteiros Não Gerenciados (unsafe)Memória & C#Aritmética de ponteiros, cálculo de Stride e endereçamento linear (y * Stride) + (x * 4).
04Dependency Properties & Layout WPFWPF InternalsCiclo MeasureOverride / ArrangeOverride e árvore visual com propriedades de dependência.
05Ciclo de Vida do WriteableBitmapWPF & DirectXSincronização entre CPU e GPU com Lock(), manipulação de BackBuffer e AddDirtyRect().
06Convolução Espacial 2D (Box Blur 3x3)PDIFiltros espaciais, matriz de vizinhança 3×33\times3, produto convolucional e normalização.
07Limiarização Automática de OtsuPDIBinarização estatística maximizando a variância inter-classes σB2(t)\sigma_B^2(t) em O(256)O(256).
08Reta de BresenhamCG 2DRasterização discreta com números inteiros puros e variável de decisão de erro ee.
09Álgebra Linear 2D & Matrizes 3×33\times3CG 2DCoordenadas homogêneas unificando translação, rotação e escala em matrizes afins.
10Pipeline MVP 3D & Divisão PerspectivaCG 3DA jornada do vértice 3D até a tela 2D e o papel da divisão projetiva por W=ZW = Z.
11Modelagem Hierárquica & Grafo de CenaCG 3DCinemática direta e propagação matricial em cadeia pai-filho (Mglobal=Mpai×MlocalM_{\text{global}} = M_{\text{pai}} \times M_{\text{local}}).
12Ray Tracing & Interseção Analítica EsferaRender RealísticaSolução analítica da equação quadrática at2+bt+c=0at^2 + bt + c = 0, normais unitárias e modelo Phong.
13Templates Gráficos 2D & Animações PivotadasCG 2D / WPFReutilização com ControlTemplate, rotação em pivô arbitrário P(x0,y0)P(x_0,y_0) e AutoReverse="True".
14Malhas Triangulares 3D & Iluminação DifusaCG 3D / WPFGeometria MeshGeometry3D, ordenação CCW, Lei de Lambert (I=kd⋅max⁡(0,N⋅L)I = k_d \cdot \max(0, N \cdot L)) e TileMode.
15Modelagem Hierárquica 3D & Juntas ArticuladasCG 3D / CinemáticaGrafo com Model3DGroup, distinção entre transformações de instância e juntas animadas defasadas.

O Estúdio de Projetos (ProjectStudioControl / ProjectStudioWindow) permite desenvolver e inspecionar código C# e XAML simultaneamente:

  • Abra a aba 7 na Janela Principal ou clique em Abrir em Janela Própria para trabalhar em tela cheia com múltiplos monitores.
  • O layout retrátil permite ocultar os parâmetros laterais e focar inteiramente na edição e no console de saída.

Além de começar a partir de uma Tela em Branco ou Padrões Procedurais, o estúdio inclui modelos acadêmicos completos:

  • Veículo Articulado 2D com Eixo Triplo: Sistema mecânico com carroceria e 4 rodas compostas por ponteiros angulares pivotados e animação contínua bidirecional.
  • Cena Arquitetônica 3D com Iluminação Solar Dupla: Estrutura tridimensional multifacetada com piso texturizado (TileMode="Tile"), câmera orbital em arco de 180° e duas luzes direcionais com inclinação de 30° em rotação oposta.
  • Modelo Hierárquico de Quadrúpede com 9 Juntas: Animal articulado com 14 componentes primitivos coloridos e 9 nós móveis sincronizados por equações harmônicas de marcha.

O utilitário AcademicProjectExporter transforma qualquer template ou código desenvolvido no estúdio em uma solução autônoma completa do Visual Studio 2022:

graph TD
A["Template ou Codigo do Estudio"] --> B["AcademicProjectExporter"]
B --> C["Arquivo .sln (VS 2022)"]
B --> D["Arquivo .csproj (.NET 10 / WPF)"]
B --> E["App.xaml & App.xaml.cs"]
B --> F["MainWindow.xaml & MainWindow.xaml.cs"]
B --> G["Texturas Procedurais (Assets)"]
C & D & E & F & G --> H["Pacote Autonomo .ZIP"]
  1. Solução do Visual Studio (.sln): Compatível nativamente com o Visual Studio 2022 v17+ e VS Code (C# Dev Kit).
  2. Projeto .NET 10 WPF (.csproj): Configurado com suporte a aceleração gráfica, código não seguro (AllowUnsafeBlocks) e referências limpas.
  3. Ponto de Entrada XAML (App.xaml): Inicializador moderno com tema escuro consistente.
  4. Janela Interativa (MainWindow.xaml e .cs): Controles interativos (Sliders, Viewbox, Viewport3D) e temporizador de animação (DispatcherTimer) pré-configurados para execução imediata via F5.
  5. Assets Embutidos: Texturas de granito e areia do deserto geradas proceduralmente pelo algoritmo multifrequencial de ruído.

Visão Geral de Transformações no WPF

Classes RotateTransform, TranslateTransform, ScaleTransform e MatrixTransform no WPF.

Visão Geral de Gráficos 3D no WPF

Construção de malhas com MeshGeometry3D, PerspectiveCamera, DirectionalLight e Model3DGroup.

Código Não Seguro e Ponteiros no C# (unsafe / fixed)

Aritmética de ponteiros, alocação de memória contígua e instruções para alto desempenho gráfico.


Próximo Passo: Explore o guia de Álgebra Linear 2D & Coordenadas Homogêneas.