Group Abstract Group Abstract

Message Boards Message Boards

String art of using radon transforms and the generation process for continuous string layout

7 Replies

Figure for the last comment. Sorry about the line continuations.

Attachment

Attachments:
POSTED BY: Gilmer Gary

Using nailpoints =ListtOfNailPointsTotal one can use the following to create a framework to actual create the string image using the nails numbering as seen this file image....

umberofNailsUsed = Dimensions[NailPoints][[1]] (* 979 *);
xvalues = Table[i, {i, -170, 170, 4}]  (* 86 *); 
yvalues = Table[i, {i, -220, 220, 4}]   (* 111 *); 
PointsaroundFrameBottom = 
  Table[{xvalues[[i]], yvalues[[1]]}, {i, 1, xno}];
PointsaroundFrameRight = 
  Table[{xvalues[[xno]], yvalues[[ j]]}, {j, 2, yno}];
PointsaroundFrameTop = 
  Table[{xvalues[[xno - i]], yvalues[[yno]]}, {i, 1, xno - 1}];
PointsaroundFrameLeft = 
  Table[{xvalues[[1]], yvalues[[yno - j]]}, {j, 1, yno - 1}];
ptsaround = 
  Flatten[{{PointsaroundFrameBottom , PointsaroundFrameRight , 
     PointsaroundFrameTop , PointsaroundFrameLeft}}, 2];
nopts = Dimensions[ptsaround][[1]] ;
pointswindex = Table[{i, ptsaround[[i]]}, {i, 1, nopts}];
ppdts[i_] := pointswindex[[i]][[2]]  (* points around the frame !! *)
               framepoints = Table[ppdts[i], {i, 1, nopts}];
pt = {102, -220}; ptext = 4;
(*ListPlot[   framepoints,AspectRatio\[Rule]220./170. ,Epilog->{  \
Black,PointSize[Large], Text[ptext,Offset[{0,-5},pt]]} ]*)
alignn1 = Table[{-170 + (i - 1)*4, -220}, {i, 1, 86}];
 textn = Table[Style[Text[ i, alignn1[[i]] , {0, 3}], 4], {i, 1, 86}];
alignn2 = Table[{170, -220 + (i - 1)*4 }, {i, 1, 111}];  
 textn2 = 
  Table[Style[Text[ i + 86 - 1, alignn2[[i]] , {-3, 0}], 4], {i, 2, 
    111}];
alignn3 = Table[{170 - (i)*4, 220}, {i, 1, 86}];
 textn3 = 
  Table[Style[Text[ i + 86 + 111 - 1, alignn3[[i]] , {0, -3}], 4], {i,
     1, 85}];
alignn4 = Table[{-170, 220 - (i - 1)*4 }, {i, 1, 111}];  
 textn4 = 
  Table[Style[Text[ i + 86 + 111 + 86 - 3, alignn4[[i]] , {3, 0}], 
    4], {i, 2, 110}];
framenumbers = 
  ListPlot[   framepoints, AspectRatio -> 220./170. , 
   Epilog -> {  Black, textn, textn2, textn3, textn4} ] ;
alignn1;
alignn2[[2 ;; 111]];
alignn3[[1 ;; 85]];
alignn4[[2 ;; 110]];
Dimensions[NailCoordinates];
  NailCoordinates = 
  Join[alignn, alignn2[[2 ;; 111]], alignn3[[1 ;; 85]], 
   alignn4[[2 ;; 110]]] (* 394 *) ;
Dimensions[
  NailCoordinates](* \
NailCoordinates=Join[alignn,alignn2,alignn3,alignn4] (* 394 *);*);
Dimensions[NailCoordinates];
image1 = 
  ListLinePlot[
   Table[NailCoordinates[[NailPoints[[k]]]], {k, NumberofNailsUsed}], 
   Frame -> True, ImageSize -> 500, 
   PlotRange -> {{-170, 170}, {-220, 220}}, AspectRatio -> 220./170. ,
    PlotStyle -> {Thickness[0.001]}  ];

 Show[framenumbers, image1] 
---------------------------
POSTED BY: Gilmer Gary

If one wants to have the nail point sequence in terms of the nail numbers around the frame one can use this:

vals = ConstantArray[{0, 0}, 391];
nailties = Dimensions[ListOfNailPointsTotal][[1]];
NailHoles = ConstantArray[{0, 0}, 980] (* the nails positions used *);
For[i = 1, i < nailties, i++, xyith = ListOfNailPointsTotal[[i]];  
       NailHoles[[i]] = Position[   framepoints, xyith][[1]][[1]] ]
POSTED BY: Gilmer Gary

Nicely done and very interesting, thanks for sharing! It is somewhat related to an old post of mine:

Knitting images: using Radon transform and its inverse for creative arts

but I disregarded fixed nail points.

POSTED BY: Henrik Schachner

enter image description here -- you have earned Featured Contributor Badge enter image description here Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD

Note. At the end of the program, you can Manipulation such that it allows one to see the treading of the image. Open up the control by clicking on + and the click on the + under the k line to step slowly through the beginning to see the connections. This will show the step-by-step stringing process.

POSTED BY: Gilmer Gary
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard