<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Additions for consideration...]]></title><description><![CDATA[<p dir="auto">Hey folks,</p>
<p dir="auto">I've added a couple of features to my fork, and I'm wondering if they are valuable additions for anyone else:</p>
<ol>
<li>
<p dir="auto">Simple vagrant file.  Once you've cloned the repo, "cd vagrant; vagrant up" will launch a vm, configure it with the packages needed, build the project, run the tests, build the docs, and be ready to launch.  All without messing with the host machine.</p>
</li>
<li>
<p dir="auto">Bezier easing:</p>
</li>
</ol>
<pre><code>const main = () =&gt; {
	return [
		extrudeWobble(30)
	]
}

function extrudeWobble(height) {
	var squareSlice = slice.fromPoints(&lsqb;&lsqb;10, 10], [-10, 10], [-10, -10], [10, -10&rsqb;&rsqb;);

	var xCurve = math.bezier.create([1, 2, 0.4, 1]);
	var yCurve = math.bezier.create([1, 2, 0.5]);

	let wobble = extrusions.extrudeFromSlices({
			numberOfSlices: 30,
			isCapped: true,
			callback: function (progress, count, base) {
        		let newslice = slice.transform(math.mat4.fromTranslation([0, 0, height * progress]), base);
        		newslice = slice.transform(math.mat4.fromScaling([
     				xCurve.at(progress),
		        	yCurve.at(progress),  // y
		        	1  // z
		        ]), newslice);
		        return newslice
			}
		}, squareSlice);
	return wobble;
}
</code></pre>
<p dir="auto">will produce:<img src="/assets/uploads/files/1593809539876-screen-shot-2020-07-03-at-4.51.55-pm-resized.png" alt="0_1593809538569_Screen Shot 2020-07-03 at 4.51.55 PM.png" class=" img-responsive img-markdown" /></p>
]]></description><link>https://openjscad.nodebb.com/topic/139/additions-for-consideration</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 16:05:52 GMT</lastBuildDate><atom:link href="https://openjscad.nodebb.com/topic/139.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Jul 2020 20:53:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Additions for consideration... on Tue, 07 Jul 2020 22:27:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/1">@z3dev</a> said in <a href="/post/270">Additions for consideration...</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/251">@simonclark</a> cool.</p>
<p dir="auto">FYI, there's a bezier function as part of path2 geometry which is based on the SVG algorithm. See src/geometry/path2/appendBezier()</p>
</blockquote>
<p dir="auto">Thanks!  I'm taking a look at this, and try to make sure the interfaces are similar.</p>
<p dir="auto">My goal was to create something that I could use as an easing function in scaling, rotating, etc.   I've also updated the algorithm to support n'th dimensions, and n'th order polynomials (control points).</p>
]]></description><link>https://openjscad.nodebb.com/post/271</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/271</guid><dc:creator><![CDATA[SimonClark]]></dc:creator><pubDate>Tue, 07 Jul 2020 22:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to Additions for consideration... on Sun, 05 Jul 2020 00:23:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/251">@simonclark</a> cool.</p>
<p dir="auto">FYI, there's a bezier function as part of path2 geometry which is based on the SVG algorithm. See src/geometry/path2/appendBezier()</p>
]]></description><link>https://openjscad.nodebb.com/post/270</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/270</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 05 Jul 2020 00:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to Additions for consideration... on Sat, 04 Jul 2020 11:13:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/1">@z3dev</a> will do.  I should get some tests around the math.bezier, as well as support for 2 and 3 dimensional beziers.  Currently it is only a single dimensional bezier.</p>
]]></description><link>https://openjscad.nodebb.com/post/269</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/269</guid><dc:creator><![CDATA[SimonClark]]></dc:creator><pubDate>Sat, 04 Jul 2020 11:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Additions for consideration... on Sat, 04 Jul 2020 01:55:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/251">@simonclark</a> Nice innovations to V2. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--sunglasses" title=":sunglasses:" alt="😎" /></p>
<p dir="auto">I think some others will be interested in the automatic VM launch, and configuration. Please consider adding a pull request to the V2 branch.</p>
<p dir="auto">I'm also excited to see another use of the new extrude functions.</p>
<p dir="auto">Funny... I don't remember math.bezier() <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /> There was talk about adding bezier() to the primitives, but no time. Again, please consider adding a pull request to the V2 branch.</p>
]]></description><link>https://openjscad.nodebb.com/post/268</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/268</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sat, 04 Jul 2020 01:55:12 GMT</pubDate></item></channel></rss>