<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Creating a robust kinetic animation</title>
	<atom:link href="http://stechz.com/2010/robust-kinetic-animation/feed/" rel="self" type="application/rss+xml" />
	<link>http://stechz.com/2010/robust-kinetic-animation/</link>
	<description></description>
	<lastBuildDate>Wed, 24 Mar 2010 01:03:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Benjamin Stover</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-251</link>
		<dc:creator>Benjamin Stover</dc:creator>
		<pubDate>Mon, 01 Feb 2010 18:22:25 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-251</guid>
		<description>Forgot about this comment!  I think it&#039;d be fun to try ~ -v, if only because it&#039;s a differential equation :)

Also, Wordpress does not seem to like *&#039;s in URLs.  Huh.</description>
		<content:encoded><![CDATA[<p>Forgot about this comment!  I think it&#8217;d be fun to try ~ -v, if only because it&#8217;s a differential equation :)</p>
<p>Also, Wordpress does not seem to like *&#8217;s in URLs.  Huh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Axel Hecht</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-184</link>
		<dc:creator>Axel Hecht</dc:creator>
		<pubDate>Tue, 19 Jan 2010 20:30:18 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-184</guid>
		<description>eddy current brakes are a ~ -v, so you&#039;ll get a higher de-acceleration on higher speeds, and lower on lower speeds. The solution without any other tweaks is an exponential decline in velocity, http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k*v%28t%29 or http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k*v%28t%29. If you&#039;re adding a constant additional force, you end up with http://www.wolframalpha.com/input/?i=x%27%27%28t%29+%3D+-k*x%27%28t%29-a

Not sure if that&#039;d feel more natural or not.</description>
		<content:encoded><![CDATA[<p>eddy current brakes are a ~ -v, so you&#8217;ll get a higher de-acceleration on higher speeds, and lower on lower speeds. The solution without any other tweaks is an exponential decline in velocity, <a href="http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k" rel="nofollow">http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k</a>*v%28t%29 or <a href="http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k" rel="nofollow">http://www.wolframalpha.com/input/?i=v%27%28t%29+%3D+-k</a>*v%28t%29. If you&#8217;re adding a constant additional force, you end up with <a href="http://www.wolframalpha.com/input/?i=x%27%27%28t%29+%3D+-k" rel="nofollow">http://www.wolframalpha.com/input/?i=x%27%27%28t%29+%3D+-k</a>*x%27%28t%29-a</p>
<p>Not sure if that&#8217;d feel more natural or not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benjamin Stover</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-183</link>
		<dc:creator>Benjamin Stover</dc:creator>
		<pubDate>Tue, 19 Jan 2010 18:23:17 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-183</guid>
		<description>&lt;blockquote&gt;
I kinda doubt your last time formula. On perfect timing, that’d make time be close to zero throughout. Maybe a ‘+’ instead of a ‘-’?
&lt;/blockquote&gt;

Good catch.  This is an average so it should be a +.

&lt;blockquote&gt;
I suspect the speed bump could come from checkerboard vs not. I.e., your t_now is start_paint, but the user sees end_paint time. If the regular page drawing takes more time than the checkerboard drawing, you’d get a speed up, going from the delayed page-rendering parabola to the less-delayed checkerboard-rendering parabola.
&lt;/blockquote&gt;

I was always testing with a completely rendered page, without any checkerboards.  I think you&#039;re right about the delay being different later in the pan though.

&lt;blockquote&gt;
I wonder if you can already assume that the time-location data that you use to calculate initial position and velocity are page-rendering delayed. If so, you’d get into the parabula fine. If not, you’d end up with a skewed initial path, too.
&lt;/blockquote&gt;

I had toyed with this idea, shifting time a little more in the beginning than in the end.  Ultimately I found something that worked but felt the time average was more elegant and improved the smoothness of the animation at the same time.

&lt;blockquote&gt;
That said, have you tried other friction algorithms? Like an eddy current brake? Not sure that’s even terminating in time, but you could add a tad of mechanical friction to it for that.
&lt;/blockquote&gt;

I based my parabola on classical friction that you learn in mechanical physics.  Classical friction force is a function of the normal force and the textures of the two surfaces but not position or velocity or time, so if F=ma then a=F/m, so the acceleration factor is a constant for us, creating a parabola.  I don&#039;t really know anything about eddy current brakes and I didn&#039;t find any useful formulas with a quick Google search.

I have been curious about other higher-order formulas.  I&#039;ve tried a few different polynomials several months ago, and I believe Fennec has used sqrt in earlier iterations.  At the end it comes down to &quot;how does it feel,&quot; and so far parabolas have felt the best to me.</description>
		<content:encoded><![CDATA[<blockquote><p>
I kinda doubt your last time formula. On perfect timing, that’d make time be close to zero throughout. Maybe a ‘+’ instead of a ‘-’?
</p></blockquote>
<p>Good catch.  This is an average so it should be a +.</p>
<blockquote><p>
I suspect the speed bump could come from checkerboard vs not. I.e., your t_now is start_paint, but the user sees end_paint time. If the regular page drawing takes more time than the checkerboard drawing, you’d get a speed up, going from the delayed page-rendering parabola to the less-delayed checkerboard-rendering parabola.
</p></blockquote>
<p>I was always testing with a completely rendered page, without any checkerboards.  I think you&#8217;re right about the delay being different later in the pan though.</p>
<blockquote><p>
I wonder if you can already assume that the time-location data that you use to calculate initial position and velocity are page-rendering delayed. If so, you’d get into the parabula fine. If not, you’d end up with a skewed initial path, too.
</p></blockquote>
<p>I had toyed with this idea, shifting time a little more in the beginning than in the end.  Ultimately I found something that worked but felt the time average was more elegant and improved the smoothness of the animation at the same time.</p>
<blockquote><p>
That said, have you tried other friction algorithms? Like an eddy current brake? Not sure that’s even terminating in time, but you could add a tad of mechanical friction to it for that.
</p></blockquote>
<p>I based my parabola on classical friction that you learn in mechanical physics.  Classical friction force is a function of the normal force and the textures of the two surfaces but not position or velocity or time, so if F=ma then a=F/m, so the acceleration factor is a constant for us, creating a parabola.  I don&#8217;t really know anything about eddy current brakes and I didn&#8217;t find any useful formulas with a quick Google search.</p>
<p>I have been curious about other higher-order formulas.  I&#8217;ve tried a few different polynomials several months ago, and I believe Fennec has used sqrt in earlier iterations.  At the end it comes down to &#8220;how does it feel,&#8221; and so far parabolas have felt the best to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Axel Hecht</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-180</link>
		<dc:creator>Axel Hecht</dc:creator>
		<pubDate>Tue, 19 Jan 2010 00:00:09 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-180</guid>
		<description>I kinda doubt your last time formula. On perfect timing, that&#039;d make time be close to zero throughout. Maybe a &#039;+&#039; instead of a &#039;-&#039;?

I suspect the speed bump could come from checkerboard vs not. I.e., your t_now is start_paint, but the user sees end_paint time. If the regular page drawing takes more time than the checkerboard drawing, you&#039;d get a speed up, going from the delayed page-rendering parabola to the less-delayed checkerboard-rendering parabola.

Taking a mean between real time and equidistant timing probably eases that effect, as you&#039;re late in the page-rendering part, and you claim you&#039;re not by taking some fraction of the equidistant timing, and thus making your start_paint be a tad early. Kind-of averages out the being-late of the last step with the being late of the next step.

I wonder if you can already assume that the time-location data that you use to calculate initial position and velocity are page-rendering delayed. If so, you&#039;d get into the parabula fine. If not, you&#039;d end up with a skewed initial path, too.

That said, have you tried other friction algorithms? Like an eddy current brake? Not sure that&#039;s even terminating in time, but you could add a tad of mechanical friction to it for that.</description>
		<content:encoded><![CDATA[<p>I kinda doubt your last time formula. On perfect timing, that&#8217;d make time be close to zero throughout. Maybe a &#8216;+&#8217; instead of a &#8216;-&#8217;?</p>
<p>I suspect the speed bump could come from checkerboard vs not. I.e., your t_now is start_paint, but the user sees end_paint time. If the regular page drawing takes more time than the checkerboard drawing, you&#8217;d get a speed up, going from the delayed page-rendering parabola to the less-delayed checkerboard-rendering parabola.</p>
<p>Taking a mean between real time and equidistant timing probably eases that effect, as you&#8217;re late in the page-rendering part, and you claim you&#8217;re not by taking some fraction of the equidistant timing, and thus making your start_paint be a tad early. Kind-of averages out the being-late of the last step with the being late of the next step.</p>
<p>I wonder if you can already assume that the time-location data that you use to calculate initial position and velocity are page-rendering delayed. If so, you&#8217;d get into the parabula fine. If not, you&#8217;d end up with a skewed initial path, too.</p>
<p>That said, have you tried other friction algorithms? Like an eddy current brake? Not sure that&#8217;s even terminating in time, but you could add a tad of mechanical friction to it for that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Alexander</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-179</link>
		<dc:creator>Sam Alexander</dc:creator>
		<pubDate>Mon, 18 Jan 2010 21:54:48 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-179</guid>
		<description>Gorrilas!  That &amp; Nibbles were my first ever &quot;peak-under-the-hood&quot; as well.

Ben -- you are a mathematician masquerading as a programmer.  Someone will find you out.  You can&#039;t hide forever.</description>
		<content:encoded><![CDATA[<p>Gorrilas!  That &amp; Nibbles were my first ever &#8220;peak-under-the-hood&#8221; as well.</p>
<p>Ben &#8212; you are a mathematician masquerading as a programmer.  Someone will find you out.  You can&#8217;t hide forever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Vincent</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-175</link>
		<dc:creator>Alex Vincent</dc:creator>
		<pubDate>Mon, 18 Jan 2010 07:15:42 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-175</guid>
		<description>Ahh, the old QBASIC Gorillas game!  That brings back good memories from high school, when I discovered it (and QBASIC).</description>
		<content:encoded><![CDATA[<p>Ahh, the old QBASIC Gorillas game!  That brings back good memories from high school, when I discovered it (and QBASIC).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Grlicky</title>
		<link>http://stechz.com/2010/robust-kinetic-animation/comment-page-1/#comment-172</link>
		<dc:creator>Jason Grlicky</dc:creator>
		<pubDate>Mon, 18 Jan 2010 03:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://stechz.com/?p=119#comment-172</guid>
		<description>nice work! sounds like a cool solution to a deceptively difficult problem- I don&#039;t think I would have ever thought to take a hybrid approach. I&#039;m looking forward to seeing what the results feel like firsthand!</description>
		<content:encoded><![CDATA[<p>nice work! sounds like a cool solution to a deceptively difficult problem- I don&#8217;t think I would have ever thought to take a hybrid approach. I&#8217;m looking forward to seeing what the results feel like firsthand!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->