<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>anderswallin.net</title>
	<atom:link href="http://www.anderswallin.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anderswallin.net</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jul 2010 09:39:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Waterline toolpaths, part 3</title>
		<link>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-3/</link>
		<comments>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-3/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 09:39:11 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[opencamlib]]></category>
		<category><![CDATA[waterline]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3385</guid>
		<description><![CDATA[I&#8217;ve written a function that looks at the weave and produces a boost adjacency-list graph of it. The graph can then be split up into separate disconnected components using connected_components. To illustrate this, the second highest waterline in the picture below has six disconnected components: around the beak, belly, and toes(4).  When we know we [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a function that looks at <a href="http://www.anderswallin.net/wp-content/uploads/2010/07/weave.png">the weave</a> and produces a <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/adjacency_list.html">boost adjacency-list graph</a> of it. The graph can then be split up into separate disconnected components using <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/connected_components.html">connected_components</a>. To illustrate this, the second highest waterline in the picture below has six disconnected components: around the beak, belly, and toes(4).  When we know we are dealing with one connected component we pick a starting point at random. I&#8217;m then using <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/breadth_first_search.html">breadth_first_search</a> from this starting point to find the distance, along the graph, from this starting CL-point to all other CL-points. We choose the point with the minimum distance (along the graph) as the next point. Sometimes many points have the same distance from the source vertex and another way of choosing between them is required (I&#8217;m now picking the one which is closest in 2D distance to the source, but this may not be correct). We then mark the newly found CL-point &#8220;done&#8221;, and proceed with another breadth_first_search with this vertex as the source. That means that the graph-search runs N times if we have N CL-points, which is not very efficient&#8230;</p>
<p>So, compared to <a href="http://www.anderswallin.net/2010/07/waterline-toolpaths-part-2/">previously</a>, we now have for each waterline a list-of-lists where each sub-list is a loop, or an ordered list of CL-points. The yellow lines connect adjacent CL-points.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/waterline_tux.png"><img class="alignnone size-medium wp-image-3386" title="waterline_tux" src="http://www.anderswallin.net/wp-content/uploads/2010/07/waterline_tux-625x328.png" alt="" width="625" height="328" /></a></p>
<p>There&#8217;s still a <a href="http://www.anderswallin.net/wp-content/uploads/2010/07/demo_stl_waterline.png">donut-case</a>, where one connected component of the weave produces more than one loop, which the code doesn&#8217;t handle correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links &#8211; 2010 Jul 29</title>
		<link>http://www.anderswallin.net/2010/07/links-2010-jul-29/</link>
		<comments>http://www.anderswallin.net/2010/07/links-2010-jul-29/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 06:00:14 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[shared links]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/2010/07/links-2010-jul-29/</guid>
		<description><![CDATA[Voronoi mapping makes pretty, efficient circuit boards &#8211; DIY powder coating rig &#8211; C02 laser in your living room &#8211; Fishing Lure Syndrome &#8211; Canon EOS Best lens list updated &#8211; Truetype Tracer 4.0 is released &#8211; Micro mill from scrap aluminum &#8211; Incredible 35 minute video tour of the ISS &#8211; Constant cusp toolpath [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html">Voronoi mapping makes pretty, efficient circuit boards</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/diy_powder_coating_rig.html">DIY powder coating rig</a> &#8211; </li>
<li><a href="http://hackaday.com/2010/07/27/c02-laser-in-your-living-room/">C02 laser in your living room</a> &#8211; </li>
<li><a href="http://feedproxy.google.com/~r/lenovoblogs/designmatters/~3/JZAzODJ4QHI/">Fishing Lure Syndrome</a> &#8211; </li>
<li><a href="http://www.bobatkins.com/photography/reviews/best_canon_eos_lenses.html">Canon EOS Best lens list updated</a> &#8211; </li>
<li><a href="http://timeguy.com/cradek/01276453959">Truetype Tracer 4.0 is released</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/micro_mill_from_scrap_aluminum.html">Micro mill from scrap aluminum</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/incredible_35_minute_video_tour_of.html">Incredible 35 minute video tour of the ISS</a> &#8211; </li>
<li><a href="http://www.springerlink.com/content/53050t7p814m3445/">Constant cusp toolpath generation in configuration space based on offset curves</a> &#8211; </li>
<li><a href="http://www.springerlink.com/content/w593w035j341v574/">Direct slicing of cloud data with guaranteed topology for rapid prototyping</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/links-2010-jul-29/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jakob halvmaraton 1:50:37</title>
		<link>http://www.anderswallin.net/2010/07/jakob-halvmaraton-15037/</link>
		<comments>http://www.anderswallin.net/2010/07/jakob-halvmaraton-15037/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 17:54:13 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[21.1k]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3377</guid>
		<description><![CDATA[This week the plan was to do the last 20+ km run before the Helsinki marathon, which is in three weeks on 14 Aug 2010. But since I was in the region and there was a race, I did the Jakob half-marathon instead. Results and info at http://jakob-marathon.net/ This is a small event with 4-500 [...]]]></description>
			<content:encoded><![CDATA[<p>This week the plan was to do the last 20+ km run before the Helsinki marathon, which is in three weeks on 14 Aug 2010. But since I was in the region and there was a race, I did the Jakob half-marathon instead. Results and info at <a href="http://jakob-marathon.net/">http://jakob-marathon.net/</a></p>
<p>This is a small event with 4-500 runners, so less walking, pushing, and passing in the beginning than at <a href="http://www.anderswallin.net/2010/05/21256/">HCR</a> or <a href="http://www.anderswallin.net/2010/06/forssa-half-marathon/">Forssa</a>. I didn&#8217;t really set a time-goal, just ran in the beginning at a pace that felt right, which today was around 5:11 to 5:20/km. There were four drinking stations at a little after 4, 8, 12, and 16 km which show up as slightly slower kilometers in the data. Towards the end a few faster kilometers would have maybe allowed a sub 1:50 time.</p>
<p>The grey background shows roughly the level of detail which google earth/maps provides in this part of the country&#8230;</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/jakob-2010jul23.png"><img class="alignnone size-medium wp-image-3378" title="jakob-2010jul23" src="http://www.anderswallin.net/wp-content/uploads/2010/07/jakob-2010jul23-625x348.png" alt="" width="625" height="348" /></a></p>
<p>&#8220;He de maraton e noo flaka beta!&#8221;</p>
<p>By popular demand, an openstreetmap rendering. Fiddled around with the openstreetmap.org website but could not get it to display my GPS trace on top of the map. When searching for &#8220;gps&#8221; ubuntu suggests tangoGPS, but that doesn&#8217;t reder gpx-traces either. Then downloaded and installed Merkaartor, which does show gpx-traces after clicking around for a bit to learn how it works. At a zoom level which shows the whole route Merkaartor doesn&#8217;t show individual streets, so I zoomed in a bit, exported two bitmaps (top/bottom) from Merkaartor, and manually stitched them together in GIMP.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/j4.png"><img class="alignnone size-medium wp-image-3381" title="j4" src="http://www.anderswallin.net/wp-content/uploads/2010/07/j4-471x625.png" alt="" width="471" height="625" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/jakob-halvmaraton-15037/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Links &#8211; 2010 Jul 22</title>
		<link>http://www.anderswallin.net/2010/07/links-2010-jul-22/</link>
		<comments>http://www.anderswallin.net/2010/07/links-2010-jul-22/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 06:00:02 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[shared links]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/2010/07/links-2010-jul-22/</guid>
		<description><![CDATA[Facadeprinter temporarily tattoos architecture &#8211; Absurdly overpowered capacitor bank &#8211; 6 Reasons to Ride a Polar Bear to Work &#8211; CNC build ditches rods for hardboard &#8211; First MeshLab 1.3.0 beta out! &#8211;]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://blog.makezine.com/archive/2010/07/facadeprinter_temporarily_tattoos_a.html">Facadeprinter temporarily tattoos architecture</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/absurdly_overpowered_capacitor_bank.html">Absurdly overpowered capacitor bank</a> &#8211; </li>
<li><a href="http://theoatmeal.com/comics/polar_bear">6 Reasons to Ride a Polar Bear to Work</a> &#8211; </li>
<li><a href="http://hackaday.com/2010/07/16/cnc-build-ditches-rods-for-hardboard/">CNC build ditches rods for hardboard</a> &#8211; </li>
<li><a href="http://meshlabstuff.blogspot.com/2010/07/first-meshlab-130-beta-out.html">First MeshLab 1.3.0 beta out!</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/links-2010-jul-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5x1k @ 4:44-4:58/km</title>
		<link>http://www.anderswallin.net/2010/07/5x1k-444-458km/</link>
		<comments>http://www.anderswallin.net/2010/07/5x1k-444-458km/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 17:47:14 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[intervals]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3373</guid>
		<description><![CDATA[3 min walk/jog btw. reps.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/1k_reps_2010jul21.png"><img class="alignnone size-medium wp-image-3374" title="1k_reps_2010jul21" src="http://www.anderswallin.net/wp-content/uploads/2010/07/1k_reps_2010jul21-625x114.png" alt="" width="625" height="114" /></a></p>
<p>3 min walk/jog btw. reps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/5x1k-444-458km/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canon L-Glass FTW</title>
		<link>http://www.anderswallin.net/2010/07/canon-l-glass-ftw/</link>
		<comments>http://www.anderswallin.net/2010/07/canon-l-glass-ftw/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 10:42:30 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[coffee]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3370</guid>
		<description><![CDATA[Best coffee mug ever.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/19072010411.jpg"><img src="http://www.anderswallin.net/wp-content/uploads/2010/07/19072010411-482x625.jpg" alt="" title="19072010411" width="482" height="625" class="alignnone size-medium wp-image-3371" /></a><br />
Best coffee mug ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/canon-l-glass-ftw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IOM Radio Sailing on Youtube</title>
		<link>http://www.anderswallin.net/2010/07/iom-radio-sailing-on-youtube/</link>
		<comments>http://www.anderswallin.net/2010/07/iom-radio-sailing-on-youtube/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 17:29:42 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[IOM Events]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3368</guid>
		<description><![CDATA[Maybe the best collection ever of IOM, or any class really, radio sailing videos available online: http://www.youtube.com/user/Kingg2855 Way to go &#8220;Kingg2855&#8243; !]]></description>
			<content:encoded><![CDATA[<p>Maybe the best collection ever of IOM, or any class really, radio sailing videos available online:</p>
<p><a href="http://www.youtube.com/user/Kingg2855">http://www.youtube.com/user/Kingg2855</a></p>
<p>Way to go &#8220;Kingg2855&#8243; !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/iom-radio-sailing-on-youtube/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Waterline toolpaths, part 2</title>
		<link>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-2/</link>
		<comments>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-2/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 13:03:50 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[opencamlib]]></category>
		<category><![CDATA[waterline]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3362</guid>
		<description><![CDATA[After the proof-of-principle waterline experiments two days ago I&#8217;ve modified the KD-tree search so that triangles overlapping with the cutter can be searched for in the XZ and YZ planes (in addition to the XY-plane, which was needed for drop-cutter). This dramatically reduces the number of triangles which go through the pushCutter function and makes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/demo_waterlines.png"><img class="alignnone size-medium wp-image-3363" title="demo_waterlines" src="http://www.anderswallin.net/wp-content/uploads/2010/07/demo_waterlines-625x361.png" alt="" width="625" height="361" /></a></p>
<p>After the <a href="http://www.anderswallin.net/2010/07/waterline-toolpath-experiment/">proof-of-principle waterline experiments</a> two days ago I&#8217;ve modified the KD-tree search so that triangles overlapping with the cutter can be searched for in the XZ and YZ planes (in addition to the XY-plane, which was needed for drop-cutter). This dramatically reduces the number of triangles which go through the pushCutter function and makes it possible to run some tests on small to medium STL files.</p>
<p>Currently all the CL-points come out of the algorithm in an undefined almost random order. I&#8217;m just plotting them all and they are closely spaced, so it looks like a path, but the algorithm has no idea in which order the CL-points should be visited. Before these waterlines are of any use a second algorithm is required which inspects <a href="http://www.anderswallin.net/wp-content/uploads/2010/07/weave.png">the weave</a> and (a) comes up with the number of &#8220;loops&#8221; or &#8220;rings&#8221; (what should we name these?) at each waterline and (b) sorts the CL-points in each loop into the right order. The upstream user of these waterline loops can then decide in which order to visit the waterlines at each z-height, and within one waterline in which order to visit the loops. Any CL-point in a loop is as good as any other, so the upstream user can also choose where to start/stop the toolpath around the loop.</p>
<p>My idea for this is to turn the weave in to a graph and use the <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/index.html">Boost Graph Library</a> which has a function for returning the number of connected components (part (a) above), and then perhaps the All-pairs shortest path algorithm to find adjacent CL-points (part (b) above). Any other ideas?</p>
<p>Here&#8217;s the obligatory Tux example, where it took 96 seconds to generate five waterlines.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/tux_waterlines.png"><img class="alignnone size-medium wp-image-3364" title="tux_waterlines" src="http://www.anderswallin.net/wp-content/uploads/2010/07/tux_waterlines-625x369.png" alt="" width="625" height="369" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/waterline-toolpaths-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links &#8211; 2010 Jul 15</title>
		<link>http://www.anderswallin.net/2010/07/links-2010-jul-15/</link>
		<comments>http://www.anderswallin.net/2010/07/links-2010-jul-15/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 06:00:26 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[shared links]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/2010/07/links-2010-jul-15/</guid>
		<description><![CDATA[Hyperboloid stool from acrylic and monofilament &#8211; Vector model-based workpiece update in multi-axis milling by moving surface of revolution &#8211; Update: Acrobatic quadcopters team up &#8211; Casting the Cube &#8211; 1920s version of GPS! &#8211; Benoit Mandelbrot: Fractals and the art of roughness &#8211; Benoit Mandelbrot (2010) &#8211; Machined aluminum speedster &#8211;]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://blog.makezine.com/archive/2010/07/hyperboloid_stool_from_acrylic_and.html">Hyperboloid stool from acrylic and monofilament</a> &#8211; </li>
<li><a href="http://www.springerlink.com/content/6370461u0t3mu814/">Vector model-based workpiece update in multi-axis milling by moving surface of revolution</a> &#8211; </li>
<li><a href="http://hackaday.com/2010/07/12/update-acrobatic-quadcopters-team-up/">Update: Acrobatic quadcopters team up</a> &#8211; </li>
<li><a href="http://sliptonic.com/?p=275">Casting the Cube</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/1920s_version_of_gps.html">1920s version of GPS!</a> &#8211; </li>
<li><a href="http://feedproxy.google.com/~r/TEDTalks_video/~3/esbVZy61K0M/909">Benoit Mandelbrot: Fractals and the art of roughness &#8211; Benoit Mandelbrot (2010)</a> &#8211; </li>
<li><a href="http://blog.makezine.com/archive/2010/07/machined_aluminum_speedster.html">Machined aluminum speedster</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/links-2010-jul-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Waterline toolpath experiment</title>
		<link>http://www.anderswallin.net/2010/07/waterline-toolpath-experiment/</link>
		<comments>http://www.anderswallin.net/2010/07/waterline-toolpath-experiment/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 09:37:22 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[CAM]]></category>
		<category><![CDATA[opencamlib]]></category>
		<category><![CDATA[push-cutter]]></category>
		<category><![CDATA[waterline]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3349</guid>
		<description><![CDATA[The logical next step from drop-cutter (&#8220;axial tool projection&#8221; or &#8220;z-projection machining&#8221;) is to instead push the cutter sideways(&#8220;radial tool projection&#8221;) against the model and get waterline (or &#8220;z-slice&#8221;) paths. In addition to waterline finish-paths these paths can be used in roughing where they define pockets for 2D machining/clearing of stock. The general purpose tool-location [...]]]></description>
			<content:encoded><![CDATA[<p>The logical next step from drop-cutter (&#8220;axial tool projection&#8221; or &#8220;z-projection machining&#8221;) is to instead push the cutter sideways(&#8220;radial tool projection&#8221;) against the model and get waterline (or &#8220;z-slice&#8221;) paths. In addition to waterline finish-paths these paths can be used in roughing where they define pockets for 2D machining/clearing of stock. The general purpose tool-location function would be a <a href="http://www.freesteel.co.uk/wpblog/2008/10/the-non-axial-projection-subjection/">non-axial tool projection</a>, but I&#8217;m not going there unless someone sends me a state of the art 5-axis VMC as a present!</p>
<p>Push-cutter is different from drop-cutter, because in drop-cutter for 3-axis machining there is always only one right answer. There&#8217;s one z-height where the cutter is positioned as low as possible, but doesn&#8217;t interfere with the model. In drop-cutter positioning the tool above this z-height is OK, but dropping it further down is an illegal move which causes overcutting.</p>
<p>In push-cutter we push the cutter along a line (called a &#8220;fiber&#8221;) in the xy-plane, and search for CL-points where the cutter touches a triangle, together with illegal points or stretches/intervals along the fiber where the cutter interferes. There are going to be many of these points and intervals, so the fiber needs to keep track of everything using a list of interfering intervals (the endpoints of the intervals are valid CL-points).<br />
Similarly to drop-cutter, where a path is sampled along points in the (x, y) plane, we now need to build up our waterline-path by inserting closely spaced fibers in the x-direction and the y-direction. Eventually the CL-points start to form a continuous waterline, if we hook up the points into a list in the correct order. The x- and y-fibers form a grid (or mesh/weave), a kind of <a href="http://en.wikipedia.org/wiki/Graph_%28mathematics%29">graph</a>, which can be used to figure out the correct ordering of the CL-points (not implemented yet, see <a href="http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/index.html">BGL</a>).</p>
<p>This picture shows the original triangle (thin cyan lines), X-fibers (red lines), Y-fibers (blue lines), and the endpoints of the fibers, which are CL-points (colored by which element of the triangle they are hitting: red=vertex, green=facet, blue=edge). The light-green points are CC-points, i.e. points where the cutter makes contact with the triangle. This initial experiment uses a cylindrical cutter, and I expect the spherical cutter to follow soon, while the toroid will be more difficult&#8230;<br />
<a href="http://www.anderswallin.net/wp-content/uploads/2010/07/weave.png"><img class="alignnone size-medium wp-image-3351" title="weave" src="http://www.anderswallin.net/wp-content/uploads/2010/07/weave-625x411.png" alt="" width="625" height="411" /></a></p>
<p>This picture does not show the fibers/weave, only CL-points, calculated at many different z-heights.<br />
<a href="http://www.anderswallin.net/wp-content/uploads/2010/07/waterline_experiment.png"><img class="alignnone size-medium wp-image-3350" title="waterline_experiment" src="http://www.anderswallin.net/wp-content/uploads/2010/07/waterline_experiment-625x482.png" alt="" width="625" height="482" /></a></p>
<p>If the low-level functions are written right these ideas extend easily from the one-triangle test and debugging case to the practically more important and interesting many-triangle case: (note how now the weave-graph has three disconnected components)</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/07/demo_stl_waterline.png"><img class="alignnone size-medium wp-image-3353" title="demo_stl_waterline" src="http://www.anderswallin.net/wp-content/uploads/2010/07/demo_stl_waterline-625x337.png" alt="" width="625" height="337" /></a></p>
<p>Coming to an open-source CAM-system near you this summer/fall&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/07/waterline-toolpath-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
