<?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: Left-Handed vs. Right-Handed Viewing</title>
	<atom:link href="http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/</link>
	<description>Tracking the latest developments in interactive rendering techniques</description>
	<lastBuildDate>Mon, 17 Jun 2013 03:17:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>By: Why does handedness matter at all? &#124; Question and Answer</title>
		<link>http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/comment-page-1/#comment-2435</link>
		<dc:creator>Why does handedness matter at all? &#124; Question and Answer</dc:creator>
		<pubDate>Thu, 25 Apr 2013 20:01:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=95#comment-2435</guid>
		<description>[...] developer needs to differentiate and work in converting between the two really? Eric Haines in a related article uses the term &#8220;right-handed data&#8221;. What does this really mean, aren&#8217;t they all [...]</description>
		<content:encoded><![CDATA[<p>[...] developer needs to differentiate and work in converting between the two really? Eric Haines in a related article uses the term &#8220;right-handed data&#8221;. What does this really mean, aren&#8217;t they all [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Real-Time Rendering &#183; Questionable Answers</title>
		<link>http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/comment-page-1/#comment-393</link>
		<dc:creator>Real-Time Rendering &#183; Questionable Answers</dc:creator>
		<pubDate>Sat, 08 May 2010 14:08:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=95#comment-393</guid>
		<description>[...] that particular one is somewhat ill-defined to ask (my own answer is right-handed for world space, left-handed for view matrices, usually, but I really don&#8217;t care, and then there&#8217;s upper left vs. lower left for the [...]</description>
		<content:encoded><![CDATA[<p>[...] that particular one is somewhat ill-defined to ask (my own answer is right-handed for world space, left-handed for view matrices, usually, but I really don&#8217;t care, and then there&#8217;s upper left vs. lower left for the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/comment-page-1/#comment-58</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Tue, 26 May 2009 13:32:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=95#comment-58</guid>
		<description>Hi, Eric, and thanks for commenting. Yes, I left winding direction out of it, as the article was getting long-winded as it was. I agree that if a model is in RH with CCW winding order, if you convert it to LH you&#039;ll need to change the loop order to CW (e.g., reverse the order) to maintain the proper culling sense. I disagree that the order in which vertices are specified affects RH vs. LH being &quot;the right choice&quot;. In any graphics API I know you can always reverse the culling sense, so winding order can be treated as a related, but independent, variable. I believe your point is that RH with CCW makes various properties, such as volume, come out as positive numbers, which as humans we tend to favor.

I once read a great little article in an SGI&#039;s now-defunct &quot;Iris Universe&quot; which basically said, &quot;just try your code and negate as needed&quot;. You can sit and think and scribble for a long time, trying to figure out whether a particular rotation will go clockwise or counter-clockwise, or whether the culling sense is right. This article (author forgotten) pointed out that, once you have the underlying math right, most of these decisions are boolean; it&#039;s either one way or the other, and the difference is just a minus sign. Rather than spending time with paper and pencil and figuring out exactly what the ordering should be, the author said, &quot;just try it&quot;. Having this permission to do so has saved me hours of worrying about sign problems while programming. The ultimate goal, for me, is a picture on the screen; if a minus sign needs to be added here or there along the way, no problem.

You mention the wedge product (aka the outer product), from geometric algebra. I can appreciate the elegance of GA, but can&#039;t say I understand much of it beyond a hand-waving level. It has an clean way of manipulating various objects and computing intersections between them (though given that GA can&#039;t fully represent a triangle, I see its use as somewhat limited for computer graphics). I&#039;m hoping someone someday writes a book on the topic that doesn&#039;t immediately double back on itself with terminology. I was disappointed to find the promising-sounding &quot;&lt;a href=&quot;http://www.amazon.com/Geometric-Algebra-Computer-Science-Revised/dp/0123749425?tag=realtimerenderin&quot; rel=&quot;nofollow&quot;&gt;Geometric Algebra for Computer Science&lt;/a&gt;&quot; book (sample chapter &lt;a href=&quot;http://geometricalgebra.org/preview.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) assumes the reader already knows about all there is to know about homogeneous coordinate space and projection, quaternions, Pluecker coordinates, etc. I suspect you&#039;d understand it, but this book (and others on GA) have so far left me in the dust. &quot;Geometric Algebra for Dummies&quot; has yet to be published, unfortunately.</description>
		<content:encoded><![CDATA[<p>Hi, Eric, and thanks for commenting. Yes, I left winding direction out of it, as the article was getting long-winded as it was. I agree that if a model is in RH with CCW winding order, if you convert it to LH you&#8217;ll need to change the loop order to CW (e.g., reverse the order) to maintain the proper culling sense. I disagree that the order in which vertices are specified affects RH vs. LH being &#8220;the right choice&#8221;. In any graphics API I know you can always reverse the culling sense, so winding order can be treated as a related, but independent, variable. I believe your point is that RH with CCW makes various properties, such as volume, come out as positive numbers, which as humans we tend to favor.</p>
<p>I once read a great little article in an SGI&#8217;s now-defunct &#8220;Iris Universe&#8221; which basically said, &#8220;just try your code and negate as needed&#8221;. You can sit and think and scribble for a long time, trying to figure out whether a particular rotation will go clockwise or counter-clockwise, or whether the culling sense is right. This article (author forgotten) pointed out that, once you have the underlying math right, most of these decisions are boolean; it&#8217;s either one way or the other, and the difference is just a minus sign. Rather than spending time with paper and pencil and figuring out exactly what the ordering should be, the author said, &#8220;just try it&#8221;. Having this permission to do so has saved me hours of worrying about sign problems while programming. The ultimate goal, for me, is a picture on the screen; if a minus sign needs to be added here or there along the way, no problem.</p>
<p>You mention the wedge product (aka the outer product), from geometric algebra. I can appreciate the elegance of GA, but can&#8217;t say I understand much of it beyond a hand-waving level. It has an clean way of manipulating various objects and computing intersections between them (though given that GA can&#8217;t fully represent a triangle, I see its use as somewhat limited for computer graphics). I&#8217;m hoping someone someday writes a book on the topic that doesn&#8217;t immediately double back on itself with terminology. I was disappointed to find the promising-sounding &#8220;<a href="http://www.amazon.com/Geometric-Algebra-Computer-Science-Revised/dp/0123749425?tag=realtimerenderin" rel="nofollow">Geometric Algebra for Computer Science</a>&#8221; book (sample chapter <a href="http://geometricalgebra.org/preview.html" rel="nofollow">here</a>) assumes the reader already knows about all there is to know about homogeneous coordinate space and projection, quaternions, Pluecker coordinates, etc. I suspect you&#8217;d understand it, but this book (and others on GA) have so far left me in the dust. &#8220;Geometric Algebra for Dummies&#8221; has yet to be published, unfortunately.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Lengyel</title>
		<link>http://www.realtimerendering.com/blog/left-handed-vs-right-handed-viewing/comment-page-1/#comment-55</link>
		<dc:creator>Eric Lengyel</dc:creator>
		<pubDate>Wed, 06 May 2009 07:06:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=95#comment-55</guid>
		<description>I was surprised not to see any mention of winding direction here. The order in which our vertices are specified for a triangle has a big impact on whether RH or LH coordinates are the right choice. It all comes down to the definition of the cross product. If our vertices are wound CCW when looking at the front side of a triangle, then translating so that one vertex is at the origin and taking the cross product between the other two vertices, in order, gives us the triangle&#039;s normal. If we evaluate the scalar triple product of the vertices, in order, of each triangle in a closed mesh and sum, then we get six times the volume of the mesh. If our triangles were wound CW instead, then the normals and volumes would be negative if we calculated the same products.

Right-handed coordinate systems are preferred because the cross product was chosen to be right-handed at some point in time. This choice was arbitrary -- each component of the cross product could be negated, and everything would still be algebraically consistent. The universe has no preference. The reason a choice has to be made lies in the fact that the cross product is really an abuse of a coincidence that occurs in 3D space for a more general product called the wedge product. (And this abuse forced physicists to make an unnecessary distinction between what they call polar vectors and pseudovectors.) The wedge product between two vectors produces something called a bivector, and it so happens that in 3D, a bivector has 3 algebraically independent components whose magnitudes are exactly those of the components of the cross product. (In 4D, a bivector has 6 components, and in 2D, a bivector only has 1 component.) The tensor representation of a bivector is an antisymmetric matrix containing both positive and negative versions of each cross-product component, so no sign choice needs to be made. It&#039;s only when we want to represent a bivector with 3 numbers instead of the 6 nonzero entries of the tensor that we need to decide on RH or LH.</description>
		<content:encoded><![CDATA[<p>I was surprised not to see any mention of winding direction here. The order in which our vertices are specified for a triangle has a big impact on whether RH or LH coordinates are the right choice. It all comes down to the definition of the cross product. If our vertices are wound CCW when looking at the front side of a triangle, then translating so that one vertex is at the origin and taking the cross product between the other two vertices, in order, gives us the triangle&#8217;s normal. If we evaluate the scalar triple product of the vertices, in order, of each triangle in a closed mesh and sum, then we get six times the volume of the mesh. If our triangles were wound CW instead, then the normals and volumes would be negative if we calculated the same products.</p>
<p>Right-handed coordinate systems are preferred because the cross product was chosen to be right-handed at some point in time. This choice was arbitrary &#8212; each component of the cross product could be negated, and everything would still be algebraically consistent. The universe has no preference. The reason a choice has to be made lies in the fact that the cross product is really an abuse of a coincidence that occurs in 3D space for a more general product called the wedge product. (And this abuse forced physicists to make an unnecessary distinction between what they call polar vectors and pseudovectors.) The wedge product between two vectors produces something called a bivector, and it so happens that in 3D, a bivector has 3 algebraically independent components whose magnitudes are exactly those of the components of the cross product. (In 4D, a bivector has 6 components, and in 2D, a bivector only has 1 component.) The tensor representation of a bivector is an antisymmetric matrix containing both positive and negative versions of each cross-product component, so no sign choice needs to be made. It&#8217;s only when we want to represent a bivector with 3 numbers instead of the 6 nonzero entries of the tensor that we need to decide on RH or LH.</p>
]]></content:encoded>
	</item>
</channel>
</rss>