2 pontos por GN⁺ 2025-11-10 | 1 comentários | Compartilhar no WhatsApp
  • Projeto que combina impressão 3D e geração procedural para criar uma obra de arte com estrutura complexa
  • Composto por um algoritmo de geração de trajetórias que conecta pontos posicionados aleatoriamente com splines e controla inclinação e raio de curva
  • Para resolver controle de velocidade e problemas de atrito, garante a estabilidade da pista com raio mínimo de curva e banking excessivo
  • Os suportes são gerados com base em um sistema de partículas, considerando ao mesmo tempo forma estética e estabilidade estrutural
  • O projeto foi além dos limites do OpenSCAD, com planos futuros de reescrita baseada em SDF e melhoria da modelagem de velocidade

Visão geral do projeto

  • Marble Fountain é uma estrutura artística complexa impressa em 3D com técnicas de geração procedural
    • Depois de entrar na Formlabs, passou a usar impressoras de alto desempenho, o que levou à tentativa de criar uma grande estrutura algorítmica
    • A estrutura foi projetada com o objetivo de ser “a obra de arte mais complexa”
  • Na impressão 3D, a complexidade não afeta o custo, e o limite do design é definido pelo tempo gasto no trabalho de CAD

Trilhos (Tracks)

  • O sistema inicial foi composto por posicionamento aleatório de pontos → conexão por splines → aplicação de inclinação constante
    • A primeira versão apenas subtraía tubos de uma estrutura sólida, mas, para ampliar as funcionalidades, foi adicionado um algoritmo de resolução de trajetórias (path solver)
  • O resolvedor de trajetórias começa com uma série de segmentos de reta aleatórios conectando a parte superior e a inferior
    • As condições iniciais têm grande influência sobre a forma da estrutura, e várias variações algorítmicas foram testadas
  • Os pontos da trajetória seguem as regras abaixo
    • permanecer dentro da caixa delimitadora
    • manter espaçamento uniforme
    • ser puxados para uma altura constante para manter uma inclinação fixa
    • respeitar limites mínimo e máximo de raio de curva
    • repelir outras pistas e trechos distantes da própria pista
    • suavizar mudanças de inclinação e evitar aumento da inclinação
  • O problema de controle de velocidade foi mais complexo do que o esperado
    • As bolinhas não se movem como massas pontuais, e as mudanças no banking da pista afetam a inércia de rotação e o atrito
    • Em trechos retos, a velocidade aumenta em excesso, e em curvas fechadas há risco de parada por desaceleração
    • Como solução, foram adotados raio mínimo de curva e banking excessivo para induzir perda de velocidade
  • A estrutura de elevação funciona como um fuso de esferas (ball screw)
    • As bolinhas restringem o eixo roscado por todos os lados, permitindo rotação sem rolamento superior
    • Quando há bolinhas em apenas um lado, ocorre um modo de falha com vibração intensa que faz todas saírem da pista

Suportes (Supports)

  • A geração dos suportes foi implementada como um processamento iterativo top-down com base em sistema de partículas
    • Mais tempo foi gasto ajustando a forma estética do que lidando com colisões estruturais
    • A tolerância da impressora a overhangs foi explorada ativamente
  • Regras de comportamento de cada suporte
    • atração por outros suportes conforme distância e similaridade de tamanho
    • repulsão em relação a outros suportes
    • permanência dentro da caixa delimitadora
    • manutenção de um certo raio em relação ao centro da estrutura
  • Os suportes têm inércia (inertia), o que leva à formação de estruturas curvas em arco

Planos futuros (Looking forward)

  • O tempo de exportação do modelo final leva de 5 a 20 minutos
    • Há espaço para otimização por causa das limitações do OpenSCAD
    • Está sendo considerada uma reescrita baseada em biblioteca SDF
  • O sistema atual não possui função de estimativa de velocidade e depende de heurísticas simples
    • A medição de velocidade com câmera pode economizar tempo na construção de um modelo de aceleração
    • Manter inclinação constante é ruim para evitar colisões, mas essencial para controlar a velocidade
    • Há planos para explorar o ponto crítico (response curve) em que a superfície começa a escorregar

Retrospectiva (Looking back)

  • Foi o maior projeto pessoal, realizado ao longo de cerca de 7 meses, de fevereiro a setembro de 2024
    • Houve uma corrida final para preparar a peça para uma exposição na New Alliance Gallery, em Somerville
    • Durante a exposição, eram perdidas de 2 a 3 bolinhas por hora, e o motor superaquecia, permitindo operação por apenas algumas horas
    • O projeto foi interrompido por exaustão e divulgado um ano depois
  • Há agradecimento ao colega Alex pelos conselhos, feedback e pelos inúmeros testes com bolinhas

Resumo técnico

  • Tecnologias usadas: Procedural Generation, 3D Printing, Python, OpenSCAD
  • Característica estrutural: algoritmo de resolução de trajetórias + sistema de suportes baseado em partículas
  • Objetivo artístico: combinar complexidade mecânica com curvas estéticas
  • Não há informações adicionais no texto original

1 comentários

 
GN⁺ 2025-11-10
Comentários do Hacker News
  • A abordagem de usar simulação de partículas para criar uma estrutura de suporte em forma de árvore orgânica é realmente criativa
    Pelo que entendi, parece que definiram leis físicas e mapearam o eixo do “tempo” para o eixo z para rodar a simulação
    Fico curioso se isso é uma técnica já conhecida ou se foi algo que inventaram por conta própria. De qualquer forma, o resultado tem uma qualidade estética excelente e me deu vontade de experimentar pessoalmente

  • Quando projetistas de fontes de bolinhas de gude não usam computador, eles frequentemente enfrentam problemas de descarrilamento das bolinhas
    Precisam observar quando a bolinha sai do trilho ou trava, deduzir a causa e fazer ajustes manuais
    Por isso, é impressionante que nesta obra as bolinhas não saiam do trilho por horas
    O trilho é composto por dois rails, então a bolinha está sempre em contato com dois pontos
    Parece que o segredo está em manter um banking (inclinação) perfeito para equilibrar gravidade e força centrífuga

    • Na prática, é mais complicado. O banking muda o eixo de rotação e reduz a inércia rotacional
      O trilho é inclinado de forma bem agressiva para evitar que a bolinha acelere demais ou salte para fora
      Assim, todas as bolinhas descem suavemente quase na mesma velocidade
      Ainda assim, mais ou menos uma a cada 30 minutos descarrila. Eu gravo vídeos para identificar o trecho problemático e, em vez de ajustar manualmente, melhoro o projeto alterando o código gerador e imprimindo novamente
      Também estou pensando em adicionar um loop de feedback com câmera, mas isso já seria outro projeto
  • Esta obra é realmente linda. Seria incrível se desse para codificar/decodificar áudio usando o trilho
    Tipo gerar frequências diferentes com o movimento das bolinhas

    • Eu até tentei de verdade. Gostei tanto da ideia de converter uma faixa MIDI em um marble run com um script em Python que fui testar, mas as bolinhas quicavam demais e não dava para produzir notas
      Talvez fosse possível com um material mais flexível ou esferas maiores, mas por enquanto foquei em terminar a versão comum
    • Existe um vídeo do Tom Scott sobre a estrada musical na Califórnia
      Link do YouTube
  • Acho que este é um exemplo de caso de uso ideal para impressoras 3D
    Fazer de outro jeito um trilho de bolinhas tão suave e com formas tão orgânicas teria exigido um esforço enorme

    • Mas, pessoalmente, acho que a verdadeira vantagem de uma impressora 3D está menos em esculturas assim e mais em criar pequenos itens personalizados para o dia a dia que melhoram a qualidade de vida
  • O vídeo foi muito bem feito. Um simples voice-over sincronizado com a música, e a própria obra explica tudo. Excelente

  • Gostei demais desta obra. Está cheia de elementos “estranhamente satisfatórios”
    Eu também estava usando trilhos de bolinhas para explicar probabilidade aos meus filhos, então ver isso no HN foi quase como se tivessem lido meus pensamentos

  • O movimento, embora simples, é hipnótico e bonito

    • “Hipnótico” é exatamente a palavra certa. As pessoas são instintivamente atraídas por estímulos visuais que mudam de forma irregular
      Chamas, ondas, correntezas, tela de TV — tudo prende a atenção pelo mesmo motivo
      É curioso que este trilho de bolinhas continue prendendo o olhar mesmo sendo, na verdade, um sistema previsível
    • Com o som ligado, a imersão fica muito maior
  • Eu também gostaria de ver uma versão com LEDs em material branco ou transparente. Ficaria parecendo uma estrada arco-íris

  • Também estou trabalhando em um projeto parecido
    Estou criando um trilho de bolinhas com geração procedural usando Python, Build123D e uma impressora 3D

  • Fico curioso sobre que tipo de criatividade em escala seria possível se essa técnica se expandisse
    Prédios montados em blocos, um mundo real tipo Minecraft

    • Será que já existe uma montanha-russa gerada proceduralmente?
    • Na prática, casas impressas em 3D já estão sendo testadas. Há protótipos que constroem uma casa em poucos dias, com eficiência muito alta na construção
    • No mangá Blame!, existe a ideia de que, depois do desaparecimento dos humanos, robôs continuam construindo proceduralmente e criam uma megaestrutura (Megastructure) que vai da Terra até Júpiter
      E no filme Fracture também aparece uma ótima máquina de bolinhas
      Link do YouTube