<?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: FindClosest</title> <atom:link href="http://blog.stroep.nl/2010/03/findclosest/feed/" rel="self" type="application/rss+xml" /><link>http://blog.stroep.nl/2010/03/findclosest/</link> <description>Just a collection of random works - Mark Knol</description> <lastBuildDate>Thu, 02 Feb 2012 00:51:33 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: cesarullo</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-41375</link> <dc:creator>cesarullo</dc:creator> <pubDate>Wed, 08 Dec 2010 03:36:26 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-41375</guid> <description>Hy.
Forgive my english.
I have not much experience with flash.
I&#039;m trying to create an application similar to the one created by you.
I would be enormously useful to have. fla of your application, so i can study it and create the functions that I need from it.
you can share files with me?
I would be grateful.</description> <content:encoded><![CDATA[<p>Hy.<br /> Forgive my english.<br /> I have not much experience with flash.<br /> I&#8217;m trying to create an application similar to the one created by you.<br /> I would be enormously useful to have. fla of your application, so i can study it and create the functions that I need from it.<br /> you can share files with me?<br /> I would be grateful.</p> ]]></content:encoded> </item> <item><title>By: Mark</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-15470</link> <dc:creator>Mark</dc:creator> <pubDate>Tue, 06 Apr 2010 07:28:50 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-15470</guid> <description>Hi Daniel, thanks for sharing! Let me know when you have finished that version you are working on. I&#039;d love to see it.</description> <content:encoded><![CDATA[<p>Hi Daniel, thanks for sharing! Let me know when you have finished that version you are working on. I&#8217;d love to see it.</p> ]]></content:encoded> </item> <item><title>By: Daniel Freeman</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-15442</link> <dc:creator>Daniel Freeman</dc:creator> <pubDate>Mon, 05 Apr 2010 01:53:36 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-15442</guid> <description>I&#039;m also trying to adapt Mr Doobs algorithm.  I&#039;ve already published one attempt, but I&#039;m not happy with it yet - there&#039;s another one in the works.  My situation is more complex, in that e2vector already employs pretty good smoothing and reduction in the number of points to represent a drawn line.  I&#039;m working on splines, where the points are not close together.  If I used Mr Doobs algorithm as-is, the number of points would probably choke the application when the user subsequently edits their artwork.I&#039;m puzzled by some of the decisions you took to compress your file.  Binary Coded Decimal isn&#039;t small.  Something like ByteArray.writeUnsignedShort(), or FileStream.writeUnsignedShort(), would have saved each number as two bytes.  I see Mr Doobs left a comment about using deltas.  That&#039;s the next thing I was going to suggest to reduce each value to one byte.  A drawn line ISN&#039;T random points.  There&#039;s a whole lot of correlation.  If you really wanted to go to town with experimenting with data compression - you might look at predictive encoding.  Like ADPCM.  But that might be over-kill.</description> <content:encoded><![CDATA[<p>I&#8217;m also trying to adapt Mr Doobs algorithm.  I&#8217;ve already published one attempt, but I&#8217;m not happy with it yet &#8211; there&#8217;s another one in the works.  My situation is more complex, in that e2vector already employs pretty good smoothing and reduction in the number of points to represent a drawn line.  I&#8217;m working on splines, where the points are not close together.  If I used Mr Doobs algorithm as-is, the number of points would probably choke the application when the user subsequently edits their artwork.</p><p>I&#8217;m puzzled by some of the decisions you took to compress your file.  Binary Coded Decimal isn&#8217;t small.  Something like ByteArray.writeUnsignedShort(), or FileStream.writeUnsignedShort(), would have saved each number as two bytes.  I see Mr Doobs left a comment about using deltas.  That&#8217;s the next thing I was going to suggest to reduce each value to one byte.  A drawn line ISN&#8217;T random points.  There&#8217;s a whole lot of correlation.  If you really wanted to go to town with experimenting with data compression &#8211; you might look at predictive encoding.  Like ADPCM.  But that might be over-kill.</p> ]]></content:encoded> </item> <item><title>By: Lawrie</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-14990</link> <dc:creator>Lawrie</dc:creator> <pubDate>Wed, 17 Mar 2010 14:49:47 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-14990</guid> <description>Really nice Mark - the replay of the drawing&#039;s awesome. Interesting to see your thoughts on data storage and compression too - thanks for sharing.</description> <content:encoded><![CDATA[<p>Really nice Mark &#8211; the replay of the drawing&#8217;s awesome. Interesting to see your thoughts on data storage and compression too &#8211; thanks for sharing.</p> ]]></content:encoded> </item> <item><title>By: Mr.doob</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-14905</link> <dc:creator>Mr.doob</dc:creator> <pubDate>Mon, 15 Mar 2010 11:03:36 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-14905</guid> <description>For a project I&#039;ve been working for the past few months I also had to record a drawing. The approach I got the best results with was deltas+bytes+compress():Only save the first stroke position as absolute. I you did mouse down at 200,200. Then the next values are deltas. If the next position of your mouse was 201,201, you convert it to 1, 1, if the position after was 202,202, relative to the previous position will be again 1,1. If you moved your mouse back to 200,200 then it would be -2,-2. Just so you get an idea, your example data will become this:100,300,10,40,15,10,0,0You store the first 2 values as ints and the deltas as bytes. Just be careful a delta isn&#039;t bigger than 127 or smaller than -128. In that case the only solution is to split it. Write all that into a ByteArray and compress() it.</description> <content:encoded><![CDATA[<p>For a project I&#8217;ve been working for the past few months I also had to record a drawing. The approach I got the best results with was deltas+bytes+compress():</p><p>Only save the first stroke position as absolute. I you did mouse down at 200,200. Then the next values are deltas. If the next position of your mouse was 201,201, you convert it to 1, 1, if the position after was 202,202, relative to the previous position will be again 1,1. If you moved your mouse back to 200,200 then it would be -2,-2. Just so you get an idea, your example data will become this:</p><p>100,300,10,40,15,10,0,0</p><p>You store the first 2 values as ints and the deltas as bytes. Just be careful a delta isn&#8217;t bigger than 127 or smaller than -128. In that case the only solution is to split it. Write all that into a ByteArray and compress() it.</p> ]]></content:encoded> </item> <item><title>By: Yoz</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-14885</link> <dc:creator>Yoz</dc:creator> <pubDate>Sun, 14 Mar 2010 21:03:05 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-14885</guid> <description>hi Mark, you could save even more data:
&quot;100,300&quot; as string in your case contains 7*8 = 56 bites
but 100 as small integer can be stored in one byte (via writeByte()) = 8 bites + omitting separator + 300 (another 8 bites) you get 16 bites instead of 56... that way you can achieve 71% data save.
... if you need to go beyound 8 bit numbers (255 max) you can always use 2 bytes per number (enough max) with sufficient (42%) save</description> <content:encoded><![CDATA[<p>hi Mark, you could save even more data:<br /> &#8220;100,300&#8243; as string in your case contains 7*8 = 56 bites<br /> but 100 as small integer can be stored in one byte (via writeByte()) = 8 bites + omitting separator + 300 (another 8 bites) you get 16 bites instead of 56&#8230; that way you can achieve 71% data save.<br /> &#8230; if you need to go beyound 8 bit numbers (255 max) you can always use 2 bytes per number (enough max) with sufficient (42%) save</p> ]]></content:encoded> </item> <item><title>By: Ronny</title><link>http://blog.stroep.nl/2010/03/findclosest/#comment-14881</link> <dc:creator>Ronny</dc:creator> <pubDate>Sun, 14 Mar 2010 20:15:36 +0000</pubDate> <guid isPermaLink="false">http://blog.stroep.nl/?p=934#comment-14881</guid> <description>I love the redraw function that show the replay of you drawing it!
I&#039;ve been building something similar not too long ago! Love the result!
Good job!</description> <content:encoded><![CDATA[<p>I love the redraw function that show the replay of you drawing it!<br /> I&#8217;ve been building something similar not too long ago! Love the result!<br /> Good job!</p> ]]></content:encoded> </item> </channel> </rss>
