Files
egutierrez 47fac22230 chore: auto-commit (799 archivos)
- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:28:20 +02:00

2.0 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, framework, params, output, notes
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path framework params output notes
voronoi component cpp viz 1.0.0 pure void voronoi(const char* id, const ImVec2* seeds, int n, const ImU32* colors, ImVec2 size) Diagrama de Voronoi via raster brute-force (MVP). Para cada tile 4x4 px encontrar seed mas cercano y rellenar con su color.
imgui
drawlist
chart
visualization
voronoi
raster
pendiente-usar
false
imgui
false
cpp/functions/viz/voronoi.cpp imgui
name desc
id Identificador unico para PushID
name desc
seeds Array de N posiciones (en coords locales del rect, [0..W]x[0..H])
name desc
n Numero de seeds
name desc
colors Array de N colores ImU32 (uno por seed). Si nullptr, usa color default
name desc
size Tamano del area Voronoi. x <= 0 usa el ancho disponible
Renderiza la teselacion de Voronoi como mosaico de tiles 4x4 px coloreados + seeds visibles como circulos blancos sobre negros scaffolding/demo en primitives_gallery

voronoi

Voronoi diagram MVP via raster brute-force. Para cada tile de 4x4 pixeles del rect de render, calcula el seed mas cercano por distancia Euclidea y rellena el tile con el color de ese seed.

Limitaciones MVP

  • No genera poligonos analiticosvoronoi_layout deja polygon vacio. Para extraer poligonos seria necesario half-plane intersections (Fortune's algorithm) — ver issue futuro.
  • Tile 4x4 px: las fronteras son escalonadas. Si se requiere precision sub-pixel, reducir el tile (cuesta O(1/tile^2) en tiempo).
  • Performance: O(W * H * N / tile^2). Para N <= 200 y region 500x500 es < 1ms.

Ejemplo

ImVec2  seeds[30];
ImU32   colors[30];
for (int i = 0; i < 30; i++) {
    seeds[i]  = ImVec2(rand_float() * W, rand_float() * H);
    colors[i] = IM_COL32(rand() & 255, rand() & 255, rand() & 255, 230);
}
voronoi("##v", seeds, 30, colors, ImVec2(-1, 300));