Science Workflow

Graphics and Rendering

Terminal-native scientific visuals plus real raster renders generated by the checked JIT artifact.

Back to Science Hub

Gráficos e Renderização

Sounio possui, no momento, duas famílias de gráficos reais neste repositório de snapshot: visualizações científicas nativas do terminal em examples/graphics/ e imagens rasterizadas por software sob examples/render/. As visualizações rasterizadas a seguir são geradas a partir do exato stdout do artefato verificado JIT, então commitadas como assets SVG para o site. Essa página agora envia cinco visualizações rasterizadas reais em vez de dois amostras isoladas.

Saída de Raster Real

Um triângulo rasterizado por software com cantos interpolados de vermelho, verde e azul em um fundo escura.
Triângulo Rasterizado

Este exemplo é um rasterizador barycentrico real. A imagem da página pública é gerada do output do compilador, não de um desenho manual.

Source: examples/render/triangle_basic.sio

bin/souc run examples/render/triangle_basic.sio > triangle_basic.ppm
Um cubo de perspectiva com linhas de eixo vermelho, verde e azul em um fundo escura.
Cubo Wireframe

Este exemplo projecta um cubo girado, esfrega os bordas por profundidade e emite um frame PPM portátil diretamente a partir do código Sounio.

Source: examples/render/cube_wireframe.sio

bin/souc run examples/render/cube_wireframe.sio > cube_wireframe.ppm
Uma mapeamento de 16 por 16 de células de incerteza que varia de quadrados frios e escurvos para quadrados brilhantes e quentes.
Campo de Incerteza

Este preview transforma a incerteza orientada pelo tipo em um campo epistêmico real: o valor rola em x, epsilon rola em y, e a luminosidade diminui conforme a incerteza aumenta.

Source: examples/render/uncertainty_field.sio

bin/souc run examples/render/uncertainty_field.sio > uncertainty_field.ppm
Um gráfico causal com um nó de intervenção vermelho X, nós observados azuis M e Y, e um nó latente cinza conectados por setas.
Grafico DAG Causal

Este render codifica um diagrama de estilo front-door diretamente em pixels, incluindo a coração do(X) e um latente explícito mediador.

Source: examples/render/causal_dag.sio

bin/souc run examples/render/causal_dag.sio > causal_dag.ppm
Uma esfera de esboço de lixo mostrando uma posição original dimensão e uma posição rotada brilhante, com linhas de orientação conectantes em um fundo escurro.
Rotação por Quaterniônio

Essa cena rotaciona um tetrahedro usando matemática de quaterniônio, projecta ambas as posições para o espaço da tela e sobrepõe linhas de correspondência entre os vértices originais e rotados.

Source: examples/render/quaternion_rotation.sio

bin/souc run examples/render/quaternion_rotation.sio > quaternion_rotation.ppm

Por que esta pilha gráfica?

  • Saída de compilador real: A seção de raster acima é gerada a partir da saída verificada do souc run, não de capturas de tela
  • Formatos de saída portáveis: Os demos de terminal utilizam Unicode/ANSI; os demos de raster emitem PPM puro
  • Sem dependência de janelhamento: Não é necessário X11, OpenGL ou um kit de ferramentas gráficas para os exemplos atuais
  • Amigável para SSH: A renderização por terminal e arquivos funcionam tanto em sistemas remotos

Galeria de Terminals

Tabela de Multiplicação de Octônios

O tesouro das pedras pretas - uma visualização de 8D completamente colorizada onde a estrutura do plano de Fano se torna imediatamente visível através de padrões de cores.

06_octonion_color_table.sio
╔══════════════════════════════════════════════════════════════════════════╗
           TABELA DE MULTIPLICAÇÃO DE OCTÔNIOS - Edição de Cor              
╚══════════════════════════════════════════════════════════════════════════╝


    ×  1    i    j    k    l   il   jl   kl
  ────┼────────────────────────────────────────────────
 11    i    j    k    l   il   jl   kl
 ii   -1    k   -j   il   -l  -kl   jl
 jj   -k   -1    i   jl   kl   -l  -il
 kk    j   -i   -1   kl  -jl   il   -l
 ll  -il  -jl  -kl  -1    i    j    k
ilil    l  -kl   jl  -i   -1   -k    j
jljl   kl    l  -il  -j    k   -1   -i
klkl  -jl   il    l  -k   -j    i   -1


Legend: 1=real  ijk=quaternion  liljlkl=octonion  dim=negative

Mapa de Ativação de Cérebro por fMRI

Visualização de fatia de cérebro de 32x32 com intensidade de gradiente usando caracteres Unicode de bloco.

02_fmri_octonion_activation.sio
╔═══════════════════════════════════════════════════╗
     ATIVAÇÃO CEREBRAL POR fMRI - Folha z=32           
╚═══════════════════════════════════════════════════╝


Anterior
       ░░░░░░░░░░░░░░░░░░░
     ░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░
    ░░░░▒▒████████▒▒░░░░
   ░░░▒▒██████████████▒▒░░░
  ░░░▒▒███████████████████▒▒░░░
 L ░░▒▒███████░░░░███████▒▒░░ R
  ░░▒▒███████░░░░░░███████▒▒░░
  ░░▒▒████████░░████████▒▒░░
   ░░░▒▒███████████████▒▒░░░
    ░░░░▒▒▒███████▒▒▒░░░░
     ░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░
       ░░░░░░░░░░░░░░░░░░░
            Posterior


Intensidade: ░=0.0  =0.3  =0.6  =1.0
Regiões: Visual  Motor  Frontal

Cubo de Linhas de Contorno 3D

Roteio de um cubo com uma projeção isómetrica e indicações de eixos.

phase3_showcase.sio - Roteio de Cubo
╔═══════════════════════════════════════════════════╗
          CUBO DE LINHAS DE CONTORNO 3D - Frame 42           
╚═══════════════════════════════════════════════════╝


Y
                  
              ┌───────────┐
             ╱│          ╱│
                       
                       
          ┌───────────┐   
                       
             └───────│───┘
                      
                     
          │╱          │╱
          └───────────┘──────X
         
        Z


Projetoção: Isómetria (30°)
Eixos: X=vermelho  Y=verde  Z=azul

Animación do Sistema de Partículas

Fountain de partículas baseado em física com forças de gravedade e arrastre.

phase5_showcase.sio - Fountain de Partículas
╔═══════════════════════════════════════════════════╗
        FONTE DE PARTÍculas - Frame 120              
╚═══════════════════════════════════════════════════╝



                     
                ·       ·
              ·         ·
            ·               ·
               ·   ·     
        ·                     ·
                       
    ·                          ·
  ·                              ·
·                                  ·
════════════════════════════════════════


Partículas: 847 ativas
Física: gravity=0.1, drag=0.99, wind=0.02
Vida Útil: =new  ·=meio  ·=velho

Dinâmica dos Fluidos (Navier-Stokes)

Simulação de fumo baseada no algoritmo “Fluidos Estáveis” de Jos Stam.

phase5_showcase.sio - Dinâmica dos Fluidos
╔═══════════════════════════════════════════════════╗
         DINÂMICA DOS FLUIDOS - Fumo Ascendente           
╚═══════════════════════════════════════════════════╝

░░░░░░
          ░░░░▒▒░░░░
        ░░▒▒▓▓▒▒░░░░
      ░░░▒▒██▓▓▒▒░░░░
    ░░░░▒▒▓▓██▓▓▒▒░░░░
      ░░▒▒▓▓███▓▓▒▒░░
        ░░▒▒███▒▒░░
          ▒▒███▒▒
            ▓▓██▓▓
            ████
            ████
            ▓▓▓▓
           ██
            ▀▀
═══════════════════════════════════════════

Algoritmo: Fluidos Estáveis (Stam 1999)
Grade: 64×64, viscosidade=0.0001

Diagrama de Bifurcação

Mapa logístico mostrando a cascada de duplicação de períodos para a caos.

phase6_showcase.sio - Bifurcação
╔═══════════════════════════════════════════════════╗
    BIFURCAÇÃO DE MÁPAS LOGÍSTICAS - DOBRAR PERÍODO    
╚═══════════════════════════════════════════════════╝


x
1│                                    ░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒░░░░▒▒████████▒▒▒▒▒▒████████▒▒▒▒▒▒  ████████▒▒▒▒      ████████▒▒▒▒            ░░░                   ░░░░░░░░░░░░
0│░░░░░
└──────────────────────────────────────────────→r
 2.5                3.0                3.5   4.0


x_{n+1} = r × x_n × (1 - x_n)
Mostra: ponto fixoperíodo-2período-4caos

Layout de Grafo Força-Direcionado

Visualização de rede social com o algoritmo Fruchterman-Reingold.

phase7_showcase.sio - Grafo de Rede
╔═══════════════════════════════════════════════════╗
      GRAFO FORÇA-DIRECIONADO - Rede Social       
╚═══════════════════════════════════════════════════╝


(Bob)─────────(Eve)
          │╲             ╱│
          │ ╲           ╱ │
          │  ╲         ╱  │
          │   ╲       ╱   │
          │    ╲     ╱    │
          │     ╲   ╱     │
          │      ╲ ╱      │
         (Alice)───(Carol)
          │      ╱ ╲      │
          │     ╱   ╲     │
          │    ╱     ╲    │
          │   ╱       ╲   │
          │  ╱         ╲  │
          │ ╱           ╲ │
          │╱             ╲│
        (Dave)─────────(Frank)

Nós: 6  Arestas: 12
Algoritmo: Fruchterman-Reingold
Temperatura: 0.05 (convergido)

Filtro de Kalman Incerteza

Atualizações de crença sequenciais bayesianas com níveis de confiança codificados em cores.

10_kalman_filter_color.sio
╔═══════════════════════════════════════════════════╗
      FILTRO DE KALMAN - Fusão de sensores                
╚═══════════════════════════════════════════════════╝


Redução da Incertezão através da Fusão de Sensores:

Antes (σ=10,0m):
███████████████████████████████████████ ALTO

Após GPS (σ=4,5m):
████████████████                        MEDIANIO

Após IMU (σ=0,5m):
                                        BAIXO

Após Lidar (σ=0,1m):
                                        Muito BAIXO

Crescimento da Precisão (1/σ²):
Antes:  
+GPS:   
+IMU:   █████████
+Lidar: ████████████████████████████████

Redução total de incerteza: 99%
Ganho de precisão: 10.405×
08_climate_ensemble_color.sio
╔═══════════════════════════════════════════════════╗
    PROJEÇÕES CLIMÁTICAS CMIP6 - SSP2-4.5         
╚═══════════════════════════════════════════════════╝

Alteração Média de Temperatura Global (2100 vs 1850-1900):

GFDL-ESM4:    ██████████████████│         1.8°C ± 0.2
HadGEM3:      ███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████

Média do Ensemble:
            ████████████████████2.02°C ± 0.18

⚠️ Objetivo de 1.5°C de Paris: 12% de probabilidade de permanecer abaixo
⚠️ Objetivo de 2.0°C de Paris: 47% de probabilidade de permanecer abaixo

Executando os Exemplos

SOUC_BIN=bin/souc

# Renderizações rasterizadas (PPM em saída padrão)
"$SOUC_BIN" run examples/render/triangle_basic.sio > triangle_basic.ppm
"$SOUC_BIN" run examples/render/cube_wireframe.sio > cube_wireframe.ppm

# Visualizações científicas
"$SOUC_BIN" run examples/visual/06_octonion_color_table.sio
"$SOUC_BIN" run examples/visual/10_kalman_filter_color.sio
"$SOUC_BIN" run examples/visual/12_animated_diffusion.sio

# Demonstrações da biblioteca gráfica
"$SOUC_BIN" run examples/graphics/demos/phase3_showcase.sio  # 3D
"$SOUC_BIN" run examples/graphics/demos/phase5_showcase.sio  # Animacao
"$SOUC_BIN" run examples/graphics/demos/phase7_showcase.sio  # Redes

# Atualiza as visualizações rasterizadas do site a partir da saída exata do compilador
npm --prefix website run generate:render-assets

Estrutura da Biblioteca

FaseMódulosCapacidades
Fase 1canvas, colors, drawing, textPrimitivos básicos, cores ANSI, formas
Fase 2axes, scatter, line_plot, bar_chart, histogram, heatmapGráficos bidimensionais
Fase 3projection, wireframe, scatter3dVisualização tridimensional
Fase 4input, interactive_plotZoom, rolagem, mouse/teclado
Fase 5animation, particle_system, fluid_simAnimação, física
Fase 6phase_diagram, bifurcation, poincare, streamlinesGráficos científicos
Fase 7graph, force_directed, tree_layout, graph_renderVisualização de rede

Começar

# Executar uma das demonstrações de fase
bin/souc executar exemplos/gráficos/demos/phase1_showcase.sio