Transformez des polylignes en bandes tissées avec BandWeaver
Transformez des polylignes en bandes tissées avec BandWeaver
par Ed Pegg
BandWeaver est une fonction de ressource qui renvoie des bandes polygonales dont la largeur est deux fois supérieure à la moitié de la largeur donnée pour un tissage par-dessus/par-dessous de polylignes qui se croisent. Voici la page de documentation de la fonction : https://resources.wolframcloud.com/FunctionRepository/resources/BandWeaver/
Exemples
Exemples
Transformons une polyligne en bandes tissées :
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
Regardons la ligne polygonale et les bandes de polygones générées :
In[]:=
Row[Flatten[Join[{Graphics[{Line[polyline]}],Graphics[#]&/@bands[[1]]}]]]
Out[]=
Regardons la bande tissée complète :
In[]:=
Graphics[{EdgeForm[{Black,Thick}],Cyan,bands}]
Out[]=
Affichons les déplacements du cavalier (knight) :
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[]=
L’épaisseur possible de la bande est limitée, la plupart du temps :
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[]=
Une seule auto-intersection suffit :
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[]=
Portée
Portée
Applications
Applications
Problèmes possibles
Problèmes possibles
Une seule auto-intersection suffit :
Exemples ingénieux
Exemples ingénieux
Tissons ensemble deux étoiles à 9 branches :
CITER CE NOTEBOOK
CITER CE NOTEBOOK