<?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: Building the Convex Hull</title>
	<atom:link href="http://marknelson.us/2007/08/22/convex/feed/" rel="self" type="application/rss+xml" />
	<link>http://marknelson.us/2007/08/22/convex/</link>
	<description>Programming, mostly.</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:56:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Alan</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-375037</link>
		<dc:creator>Alan</dc:creator>
		<pubDate>Thu, 15 Sep 2011 23:25:13 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-375037</guid>
		<description>Well...

that which you call &quot;a convex hull&quot;, I apparently know how (in logic) to create in &quot;an infinite number of dimensions&quot; (i.e. SPACE (itself) becomes &quot;relative&quot; (unless there are _________________ (censored) in which situation space is computed (= maximum efficiency (in theory) (noise considerations can be factored in via a more sophisticated technique I reckon) of storing data (as &quot;real-time &quot;objects&quot;)(the whole thing becomes a _______________ (the _____________________)(curiously it is a &quot;perpetual motion machine&quot; in that everything (can) rotate around everything else (&quot;perpetual motion&quot;) within internally (or sometimes externally in other versions e.g. teleportation dynamic scenario ..) generated &quot;limits&quot; (&quot;machine&quot; like..) - the whole thing becomes like a solid object, ... an algorithm partial &#039;interferometer&#039; i.e. you don&#039;t need an algorithm to store the data, the data itself &quot; becomes &quot; an ____________(quantum dynamical; inter-space (a between space betwen space: a hyperspace bypass!!!!!!!!   )</description>
		<content:encoded><![CDATA[<p>Well&#8230;</p>
<p>that which you call &#8220;a convex hull&#8221;, I apparently know how (in logic) to create in &#8220;an infinite number of dimensions&#8221; (i.e. SPACE (itself) becomes &#8220;relative&#8221; (unless there are _________________ (censored) in which situation space is computed (= maximum efficiency (in theory) (noise considerations can be factored in via a more sophisticated technique I reckon) of storing data (as &#8220;real-time &#8220;objects&#8221;)(the whole thing becomes a _______________ (the _____________________)(curiously it is a &#8220;perpetual motion machine&#8221; in that everything (can) rotate around everything else (&#8220;perpetual motion&#8221;) within internally (or sometimes externally in other versions e.g. teleportation dynamic scenario ..) generated &#8220;limits&#8221; (&#8220;machine&#8221; like..) &#8211; the whole thing becomes like a solid object, &#8230; an algorithm partial &#8216;interferometer&#8217; i.e. you don&#8217;t need an algorithm to store the data, the data itself &#8221; becomes &#8221; an ____________(quantum dynamical; inter-space (a between space betwen space: a hyperspace bypass!!!!!!!!   )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SPEEDY</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-375014</link>
		<dc:creator>SPEEDY</dc:creator>
		<pubDate>Thu, 15 Sep 2011 19:57:27 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-375014</guid>
		<description>How about a convex hull in dimensions above 2?

Well, this problem is so important in Windows update for the screen shots, fast games, and 3D cg scenes!</description>
		<content:encoded><![CDATA[<p>How about a convex hull in dimensions above 2?</p>
<p>Well, this problem is so important in Windows update for the screen shots, fast games, and 3D cg scenes!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rhf</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-363348</link>
		<dc:creator>rhf</dc:creator>
		<pubDate>Mon, 20 Jun 2011 08:27:05 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-363348</guid>
		<description>Nice article. 

To elaborate on the point-in-convex-hull test. This can be done in O(log n):

Given a point (x,y) look whether it is in the lower or upper half-space, using the same test as applied in partition_points().
Then lookup the index &#039;a&#039; of the first coordinate with x-value larger than x in lower_partition_points if (x,y) is in the lower half-space.
Lookup the index &#039;a&#039; of the first coordinate with x-value larger than x
in upper_partition_points if (x,y) is in the upper half-space.
This lookup can be done using a binary search (http://en.wikipedia.org/wiki/Binary_search_algorithm) as the arrays are sorted by x-coordinate, So in O(log n) time.
Then get the vector from the coordinate at index &#039;a-1&#039; to &#039;a&#039;. If (x,y) is in the lower half-space and on or left of the vector then it is inside the convex hull.
Similarly if (x,y) is is in the upper half-space and on or right of the vector then it is inside the convex hull.
You can use the direction() function from the c++ code for the vector side test.
If index &#039;a&#039; or &#039;a-1&#039; does not exist then (x,y) is outside the convex hull or on the hull at right-most hull point. To check against the latter case, test if x equals &#039;right&#039; (from the c++ class) and if true,
set &#039;a&#039; = last index of lower_partition_points (or upper_partition_points depending on whether (x,y) is in the lower or upper half-space) and test if (x,y) is on the vector from &#039;a-1&#039; to &#039;a&#039; using direction()</description>
		<content:encoded><![CDATA[<p>Nice article. </p>
<p>To elaborate on the point-in-convex-hull test. This can be done in O(log n):</p>
<p>Given a point (x,y) look whether it is in the lower or upper half-space, using the same test as applied in partition_points().<br />
Then lookup the index &#8216;a&#8217; of the first coordinate with x-value larger than x in lower_partition_points if (x,y) is in the lower half-space.<br />
Lookup the index &#8216;a&#8217; of the first coordinate with x-value larger than x<br />
in upper_partition_points if (x,y) is in the upper half-space.<br />
This lookup can be done using a binary search (<a href="http://en.wikipedia.org/wiki/Binary_search_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Binary_search_algorithm</a>) as the arrays are sorted by x-coordinate, So in O(log n) time.<br />
Then get the vector from the coordinate at index &#8216;a-1&#8242; to &#8216;a&#8217;. If (x,y) is in the lower half-space and on or left of the vector then it is inside the convex hull.<br />
Similarly if (x,y) is is in the upper half-space and on or right of the vector then it is inside the convex hull.<br />
You can use the direction() function from the c++ code for the vector side test.<br />
If index &#8216;a&#8217; or &#8216;a-1&#8242; does not exist then (x,y) is outside the convex hull or on the hull at right-most hull point. To check against the latter case, test if x equals &#8216;right&#8217; (from the c++ class) and if true,<br />
set &#8216;a&#8217; = last index of lower_partition_points (or upper_partition_points depending on whether (x,y) is in the lower or upper half-space) and test if (x,y) is on the vector from &#8216;a-1&#8242; to &#8216;a&#8217; using direction()</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-346718</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Tue, 01 Feb 2011 12:26:55 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-346718</guid>
		<description>@van Breda,

Thanks, I updated the link!

- Mark</description>
		<content:encoded><![CDATA[<p>@van Breda,</p>
<p>Thanks, I updated the link!</p>
<p>- Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A. van Breda</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-346717</link>
		<dc:creator>A. van Breda</dc:creator>
		<pubDate>Tue, 01 Feb 2011 12:23:53 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-346717</guid>
		<description>The article &quot;[1] R.L. Graham, An efficient algorithm for determining the convex hull of a finite planar set, Info. Proc. Lett. 1, 132-133 (1972).&quot; has moved to:
http://www.math.ucsd.edu/~ronspubs/72_10_convex_hull.pdf

Antoon</description>
		<content:encoded><![CDATA[<p>The article &#8220;[1] R.L. Graham, An efficient algorithm for determining the convex hull of a finite planar set, Info. Proc. Lett. 1, 132-133 (1972).&#8221; has moved to:<br />
<a href="http://www.math.ucsd.edu/~ronspubs/72_10_convex_hull.pdf" rel="nofollow">http://www.math.ucsd.edu/~ronspubs/72_10_convex_hull.pdf</a></p>
<p>Antoon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-343084</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sat, 08 Jan 2011 11:47:04 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-343084</guid>
		<description>Thanks a lot for this article.</description>
		<content:encoded><![CDATA[<p>Thanks a lot for this article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MAX</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-329024</link>
		<dc:creator>MAX</dc:creator>
		<pubDate>Wed, 21 Jul 2010 09:37:58 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-329024</guid>
		<description>Very useful. Best exposition of an algorithm for finding a convex hull that I&#039;ve been able to find [2]. Really saved the day ! Thank u !</description>
		<content:encoded><![CDATA[<p>Very useful. Best exposition of an algorithm for finding a convex hull that I&#8217;ve been able to find [2]. Really saved the day ! Thank u !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: GeoClustering &#38; Boundry Polygons in C# &#38; KML &#171; Programmers Unlimited</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-328207</link>
		<dc:creator>GeoClustering &#38; Boundry Polygons in C# &#38; KML &#171; Programmers Unlimited</dc:creator>
		<pubDate>Tue, 29 Jun 2010 17:06:23 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-328207</guid>
		<description>[...] Points[Len] &amp; Points[Len-1] respectively. There is a great animation demonstrating this process here. After the upper and lower partitions are processed (giving us 2 sets of points that we could [...]</description>
		<content:encoded><![CDATA[<p>[...] Points[Len] &amp; Points[Len-1] respectively. There is a great animation demonstrating this process here. After the upper and lower partitions are processed (giving us 2 sets of points that we could [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pavan</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-321070</link>
		<dc:creator>pavan</dc:creator>
		<pubDate>Sat, 09 Jan 2010 09:46:31 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-321070</guid>
		<description>Very Good explanation</description>
		<content:encoded><![CDATA[<p>Very Good explanation</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Nelson</title>
		<link>http://marknelson.us/2007/08/22/convex/comment-page-1/#comment-315611</link>
		<dc:creator>Mark Nelson</dc:creator>
		<pubDate>Thu, 24 Sep 2009 12:00:41 +0000</pubDate>
		<guid isPermaLink="false">http://marknelson.us/2007/08/22/convex/#comment-315611</guid>
		<description>@geoff:

I don&#039;t know if there is a sublinear solution to this problem, but people love their convex hulls, so it should be easy to find.

My solution: be the point, turn in a circle 360 degrees. If all you see is hull all the way around, you&#039;re inside.</description>
		<content:encoded><![CDATA[<p>@geoff:</p>
<p>I don&#8217;t know if there is a sublinear solution to this problem, but people love their convex hulls, so it should be easy to find.</p>
<p>My solution: be the point, turn in a circle 360 degrees. If all you see is hull all the way around, you&#8217;re inside.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

