BandWeaver: Transformando polilinhas em faixas entrelaçadas
BandWeaver: Transformando polilinhas em faixas entrelaçadas
por Ed Pegg
BandWeaver é uma função de recurso que retorna faixas poligonais com o dobro de uma determinada meia largura, permitindo um entrelaçamento do tipo sobre/baixo (over/under) em polilinhas com auto-interseção. Página de documentação da função: https://resources.wolframcloud.com/FunctionRepository/resources/BandWeaver/
Exemplos
Exemplos
Transformação de uma polilinha em faixas entrelaçadas:
In[]:=
polyline={{0,0},{6,0},{6,9},{3,9},{3,3},{9,3},{9,6},{0,6},{0,0}};bands=[polyline,1]
Out[]=
Polygon,Polygon,Polygon
Visualização da polilinha e das faixas poligonais geradas:
In[]:=
Row[Flatten[Join[{Graphics[{Line[polyline]}],Graphics[#]&/@bands[[1]]}]]]
Out[]=
Visualização da faixa completa entrelaçada:
In[]:=
Graphics[{EdgeForm[{Black,Thick}],Cyan,bands}]
Out[]=
Exibição dos movimentos de cavalo (como no xadrez):
In[]:=
knight={{0,0},{1,2},{2,0},{0,1},{2,2},{1,0},{0,2},{2,1},{0,0}};GraphicsEdgeForm[{Black,Thick}],Red,[knight,.06]
Out[]=
A espessura possível da faixa é geralmente limitada:
In[]:=
polyline={{0,1},{2,0},{1,1},{3,2},{2,3},{1,2},{3,1},{1,0},{2,1},{0,2},{1,3},{2,2},{0,1}};GraphicsEdgeForm[{Black,Thick}],Green,[polyline,.05]
Out[]=
In[]:=
GraphicsEdgeForm[{Black,Thick}],Green,[{{0,0},{0,1},{1,1},{1,0}},.1]
Out[]=
Uma única auto-interseção já é suficiente:
In[]:=
GraphicsEdgeForm[{Black,Thick}],Green,[{{0,0},{0,1},{1,0},{1,1}},.1]
Out[]=
In[]:=
pts1=;pts5=;
In[]:=
bands=[{pts1,pts5},.25];Graphics[{EdgeForm[{Black,Thick}],Green,bands[[1]],Red,bands[[2]]}]
Out[]=
Escopo
Escopo
Os resultados de podem ser combinados com outros elementos gráficos:
BandWeaver
In[]:=
polyline={{0,0},{2,1},{1,0},{0,1},{2,0},{1,1}};part=Partition[polyline,2,1,1];GraphicsEdgeForm[{Gray,Thin}],Yellow,[polyline,.05],Blue,Table[Text[k,(3part[[k,1]]+2part[[k,2]])/5],{k,1,6}]
Out[]=
Aplicações
Aplicações
Código para uma bola quicando:
Vamos criar um entrelaçamento celta:
E, agora, vamos entrelaçar múltiplas formas:
Mostre o passeio do cavalo:
Possíveis problemas
Possíveis problemas
A espessura das faixas é limitada na maioria das vezes:
Uma única auto-interseção já permite o funcionamento:
Exemplos interessantes
Exemplos interessantes
Código para gerar polilinhas em forma de estrela:
Entrelaçamento de duas estrelas de 9 pontas:
Ainda usando o código de estrela, vamos criar faixas entrelaçadas com várias estrelas:
Entrelaçamentos mais elaborados com estrelas:
CITE ESTE NOTEBOOK
CITE ESTE NOTEBOOK
BandWeaver: turn polylines into woven bands
by Ed Pegg
Wolfram Community, STAFF PICKS, February 25, 2026
https://community.wolfram.com/groups/-/m/t/3645058
by Ed Pegg
Wolfram Community, STAFF PICKS, February 25, 2026
https://community.wolfram.com/groups/-/m/t/3645058