{"id":1051,"date":"2022-10-26T09:40:29","date_gmt":"2022-10-26T09:40:29","guid":{"rendered":"https:\/\/sicv.activearchives.org\/logbook\/?p=1051"},"modified":"2022-10-26T09:40:29","modified_gmt":"2022-10-26T09:40:29","slug":"autotracing-jorn","status":"publish","type":"post","link":"https:\/\/sicv.activearchives.org\/logbook\/autotracing-jorn\/","title":{"rendered":"Autotracing Jorn"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote\"><p>The <em>autotrace<\/em> program accepts bitmap graphics from the file <em>inputfile<\/em> specified on the command line, and as output produces a collection of splines approximating the original image, the converting the image from bitmap to vector format. It behaves in a manner similar to the commercial software known as *tream*ine or *orel*race. The result is sent to standard output unless the <strong>-output-file<\/strong> option is active.<\/p><\/blockquote>\n\n\n\n<p>We are using Inkscape to apply a path tracing filter to called Centerline tracing, or autotrace, to an &#8220;automatic drawing&#8221; made in pen in 1946 by Asger Jorn. The drawing would serve as the basis for a series of works made by Jorn and invited others to find new novel forms among the randomly made lines by removing &#8220;<a href=\"https:\/\/sicv.activearchives.org\/mw\/index.php?title=On_the_relationship\">superflous material<\/a>&#8221; to reveal an underlying image. <a href=\"https:\/\/autotrace.sourceforge.net\/\">Autotrace<\/a> is a free software project initiated by Martin Weber that according to the man(ual) page, compares itself to commerically implemented algorithms like Adobe&#8217;s Streamline and Corel Trace (though removing key letters to avoid direct citation).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/sicv.activearchives.org\/logbook\/wp-content\/uploads\/2022\/10\/inkscape_autotrace.png\"><img loading=\"lazy\" width=\"1168\" height=\"807\" src=\"https:\/\/sicv.activearchives.org\/logbook\/wp-content\/uploads\/2022\/10\/inkscape_autotrace.png\" alt=\"\" class=\"wp-image-1055\"\/><\/a><\/figure>\n\n\n\n<p>The result is a single large SVG path object. (contains m, c, and l)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &lt;path\n       style=\"fill:none;stroke:#000001;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\"\n       d=\"m 43.195497,12.958371 c 0.629857,-0.39497 1.180148,-0.731964 1.8415,-1.111694 0.305372,-0.175324 0.529781,-0.294958 0.889,-0.448691 0.412052,-0.17634 0.789813,-0.328422 1.2065,-0.549085 0.183515,-0.09716 0.320358,-0.174879 0.508,-0.263525 0.647573,-0.305924 1.306132,-0.55579 1.9685,-0.8381107 0.400812,-0.170827 0.854456,-0.2935157 1.27,-0.3871207 0.335344,-0.07553 0.704279,-0.20461 1.0795,-0.288404  \n...<\/code><\/pre>\n\n\n\n<p>According to the SVG specification, a path definition is a sequence of coordinates and commands that instruct a virtual pen to trace the forms of a shape.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>he &#8220;Move to&#8221; command is called with the letter <code>M<\/code>. When the parser runs into this letter, it knows it needs to move to a point. So, to move to (<code>10<\/code>, <code>10<\/code>) the command to use would be <code>M 10 10<\/code>. After that, the parser begins reading for the next command.<\/p><p>All of the commands also come in two variants. An <strong>uppercase letter<\/strong> specifies absolute coordinates on the page, and a <strong>lowercase letter<\/strong> specifies relative coordinates (e.g., <em>move 10px up and 7px to the left from the last point<\/em>).<\/p><p>&#8230;<\/p><p>There are five line commands for <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/SVG\/Element\/path\"><code>&lt;path&gt;<\/code><\/a> nodes. The first command is the &#8220;Move To&#8221; or <code>M<\/code>, which was described above. It takes two parameters, a coordinate (<code>x<\/code>) and coordinate (<code>y<\/code>) to move to. If the cursor was already somewhere on the page, no line is drawn to connect the two positions. The &#8220;Move To&#8221; command appears at the beginning of paths to specify where the drawing should start.<\/p><p>There are three commands that draw lines. The most generic is the &#8220;Line To&#8221; command, called with <code>L<\/code>. <code>L<\/code> takes two parameters\u2014x and y coordinates\u2014and draws a line from the current position to a new position.<\/p><p>&#8230;<\/p><p>The cubic curve, <code>C<\/code>, is the slightly more complex curve. Cubic B\u00e9ziers take in two control points for each point. Therefore, to create a cubic B\u00e9zier, three sets of coordinates need to be specified.<\/p><cite>From https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/SVG\/Tutorial\/Paths<\/cite><\/blockquote>\n\n\n\n<pre class=\"wp-block-code\"><code>C x1 y1, x2 y2, x y<br>(or)<br>c dx1 dy1, dx2 dy2, dx dy<\/code><\/pre>\n\n\n\n<iframe src=\"https:\/\/vandal.ist\/ivam\/svgdraw\/\" style=\"width: 100%; aspect-ratio: 1\/1.4142\"><\/iframe>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The autotrace program accepts bitmap graphics from the file inputfile specified on the command line, and as output produces a collection of splines approximating the original image, the converting the image from bitmap to vector format. It behaves in a manner similar to the commercial software known as *tream*ine or *orel*race. The result is sent [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/posts\/1051"}],"collection":[{"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/comments?post=1051"}],"version-history":[{"count":10,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/posts\/1051\/revisions"}],"predecessor-version":[{"id":1064,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/posts\/1051\/revisions\/1064"}],"wp:attachment":[{"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/media?parent=1051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/categories?post=1051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sicv.activearchives.org\/logbook\/wp-json\/wp\/v2\/tags?post=1051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}