Os trilhos de trem Duplo estão sob tensão demais?
(puzzling.stackexchange.com)- A pista de trem Duplo montada pela criança parece um loop fechado, mas o desafio é verificar, por condições de ângulo e posição, se as peças foram encaixadas à força
- O critério matemático consiste em primeiro verificar se a diferença entre o número de curvas para a esquerda e para a direita é múltipla de 12 e, depois, calcular se a soma dos vetores de deslocamento de cada peça é 0
- A solução mais bem avaliada calcula que a condição de ângulo é satisfeita, mas a soma dos deslocamentos é
4.5 -3 -2 0.5, não 0, portanto não é um loop sem tensão - Para encaixar exatamente, é preciso remover e adicionar algumas peças; se for para acrescentar apenas uma peça, uma sugestão é inserir uma reta
2-2depois da primeira curva cinza, por exemplo - Na prática, é possível avaliar se há tensão excessiva observando também a planicidade da pista, a flexão e os vãos nas juntas, e se o trem descarrila ou os vagões se separam durante o percurso
Como determinar se a pista Duplo foi fechada à força
- A pessoa que fez a pergunta gostou da pista de trem Duplo montada pelas crianças, mas queria verificar se as peças estavam sob tensão excessiva, com risco de dano
- A pista é composta por trilhos curvos e trilhos retos
- A passagem de nível funciona, na prática, como um trilho reto
- 12 trilhos curvos formam um círculo naturalmente, mas forçar 13 trilhos curvos em um formato circular pode gerar tensão na pista
- O foco da pergunta são dois pontos
- Se existe um método lógico rápido para determinar se há tensão
- Para reduzir a tensão, qual peça e posição seriam melhores ao remover ou adicionar 1 peça
Condição de ângulo: diferença entre peças curvas à esquerda e à direita
- A primeira verificação é a existência de incompatibilidade angular
- Como 12 peças curvas Duplo formam um círculo completo, a diferença entre o número de peças curvas à esquerda e à direita deve ser múltipla de 12
- A solução mais bem avaliada começou no cruzamento e acompanhou os ângulos no sentido anti-horário, concluindo que o arranjo apresentado satisfaz essa condição
- Outra resposta também resumiu que, quando há apenas curvas, o “número de peças que curvam para dentro - número de peças que curvam para fora” deve ser 12 para encaixar perfeitamente
- Porém, essa condição é mais próxima de uma condição necessária: mesmo que seja satisfeita, a configuração não será necessariamente sem tensão
Condição de posição: a soma dos vetores de deslocamento deve ser 0
- A segunda verificação é a existência de incompatibilidade de posição, somando todos os vetores de deslocamento do ponto inicial ao ponto final de cada peça e verificando se o resultado é 0
- Tomando o comprimento de uma peça reta como 1, é possível calcular o vetor de uma peça reta conforme a direção
- Uma reta
0-0no ângulo 0 é(1, 0) - Uma reta
1-1no ângulo 1, ou seja, 30 graus, é(cos 30°, sin 30°) = (√3/2, 1/2)
- Uma reta
- Uma peça curva é tratada como tendo raio igual ao dobro do comprimento de uma peça reta
- A curva
0-1é(2 sin 30°, 2(1 - cos 30°)) = (1, 2 - √3)
- A curva
- As coordenadas da direção de todas as peças se dividem em uma parte racional e uma parte racional multiplicada por
√3, então a solução as expressa como uma lista de 4 números para fazer a soma - Para o loop se fechar sem tensão, o resultado da soma dos 4 números de cada peça deve ser quatro zeros
Resultado do cálculo: o arranjo atual não fecha exatamente
- A soma de todas as peças do arranjo apresentado resulta em
4.5 -3 -2 0.5 - Em deslocamento real, isso corresponde a
(4.5 - 3√3, -2 + 0.5√3) - Como esse valor não é 0, a configuração não está sem tensão
- Ao desenhar o caminho ideal calculado, ele não forma um loop fechado; as extremidades ficam desalinhadas
- A resposta conclui que não é possível completar esse loop com uma combinação de menos de 5 peças
Propostas de correção: solução exata e adição de uma única peça
- Para criar uma solução exatamente sem tensão, é preciso remover peças específicas e adicionar outras
- Uma solução usa a seguinte combinação
- Remover
10-9,9-10,5-5 - Adicionar
1-1,8-8
- Remover
- A solução calcula que a combinação
3-4 3-4 1-1 8-8 11-11preenche o deslocamento necessário- Há mais 3 combinações de 5 peças que produzem o mesmo deslocamento, mas elas deixam o número de peças curvas ímpar e, portanto, criam incompatibilidade angular
- Se a correção prática for trocar apenas uma peça, há a opção de adicionar uma peça
2-2- Um exemplo de posição é depois da primeira curva cinza
- Como forma mais simples de alinhamento, também foi sugerido manter as peças retas em pares paralelos, mas reposicioná-las no lado oposto, afastadas por 6 unidades líquidas de curva
Verificações práticas rápidas: planicidade, juntas e funcionamento real
- Antes do cálculo matemático, o primeiro sinal a observar é se a pista fica plana
- Um loop encaixado à força pode entortar um pouco em 3 dimensões, em vez de permanecer em um plano 2D
- “Tensão demais” é algo subjetivo, e as conexões toleram certo desalinhamento lateral, que pode ser distribuído pelo loop inteiro
- A tensão excessiva pode aparecer nas juntas
- Algumas conexões não parecem retas e ficam visivelmente curvadas
- Os vãos entre os trilhos são largos ou ficam desalinhados como degraus
- Isso pode ser verificado com a mão
- O teste prático final é colocar o trem para andar de verdade
- Se o percurso for bastante suave e estável, a pista consegue suportar essa carga por enquanto
- Outra resposta propôs um critério mais lúdico: se, ao rodar com 2 a 4 vagões conectados, os vagões se separarem ou o trem descarrilar, a pista está tensionada demais
1 comentários
Opiniões no Hacker News
Tenho uma pergunta sobre Duplo/Lego: será que existe um nome para o problema combinatório de contar o número de estruturas que podem ser feitas com N peças de Lego 1×M?
Peças que podem girar livremente são consideradas a mesma estrutura. Por exemplo, com duas peças de Lego 1×2, considero que há 2 arranjos: quando estão conectadas por dois pinos, uma acima da outra, e quando estão conectadas por um pino. Como uma conexão por um pino permite rotação livre de 270 graus ou mais, a diferença entre o pino da esquerda e o da direita vira a mesma estrutura se levarmos em conta a simetria de rotação
Supondo Legos “ideais”, com tolerância de fabricação zero, e sem permitir técnicas de montagem ilegais. Também fico curioso se esse problema é bem definido, se existe uma solução em forma fechada, ou se há algum programa gerador
Quando N fica suficientemente grande, graus de liberdade de rotação podem criar estruturas adicionais que ficavam ocultas em outras direções de rotação, então imagino que o gerador fique muito complexo
https://arxiv.org/abs/math/0504039
https://www.tandfonline.com/doi/abs/10.4169/amer.math.monthl...
Para o segundo, é só usar o sci-hub. Para o caso bidimensional, também há o trabalho de Tricia Muldoon Brown
https://www.sciencedirect.com/science/article/pii/S0012365X1...
https://arxiv.org/abs/1608.01562
Também há o trabalho de Alexander M. Haupt
https://arxiv.org/abs/1810.10428
Basta calcular à mão os primeiros termos da sequência e ver se ela já está no banco de dados
Para contexto, veja https://en.wikipedia.org/wiki/Lattice_protein; gastamos muito tempo removendo soluções idênticas após rotação e auto-interseções. Também há uma matemática surpreendentemente interessante para determinar se uma cadeia especificada por ângulos locais se cruza consigo mesma no espaço tridimensional absoluto
É um problema parecido no sentido de ter pontos de ligação limitados e contagem de duplicatas em 3D
Ex.: https://math.stackexchange.com/questions/237998/p%C3%B3lya-s...
Eu conversava com frequência com um amigo sobre uma pergunta parecida: dado um conjunto fixo de trilhos curvos de trem Duplo, quantos traçados fechados diferentes é possível montar?
Trechos retos em geral podem ser ignorados, porque você pode adicionar um par em cada lado de loops paralelos. Mas também existem alguns formatos triangulares interessantes que quebram esse padrão
Meu amigo chegou a fazer um programa que encontrava soluções de verdade e, no geral, funcionava bem, gerando traçados interessantes. Ele nunca conseguiu adicionar os desvios
Muitas vezes era difícil determinar se dois traçados eram iguais, e isso acabou levando à matemática do problema dos colares: https://en.wikipedia.org/wiki/Necklace_problem
Como engenheiro mecânico licenciado, eu diria que, rigorosamente, o trilho não está em “tração”. Ele está em flexão, que é uma combinação de tração e compressão
Se quiserem mais explicações, posso continuar
Achei mais interessante a introdução aprofundada aos trilhos Duplo no site linkado
https://www.cailliau.org/Alphabetical/L/Lego/Duplo/Train/Rai...
Quando criança, eu tinha tanto os trilhos Duplo pretos “novos” quanto os “antigos”. Lembro que, mesmo aos quatro anos, achava os trilhos pretos antigos incômodos e gostava muito mais dos novos
Algo como “gjryir frpgvbaf qb abg znxr na rknpg pvepyr, gurer vf n fznyy bireync, naq fb znxr n pv”
Tenho uma criança de cinco anos, então monto com frequência trilhos de madeira BRIO em várias configurações.
Quando a criança vai expandindo os trilhos, eu normalmente fico alguns passos atrás, ajustando discretamente o layout para que ele não fique excessivamente restrito. É simples, mas vira uma resolução de problema bem divertida, e é bom poder passar tempo com a criança.
Eles são bonitos e agradáveis ao toque. O trem é lento, mas tem bastante torque, o que dá uma espécie de “sensação de massa” à experiência. É diferente de muitos brinquedos de controle remoto que correm rápido demais para o tamanho e ficam engasgando no carpete ou em desníveis.
Eu também gosto, mas consigo enxergar um pouco melhor do que as crianças onde está havendo tração, então tento corrigir essas partes.
Isso significa que, no sistema como um todo, a quantidade de tipos necessários de comprimento de trilho reto se limita a um pequeno número inteiro. Já o TrackMaster precisa de muito mais.
Fico curioso se alguém já fresou trilhos BRIO por conta própria. Talvez para criar formatos peculiares que não são possíveis com as peças padrão.
Já fiz um carrinho em forma de banana compatível com trilhos BRIO, mas ainda não tentei fabricar trilhos.
A análise matemática talvez possa ser mais simples. Basta tratar cada peça de trilho como um vetor 2D e somar tudo. Em um layout sem tração, a soma dá (0, 0).
Como medida de tração, dá para modelar pela média de todos os vetores, supondo que o desalinhamento de posição esteja distribuído uniformemente. Portanto, para o mesmo deslocamento, quanto menor o número de peças, mais significativo ele é.
Pode parecer que isso ignora a rotação, mas na verdade ela está incluída. O vetor efetivo de uma peça de trilho representa tanto a direção atual quanto o deslocamento acrescentado por aquela peça. Se modelado em código, o cursor teria um ângulo de direção e uma posição (x, y).
Uma matemática relacionada é o fato de que a soma dos ângulos externos de um polígono é 360 graus, então o quanto se está distante de 360 graus poderia servir como outra medida. Nesse caso não é útil, mas também vem à mente o número de enrolamento da análise complexa. É uma forma de caminhar localmente ao longo de uma curva e entender qual lado é o “interior” e quantas vezes a curva envolve determinado ponto.
Poderia ser algo como criar uma forma levemente autointersectante que empurre aquele trecho para um estado de tração, enquanto um trecho complementar soma o negativo do primeiro, mas sem autointerseção.
Então teria de haver 360/30 = 12 trilhos curvando para a direita a mais do que para a esquerda, ou vice-versa. É preciso contar, claro, mas dá para pegar o jeito rapidamente de ir somando +1 ou -1 ao seguir os trilhos. Se no final der 12, está perfeito, e a distância em relação a 12 vira uma estimativa da tração.
Os outros fóruns do StackExchange são ótimos. Perguntas como esta e as respostas que surgem lá são excelentes.
Ao longo dos anos vi discussões muito boas em aviação, experiência do usuário e matemática, com muitas percepções interessantes em respostas longas e detalhadas. Algumas horas atrás, até um post sobre latim apareceu no HN.
Mas, pelo menos para mim, o Stack Overflow não é mais assim. Antigamente eu fazia perguntas e respondia, mas algo mudou. Fiquei com a sensação de que foi tomado por moderadores excessivamente meticulosos, e hoje quase não participo mais.
Pelo que entendo, o ponto fraco perigoso é o pescoço do pino de encaixe em um dos trilhos conectados.
No Duplo, há pinos-chave e furos nos dois lados do elo. Em um desalinhamento severo, um lado do pino pode receber pressão lateral adicional e deformar ou quebrar.
Dito isso, uma tração tão forte provavelmente surge principalmente ao tentar forçar ou travar a última junta. Uma criança pode tentar isso quando os pais não estão por perto supervisionando se a montagem é possível. Quando os pais perceberem, talvez já seja tarde, ou então já tenha dado certo e não haja mais necessidade de consertar.
Se o pescoço do pino quebrar, então era o destino dele mesmo. Não é grande coisa. O segundo pino ainda mantém a junta. Só que, se não se aprender a lição, aquele trecho vira o elo mais fraco.
Se de algum jeito conseguiu forçar tudo para dentro de um loop, ótimo, é só fazer a locomotiva andar. Se os vagões não tombarem em uma fresta forçada ou em um trecho torcido, é continuar rodando; caso contrário, ajuste ou reconstrua.
Quando eu era criança, contava enquanto seguia os trilhos. Começava em 0; se o trilho curvava para a esquerda, somava 1; se curvava para a direita, subtraía 1.
A resposta tinha de ser algo como ±12, ±24. Porque 12 peças formam um círculo.
Acho que dá para verificar a tração abrindo o loop e observando o deslocamento entre a peça inicial e a peça final. Isso assume que o atrito com a superfície seja baixo o suficiente para que as peças possam se mover.
Como solução de quebra-cabeça, dá para atribuir a cada tipo de peça um deslocamento final e o ângulo de conexão da próxima peça, começar nas coordenadas (0, 0), percorrer as peças atualizando a posição da última peça e então verificar o deslocamento entre a peça inicial e a final.
O resultado se pareceria com a imagem da resposta. Mas atualizar os trilhos para minimizar o deslocamento é mais difícil.
Nesse ponto, dá para ajustar as peças envolvidas e muitas vezes fechar a fresta, que ficou maior. Era um layout meio como a cena de perseguição de trem de The Wrong Trousers, de Wallace and Gromit.
Se houver tração, as pontas do trilho perto da abertura vão se separar, mas é difícil imaginar o conjunto todo se movendo.
“Sei que posso sentir isso diretamente removendo uma peça e encaixando-a de novo.”
Talvez também dê para montar em um piso liso e plano e jogar pó de shuffleboard por cima.