<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=Reference%3AConstructive_Solid_Geometry</id>
	<title>Reference:Constructive Solid Geometry - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=Reference%3AConstructive_Solid_Geometry"/>
	<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;action=history"/>
	<updated>2026-04-27T09:10:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=10247&amp;oldid=prev</id>
		<title>Jholsenback: link addition</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=10247&amp;oldid=prev"/>
		<updated>2020-03-27T12:23:15Z</updated>

		<summary type="html">&lt;p&gt;link addition&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:23, 27 March 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#indexentry:CSG}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{#indexentry:CSG}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;In addition to all of the primitive shapes POV-Ray supports, you can also combine multiple simple shapes into complex shapes using &amp;lt;em&amp;gt; Constructive Solid Geometry&amp;lt;/em&amp;gt; (CSG). There are four basic types of CSG operations: [[Reference:Union|union]], [[Reference:Intersection|intersection]], [[Reference:Difference|difference]], and [[Reference:Merge|merge]]. CSG objects can be composed of primitives or other CSG objects to create more, and more complex shapes.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;In addition to all of the primitive shapes POV-Ray supports, you can also combine multiple simple shapes into complex shapes using &amp;lt;em&amp;gt; Constructive Solid Geometry&amp;lt;/em&amp;gt; (CSG). There are four basic types of CSG operations: [[Reference:Union|union]], [[Reference:Intersection|intersection]], [[Reference:Difference|difference]], and [[Reference:Merge|merge]]. CSG objects can be composed of primitives or other CSG objects to create more, and more complex shapes&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. See also: [[Reference:Object Modifiers|Object Modifiers]]&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Inside and Outside===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Inside and Outside===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot; &gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;of the plane points towards the outside of the plane. You should note that&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;of the plane points towards the outside of the plane. You should note that&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;triangles cannot be used as solid objects in CSG since they have no well defined inside and outside. Triangle-based shapes (&amp;lt;code&amp;gt;mesh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mesh2&amp;lt;/code&amp;gt;) can only be used in CSG when they are closed objects and have an inside vector specified. &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;triangles cannot be used as solid objects in CSG since they have no well defined inside and outside. Triangle-based shapes (&amp;lt;code&amp;gt;mesh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mesh2&amp;lt;/code&amp;gt;) can only be used in CSG when they are closed objects and have an inside vector specified. &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; Although the &amp;lt;code&amp;gt;triangle&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;bicubic_patch&amp;lt;/code&amp;gt; and some other shapes have no well defined inside and outside, they have a front&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;and backside which makes it possible to use a texture on the front side and an &amp;lt;code&amp;gt;interior_texture&amp;lt;/code&amp;gt; on the back side.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; Although the &amp;lt;code&amp;gt;triangle&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;bicubic_patch&amp;lt;/code&amp;gt; and some other shapes have no well defined inside and outside, they have a front and backside which makes it possible to use a texture on the front side and an &amp;lt;code&amp;gt;interior_texture&amp;lt;/code&amp;gt; on the back side.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CSG uses the concepts of inside and outside to combine shapes together as&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CSG uses the concepts of inside and outside to combine shapes together as&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot; &gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;versa.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;versa.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The inside/outside distinction is not important for a &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt;, but is important for &amp;lt;code&amp;gt;intersection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;difference&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;merge&amp;lt;/code&amp;gt;. Therefore any objects may be combined using &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt; but only solid objects, i.e. objects that have a well-defined interior can be used in the other kinds of CSG. The objects described in&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The inside / outside distinction is not important for a &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt;, but is important for &amp;lt;code&amp;gt;intersection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;difference&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;merge&amp;lt;/code&amp;gt;. Therefore any objects may be combined using &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt; but only solid objects, i.e. objects that have a well-defined interior can be used in the other kinds of CSG. The objects described in&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Reference:Finite Patch Primitives|Finite Patch Primitives]] have no well defined inside/outside&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. All &lt;/del&gt;objects described in the sections [[Reference:Finite Solid Primitives|Finite Solid Primitives]] and [[Reference:Infinite Solid Primitives|Infinite Solid Primitives]].&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Reference:Finite Patch Primitives|Finite Patch Primitives]] have no well defined inside / outside&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, while the &lt;/ins&gt;objects described in the sections [[Reference:Finite Solid Primitives|Finite Solid Primitives]] and [[Reference:Infinite Solid Primitives|Infinite Solid Primitives]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;do&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=7481&amp;oldid=prev</id>
		<title>Jholsenback: 1 revision: reference layout changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=7481&amp;oldid=prev"/>
		<updated>2012-08-08T13:11:23Z</updated>

		<summary type="html">&lt;p&gt;1 revision: reference layout changes&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:11, 8 August 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=7480&amp;oldid=prev</id>
		<title>Jholsenback: cleanup round 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Constructive_Solid_Geometry&amp;diff=7480&amp;oldid=prev"/>
		<updated>2012-08-07T00:32:15Z</updated>

		<summary type="html">&lt;p&gt;cleanup round 2&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#indexentry:CSG}}&lt;br /&gt;
&amp;lt;p&amp;gt;In addition to all of the primitive shapes POV-Ray supports, you can also combine multiple simple shapes into complex shapes using &amp;lt;em&amp;gt; Constructive Solid Geometry&amp;lt;/em&amp;gt; (CSG). There are four basic types of CSG operations: [[Reference:Union|union]], [[Reference:Intersection|intersection]], [[Reference:Difference|difference]], and [[Reference:Merge|merge]]. CSG objects can be composed of primitives or other CSG objects to create more, and more complex shapes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inside and Outside===&lt;br /&gt;
&amp;lt;p&amp;gt;Most shape primitives, like spheres, boxes and blobs divide the world into&lt;br /&gt;
two regions. One region is inside the object and one is outside. Given any&lt;br /&gt;
point in space you can say it is either inside or outside any particular&lt;br /&gt;
primitive object. Well, it could be exactly on the surface but this case is&lt;br /&gt;
rather hard to determine due to numerical problems.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Even planes have an inside and an outside. By definition, the surface normal&lt;br /&gt;
of the plane points towards the outside of the plane. You should note that&lt;br /&gt;
triangles cannot be used as solid objects in CSG since they have no well defined inside and outside. Triangle-based shapes (&amp;lt;code&amp;gt;mesh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mesh2&amp;lt;/code&amp;gt;) can only be used in CSG when they are closed objects and have an inside vector specified. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; Although the &amp;lt;code&amp;gt;triangle&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;bicubic_patch&amp;lt;/code&amp;gt; and some other shapes have no well defined inside and outside, they have a front- and backside which makes it possible to use a texture on the front side and an &amp;lt;code&amp;gt;interior_texture&amp;lt;/code&amp;gt; on the back side.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
CSG uses the concepts of inside and outside to combine shapes together as&lt;br /&gt;
explained in the following sections.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Imagine you have two objects that partially overlap like shown in the figure&lt;br /&gt;
below. Four different areas of points can be distinguished: points that are&lt;br /&gt;
neither in object &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; nor in object &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;, points that&lt;br /&gt;
are in object &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; but not in object &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;, points that&lt;br /&gt;
are not in object &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; but in object &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; and last not&lt;br /&gt;
least points that are in object &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; and object &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;centered&amp;quot; width=&amp;quot;660x&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    [[Image:RefImgObjoverl.gif|center|640px&amp;lt;!--center---&amp;gt;]]&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&lt;br /&gt;
    &amp;lt;p class=&amp;quot;caption&amp;quot;&amp;gt;Two overlapping objects.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Keeping this in mind it will be quite easy to understand how the CSG&lt;br /&gt;
operations work.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
When using CSG it is often useful to invert an object so that it will be&lt;br /&gt;
inside-out. The appearance of the object is not changed, just the way that&lt;br /&gt;
POV-Ray perceives it. When the &amp;lt;code&amp;gt;inverse&amp;lt;/code&amp;gt; keyword is used the &amp;lt;em&amp;gt;&lt;br /&gt;
inside&amp;lt;/em&amp;gt; of the shape is flipped to become the &amp;lt;em&amp;gt; outside&amp;lt;/em&amp;gt; and vice&lt;br /&gt;
versa.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The inside/outside distinction is not important for a &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt;, but is important for &amp;lt;code&amp;gt;intersection&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;difference&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;merge&amp;lt;/code&amp;gt;. Therefore any objects may be combined using &amp;lt;code&amp;gt;union&amp;lt;/code&amp;gt; but only solid objects, i.e. objects that have a well-defined interior can be used in the other kinds of CSG. The objects described in&lt;br /&gt;
[[Reference:Finite Patch Primitives|Finite Patch Primitives]] have no well defined inside/outside. All objects described in the sections [[Reference:Finite Solid Primitives|Finite Solid Primitives]] and [[Reference:Infinite Solid Primitives|Infinite Solid Primitives]].&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
</feed>