<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Update to “Inheritance in JavaScript”</title>
	<link>http://www.teschet.net/update-to-inheritance-in-javascript</link>
	<description>JADE and JAVA</description>
	<pubDate>Mon, 06 Sep 2010 20:09:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Jon</title>
		<link>http://www.teschet.net/update-to-inheritance-in-javascript#comment-328</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Tue, 03 Jun 2008 16:42:49 +0000</pubDate>
		<guid>http://www.teschet.net/update-to-inheritance-in-javascript#comment-328</guid>
		<description>&lt;p&gt;Sweet, thanks.  You are still the man.
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Sweet, thanks.  You are still the man.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.teschet.net/update-to-inheritance-in-javascript#comment-327</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Tue, 03 Jun 2008 10:01:33 +0000</pubDate>
		<guid>http://www.teschet.net/update-to-inheritance-in-javascript#comment-327</guid>
		<description>&lt;p&gt;Kevin,&lt;/p&gt;
&lt;p&gt;Your work is incredible. Still, I want to know, what method are you using to solve bezier intersections? I’m trying to do it myself and having a bad time.&lt;/p&gt;
&lt;p&gt;Thanks very much
Dan
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>Your work is incredible. Still, I want to know, what method are you using to solve bezier intersections? I’m trying to do it myself and having a bad time.</p>
<p>Thanks very much<br />
Dan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thelonious</title>
		<link>http://www.teschet.net/update-to-inheritance-in-javascript#comment-326</link>
		<dc:creator>Thelonious</dc:creator>
		<pubDate>Tue, 03 Jun 2008 08:23:55 +0000</pubDate>
		<guid>http://www.teschet.net/update-to-inheritance-in-javascript#comment-326</guid>
		<description>&lt;p&gt;Hi Dan,&lt;/p&gt;
&lt;p&gt;Thanks for the feedback! It’s been a long time since I wrote that intersection code, but I’ll see if I can remember the general idea. I’ll assume you’re refering to the various bezier-bezier intersections as opposed to say the bezier-line intersection.&lt;/p&gt;
&lt;p&gt;First off, I got a huge amount of help from David Eberly. I’m using a fair amount of his algorithms for the actual root finding since they appear to work well in my limited usage of them. Also, he pointed me to an article called “Elimination and Resultants”. It was well worth the money buying that article.&lt;/p&gt;
&lt;p&gt;So, basically the process is to convert the bezier from Berstein polynomials to their equivalent quadratic or cubic polynomials, one for each axis. From there, I find the Bezout determinant and solve for one of the unknowns. I plug each of the roots of that polynomial into the other unknown’s polynomial. Each value that gives me zero in both polynomials is an intersection. I tried to be pretty thorough with my comments in the quadraticBezier-quadraticBezier intersection. You may find that code helpful. See Intersection.intersectBezier2Bezier2 line 113.&lt;/p&gt;
&lt;p&gt;One thing I should mention. Originally, I used MuPad and Mathematica to do all the math. That’s why you see all that ugliness in intersectBezier3Bezier3. I decided to make the code more readable by performing the steps explicitly in code like you see in intersectBezier2Bezier2. However, I must be getting underflows/overflows in the floating point which caused failures with the cubic beziers. Some day I’ll try to analyze the code to see how that can be remedied.&lt;/p&gt;
&lt;p&gt;HTH,
Kevin
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Dan,</p>
<p>Thanks for the feedback! It’s been a long time since I wrote that intersection code, but I’ll see if I can remember the general idea. I’ll assume you’re refering to the various bezier-bezier intersections as opposed to say the bezier-line intersection.</p>
<p>First off, I got a huge amount of help from David Eberly. I’m using a fair amount of his algorithms for the actual root finding since they appear to work well in my limited usage of them. Also, he pointed me to an article called “Elimination and Resultants”. It was well worth the money buying that article.</p>
<p>So, basically the process is to convert the bezier from Berstein polynomials to their equivalent quadratic or cubic polynomials, one for each axis. From there, I find the Bezout determinant and solve for one of the unknowns. I plug each of the roots of that polynomial into the other unknown’s polynomial. Each value that gives me zero in both polynomials is an intersection. I tried to be pretty thorough with my comments in the quadraticBezier-quadraticBezier intersection. You may find that code helpful. See Intersection.intersectBezier2Bezier2 line 113.</p>
<p>One thing I should mention. Originally, I used MuPad and Mathematica to do all the math. That’s why you see all that ugliness in intersectBezier3Bezier3. I decided to make the code more readable by performing the steps explicitly in code like you see in intersectBezier2Bezier2. However, I must be getting underflows/overflows in the floating point which caused failures with the cubic beziers. Some day I’ll try to analyze the code to see how that can be remedied.</p>
<p>HTH,<br />
Kevin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.teschet.net/update-to-inheritance-in-javascript#comment-325</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Tue, 03 Jun 2008 07:48:59 +0000</pubDate>
		<guid>http://www.teschet.net/update-to-inheritance-in-javascript#comment-325</guid>
		<description>&lt;p&gt;Kevin,&lt;/p&gt;
&lt;p&gt;Thanks for replying. I’ve made an attempt at implementing your algorithm in Java (using double precision), see here: &lt;/p&gt;
&lt;p&gt;http://boredgamer.org/BezierPain.java&lt;/p&gt;
&lt;p&gt;It doesn’t work, though. I’ve been over and over your javascript and I can’t find the problem…&lt;/p&gt;
&lt;p&gt;Dan
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>Thanks for replying. I’ve made an attempt at implementing your algorithm in Java (using double precision), see here: </p>
<p><a href="http://boredgamer.org/BezierPain.java" rel="nofollow">http://boredgamer.org/BezierPain.java</a></p>
<p>It doesn’t work, though. I’ve been over and over your javascript and I can’t find the problem…</p>
<p>Dan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeroen</title>
		<link>http://www.teschet.net/update-to-inheritance-in-javascript#comment-324</link>
		<dc:creator>Jeroen</dc:creator>
		<pubDate>Mon, 02 Jun 2008 22:58:29 +0000</pubDate>
		<guid>http://www.teschet.net/update-to-inheritance-in-javascript#comment-324</guid>
		<description>&lt;p&gt;I am pleased to notice that other people promote a C#/Java-style OOP in JavaScript (which indeed may be subject to discussion  . For that reason, I enjoyed reading your tutorial!
Last year, I have created a small shareware library around the concepts that you mention in your tutorial. If you are interested, you can download it at http://software.antrix.nl/&lt;/p&gt;
&lt;p&gt;Jeroen
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I am pleased to notice that other people promote a C#/Java-style OOP in JavaScript (which indeed may be subject to discussion  . For that reason, I enjoyed reading your tutorial!<br />
Last year, I have created a small shareware library around the concepts that you mention in your tutorial. If you are interested, you can download it at <a href="http://software.antrix.nl/" rel="nofollow">http://software.antrix.nl/</a></p>
<p>Jeroen</p>
]]></content:encoded>
	</item>
</channel>
</rss>
