<?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%3AIsosurface</id>
	<title>Reference:Isosurface - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=Reference%3AIsosurface"/>
	<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;action=history"/>
	<updated>2026-04-04T06:00:58Z</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:Isosurface&amp;diff=9248&amp;oldid=prev</id>
		<title>Jholsenback: version changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=9248&amp;oldid=prev"/>
		<updated>2017-06-30T08:47:45Z</updated>

		<summary type="html">&lt;p&gt;version changes&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 08:47, 30 June 2017&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-l8&quot; &gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;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;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;{{New}} in version 3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;7.1 &lt;/del&gt;a &amp;lt;code&amp;gt;potential&amp;lt;/code&amp;gt; pattern has been added to define a pattern based on the &amp;lt;em&amp;gt;potential&amp;lt;/em&amp;gt; field of a &amp;lt;code&amp;gt;blob&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; object. See also: [[Reference:Potential Pattern|Potential Pattern]].&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;{{New}} in version 3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;8 &lt;/ins&gt;a &amp;lt;code&amp;gt;potential&amp;lt;/code&amp;gt; pattern has been added to define a pattern based on the &amp;lt;em&amp;gt;potential&amp;lt;/em&amp;gt; field of a &amp;lt;code&amp;gt;blob&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; object. See also: [[Reference:Potential Pattern|Potential Pattern]].&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;&amp;lt;p&amp;gt;The syntax basics are as follows:&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;The syntax basics are as follows:&amp;lt;/p&amp;gt;&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-l123&quot; &gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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 class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The current implementation has a &amp;lt;em&amp;gt;limit&amp;lt;/em&amp;gt; of 10 &amp;lt;em&amp;gt;intersections&amp;lt;/em&amp;gt; in all cases.&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 class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The current implementation has a &amp;lt;em&amp;gt;limit&amp;lt;/em&amp;gt; of 10 &amp;lt;em&amp;gt;intersections&amp;lt;/em&amp;gt; in all cases.&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&amp;gt;By default, the inside of an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; is defined as the set of all points inside the &amp;lt;code&amp;gt;contained_by&amp;lt;/code&amp;gt; shape where the function values are below the threshold. {{New}} in version 3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;7.1 &lt;/del&gt;this can be changed via the &amp;lt;code&amp;gt;polarity&amp;lt;/code&amp;gt; keyword. Specifying a &amp;lt;em&amp;gt;positive&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; will instead cause function values &amp;lt;em&amp;gt;above&amp;lt;/em&amp;gt; the threshold to be considered inside. Specifying a &amp;lt;em&amp;gt;negative&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt; will give the default behavior.&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;By default, the inside of an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; is defined as the set of all points inside the &amp;lt;code&amp;gt;contained_by&amp;lt;/code&amp;gt; shape where the function values are below the threshold. {{New}} in version 3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;8 &lt;/ins&gt;this can be changed via the &amp;lt;code&amp;gt;polarity&amp;lt;/code&amp;gt; keyword. Specifying a &amp;lt;em&amp;gt;positive&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; will instead cause function values &amp;lt;em&amp;gt;above&amp;lt;/em&amp;gt; the threshold to be considered inside. Specifying a &amp;lt;em&amp;gt;negative&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt; will give the default behavior.&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:Isosurface&amp;diff=9089&amp;oldid=prev</id>
		<title>Jholsenback: addition notations</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=9089&amp;oldid=prev"/>
		<updated>2016-12-20T11:30:18Z</updated>

		<summary type="html">&lt;p&gt;addition notations&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 11:30, 20 December 2016&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-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&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:keyword, function}}&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:keyword, function}}&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;{{#indexentry:keyword, polarity}}    &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:keyword, polarity}}    &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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;gt;. The syntax basics are as follows:&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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;{{New}} in version 3.7.1 a &amp;lt;code&amp;gt;potential&amp;lt;/code&amp;gt; pattern has been added to define a pattern based on the &amp;lt;em&amp;gt;potential&amp;lt;/em&amp;gt; field of a &amp;lt;code&amp;gt;blob&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; object. See also: [[Reference:Potential Pattern|Potential Pattern]].&amp;lt;/p&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/ins&gt;The syntax basics are as follows:&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;&amp;lt;pre&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;pre&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:Isosurface&amp;diff=9055&amp;oldid=prev</id>
		<title>Jholsenback: updates</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=9055&amp;oldid=prev"/>
		<updated>2016-12-18T13:38:20Z</updated>

		<summary type="html">&lt;p&gt;updates&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 13:38, 18 December 2016&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-l4&quot; &gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&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:keyword, isosurface}}  &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:keyword, isosurface}}  &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;{{#indexentry:function, isosurface}}&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:function, isosurface}}&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;{{#indexentry:keyword, function}}    &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;{{#indexentry:keyword, function&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{#indexentry:keyword, polarity&lt;/ins&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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;gt;. The syntax basics are as follows:&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;See the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; [[Documentation:Tutorial Section 3.2#Isosurface Object|tutorial]] for more about working with &amp;lt;em&amp;gt;isosurfaces&amp;lt;/em&amp;gt;. The syntax basics are as follows:&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot; &gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&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;   [open]&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;   [open]&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;   [max_trace INTEGER] | [all_intersections]&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;   [max_trace INTEGER] | [all_intersections]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  [polarity on | +VALUE | off | -VALUE] &lt;/ins&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;   [OBJECT_MODIFIERS...]&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;   [OBJECT_MODIFIERS...]&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;   }&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;   }&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-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&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;accuracy     : 0.001&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;accuracy     : 0.001&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;max_gradient : 1.1&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;max_gradient : 1.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;polarity     : off&lt;/ins&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;/pre&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;/pre&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot; &gt;Line 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 119:&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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 class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The current implementation has a &amp;lt;em&amp;gt;limit&amp;lt;/em&amp;gt; of 10 &amp;lt;em&amp;gt;intersections&amp;lt;/em&amp;gt; in all cases.&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 class=&amp;quot;Note&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Note:&amp;lt;/strong&amp;gt; The current implementation has a &amp;lt;em&amp;gt;limit&amp;lt;/em&amp;gt; of 10 &amp;lt;em&amp;gt;intersections&amp;lt;/em&amp;gt; in all cases.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;p&amp;gt;By default, the inside of an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; is defined as the set of all points inside the &amp;lt;code&amp;gt;contained_by&amp;lt;/code&amp;gt; shape where the function values are below the threshold. {{New}} in version 3.7.1 this can be changed via the &amp;lt;code&amp;gt;polarity&amp;lt;/code&amp;gt; keyword. Specifying a &amp;lt;em&amp;gt;positive&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; will instead cause function values &amp;lt;em&amp;gt;above&amp;lt;/em&amp;gt; the threshold to be considered inside. Specifying a &amp;lt;em&amp;gt;negative&amp;lt;/em&amp;gt; setting or &amp;lt;code&amp;gt;off&amp;lt;/code&amp;gt; will give the default behavior.&lt;/ins&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:Isosurface&amp;diff=8890&amp;oldid=prev</id>
		<title>Jholsenback: restored previous formatting in one area, minor grammar in others</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=8890&amp;oldid=prev"/>
		<updated>2016-12-08T15:22:51Z</updated>

		<summary type="html">&lt;p&gt;restored previous formatting in one area, minor grammar in others&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 15:22, 8 December 2016&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-l43&quot; &gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&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:threshold, isosurface}}&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:threshold, isosurface}}&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;{{#indexentry:keyword, threshold}}&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:keyword, threshold}}&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;Using &amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; specifies how much strength, or substance to give the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt;. The surface appears where the &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; value equals the &amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; value. See above for default value.&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;Using &amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; specifies how much strength, or substance to give the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt;. The surface appears where the &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; value equals the &amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; value. See above for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the listed &lt;/ins&gt;default value.&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;{{#indexentry:accuracy, isosurface}}&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:accuracy, isosurface}}&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;{{#indexentry:keyword, accuracy}}  &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:keyword, accuracy}}  &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;The &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; resolver uses a recursive subdivision method. This subdivision goes on until the length of the interval where POV-Ray finds a surface point is less than the specified &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt;. See above for default value. Be aware that smaller values produce more accurate surfaces, but takes longer to render.&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;The &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; resolver uses a recursive subdivision method. This subdivision goes on until the length of the interval where POV-Ray finds a surface point is less than the specified &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt;. See above for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the listed &lt;/ins&gt;default value. Be aware that smaller values produce more accurate surfaces, but takes longer to render.&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;{{#indexentry:max_gradient, isosurface}}&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:max_gradient, isosurface}}&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;{{#indexentry:keyword, max_gradient}}  &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:keyword, max_gradient}}  &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;POV-Ray can find the first intersecting point between a ray and the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; of any continuous function if the maximum gradient of the function is known. To that end you can specify a &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; for the function. See above for default value. When the &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; used to find the intersecting point is too high, the render slows down considerably. Conversely, when it is too low, artifacts or holes may appear on the isosurface, and in some cases when it is way too low, the surface does not show at all. While rendering the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; POV-Ray &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;records &lt;/del&gt;the found gradient values and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;prints &lt;/del&gt;a warning &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(seen below) &lt;/del&gt;if these values are either higher or much lower than the specified &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; value&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/del&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;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;POV-Ray can find the first intersecting point between a ray and the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; of any continuous function if the maximum gradient of the function is known. To that end you can specify a &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; for the function. See above for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the listed &lt;/ins&gt;default value. When the &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; used to find the intersecting point is too high, the render slows down considerably. Conversely, when it is too low, artifacts or holes may appear on the isosurface, and in some cases when it is way too low, the surface does not show at all. While rendering the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; POV-Ray &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;stores &lt;/ins&gt;the found gradient values and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;issues &lt;/ins&gt;a warning&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;if these values are either higher or much lower than the specified &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; value&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;:&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;&amp;lt;pre&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;pre&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;Warning: The maximum gradient found was 5.257, but max_gradient of the isosurface was set to 5.000.&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;Warning: The maximum gradient found was 5.257, but max_gradient of&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 isosurface may contain holes! Adjust max_gradient to get a proper rendering of the isosurface.&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 isosurface was set to 5.000. The isosurface may contain holes!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;Adjust max_gradient to get a proper rendering of the isosurface.&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;/pre&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;/pre&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;&amp;lt;pre&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;pre&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;Warning: The maximum gradient found was 5.257, but max_gradient of the isosurface was set to 7.000.&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;Warning: The maximum gradient found was 5.257, but max_gradient of&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;Adjust max_gradient to get a faster rendering of the isosurface.&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 isosurface was set to 7.000. Adjust max_gradient to&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&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;get a faster rendering of the isosurface.&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;/pre&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;/pre&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;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=8889&amp;oldid=prev</id>
		<title>Jholsenback: closing note clarification</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=8889&amp;oldid=prev"/>
		<updated>2016-12-08T00:02:09Z</updated>

		<summary type="html">&lt;p&gt;closing note clarification&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 00:02, 8 December 2016&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-l113&quot; &gt;Line 113:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 113:&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:keyword, all_intersections}}&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:keyword, all_intersections}}&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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;&amp;lt;em&amp;gt;Isosurfaces&amp;lt;/em&amp;gt; can be used in CSG shapes since they are solid finite objects - if not finite by themselves, they are through the cross section with the container. By default POV-Ray searches only for the first surface which the ray intersects. However, when using an &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Consequently, the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; followed by an integer value, must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead. With &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&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; The &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;max_trace&lt;/del&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;value is set to the maximum supported value &lt;/del&gt;of 10 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when &lt;/del&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;all_intersections&lt;/del&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is used&lt;/del&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;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; The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;current implementation has a &lt;/ins&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;em&lt;/ins&gt;&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;limit&lt;/ins&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;em&lt;/ins&gt;&amp;gt; of 10 &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;em&lt;/ins&gt;&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;intersections&lt;/ins&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;em&lt;/ins&gt;&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in all cases&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:Isosurface&amp;diff=8888&amp;oldid=prev</id>
		<title>Jholsenback: cleanup and corrections</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=8888&amp;oldid=prev"/>
		<updated>2016-12-07T23:49:02Z</updated>

		<summary type="html">&lt;p&gt;cleanup and corrections&lt;/p&gt;
&lt;a href=&quot;https://wiki.povray.org/content?title=Reference:Isosurface&amp;amp;diff=8888&amp;amp;oldid=6906&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=6906&amp;oldid=prev</id>
		<title>Jholsenback: 1 revision: Reference Migration Initial Load</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=6906&amp;oldid=prev"/>
		<updated>2012-03-15T19:06:26Z</updated>

		<summary type="html">&lt;p&gt;1 revision: Reference Migration Initial Load&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 19:06, 15 March 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:Isosurface&amp;diff=6905&amp;oldid=prev</id>
		<title>Jholsenback: 1 revision: Initial Load (TF)</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Reference:Isosurface&amp;diff=6905&amp;oldid=prev"/>
		<updated>2012-03-11T22:26:58Z</updated>

		<summary type="html">&lt;p&gt;1 revision: Initial Load (TF)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Objects]]&lt;br /&gt;
[[Category:Finite Solid Primitives]]&lt;br /&gt;
{{#indexentry:isosurface, keyword}}&lt;br /&gt;
{{#indexentry:keyword, isosurface}} &lt;br /&gt;
{{#indexentry:function, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, function}}   &lt;br /&gt;
&amp;lt;p&amp;gt;Details about many of the things that can be done with the isosurface object are &lt;br /&gt;
discussed in the isosurface tutorial section. Below you will only find the syntax basics:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
isosurface {&lt;br /&gt;
  function { FUNCTION_ITEMS }&lt;br /&gt;
  [contained_by { SPHERE | BOX }]&lt;br /&gt;
  [threshold FLOAT_VALUE]&lt;br /&gt;
  [accuracy FLOAT_VALUE]&lt;br /&gt;
  [max_gradient FLOAT_VALUE]&lt;br /&gt;
  [evaluate P0, P1, P2]&lt;br /&gt;
  [open]&lt;br /&gt;
  [max_trace INTEGER] | [all_intersections]&lt;br /&gt;
  [OBJECT_MODIFIERS...]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:default values, isosurface}}&lt;br /&gt;
&amp;lt;p&amp;gt;Isosurface default values:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
contained_by : box{-1,1}&lt;br /&gt;
threshold    : 0.0&lt;br /&gt;
accuracy     : 0.001&lt;br /&gt;
max_gradient : 1.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;function { ... }&amp;lt;/code&amp;gt; This must be specified and be the first item of the&lt;br /&gt;
&amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. Here you place all the mathematical functions that&lt;br /&gt;
will describe the surface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:contained_by, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, contained_by}}&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;contained_by { ... }&amp;lt;/code&amp;gt; The &amp;lt;code&amp;gt;contained_by&amp;lt;/code&amp;gt; &amp;lt;em&amp;gt;object&amp;lt;/em&amp;gt; limits the&lt;br /&gt;
area where POV-Ray samples for the surface of the function. This container can either be a&lt;br /&gt;
sphere or a box, both of which use the standard POV-Ray syntax. If not specified a&lt;br /&gt;
&amp;lt;code&amp;gt;box {&amp;amp;lt;-1,-1,-1&amp;amp;gt;, &amp;amp;lt;1,1,1&amp;amp;gt;}&amp;lt;/code&amp;gt; will be used as default.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
contained_by { sphere { CENTER, RADIUS } }&lt;br /&gt;
contained_by { box { CORNER1, CORNER2 } }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:threshold, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, threshold}}&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; This specifies how much strength, or substance to give the&lt;br /&gt;
&amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt;. The surface appears where the &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; value&lt;br /&gt;
equals the &amp;lt;code&amp;gt;threshold&amp;lt;/code&amp;gt; value. The default threshold is 0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;function = threshold&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:accuracy, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, accuracy}} &lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt; The isosurface finding method is a recursive subdivision method.&lt;br /&gt;
This subdivision goes on until the length of the interval where POV-Ray finds a surface&lt;br /&gt;
point is less than the specified &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt;. The default value is 0.001.&lt;br /&gt;
&amp;lt;br&amp;gt;Smaller values produces more accurate surfaces, but it takes longer to render.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:max_gradient, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, max_gradient}} &lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; POV-Ray can find the first intersecting point between a ray and&lt;br /&gt;
the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; of any continuous function if the maximum gradient of the function&lt;br /&gt;
is known.  Therefore you can specify a &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; for the function.&lt;br /&gt;
The default value is 1.1.  When the &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; used to find the&lt;br /&gt;
intersecting point is too high, the render slows down considerably. When it is too&lt;br /&gt;
low, artifacts or holes may appear on the isosurface. When it is way too low, the surface&lt;br /&gt;
does not show at all.  While rendering the isosurface POV-Ray records the found gradient values&lt;br /&gt;
and prints a warning if these values are higher or much lower than the specified&lt;br /&gt;
&amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: The maximum gradient found was 5.257, but max_gradient of&lt;br /&gt;
the isosurface was set to 5.000. The isosurface may contain holes!&lt;br /&gt;
Adjust max_gradient to get a proper rendering of the isosurface.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: The maximum gradient found was 5.257, but max_gradient of&lt;br /&gt;
the isosurface was set to 7.000. Adjust max_gradient to&lt;br /&gt;
get a faster rendering of the isosurface.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:evaluate, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, evaluate}}&lt;br /&gt;
{{#indexentry:dynamic max_gradient}}&lt;br /&gt;
&amp;lt;p&amp;gt;For best performance you should specify a value close to the real maximum gradient.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; POV-Ray can also dynamically adapt the used max_gradient.&lt;br /&gt;
To activate this technique you have to specify the &amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; keyword&lt;br /&gt;
followed by three parameters:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;P0: the minimum max_gradient in the estimation process,&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;P1: an over-estimating factor. This means that the max_gradient is &lt;br /&gt;
multiplied by the P1 parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;P2: an attenuation parameter (1 or less)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In this case POV-Ray starts with the &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; value &amp;lt;code&amp;gt;P0&amp;lt;/code&amp;gt;&lt;br /&gt;
and dynamically changes it during the render using &amp;lt;code&amp;gt;P1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;P2&amp;lt;/code&amp;gt;.&lt;br /&gt;
In the evaluation process, the P1 and P2 parameters are used in&lt;br /&gt;
quadratic functions. This means that over-estimation increases more&lt;br /&gt;
rapidly with higher values and attenuation more rapidly with lower&lt;br /&gt;
values. Also with dynamic &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt;, there can be artifacts and holes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If you are unsure what values to use, start a render without &amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; to get&lt;br /&gt;
a value for &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt;. Now you can use it with &amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; like this:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P0 : found max_gradient * min_factor&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;min_factor&amp;lt;/em&amp;gt; being a float between 0 and 1 to reduce the&lt;br /&gt;
&amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; to a &amp;lt;em&amp;gt;minimum max_gradient&amp;lt;/em&amp;gt;. The ideal value for P0&lt;br /&gt;
would be the average of the found max_gradients, but we do not&lt;br /&gt;
have access to that information.&amp;lt;br&amp;gt;&lt;br /&gt;
A good starting point is 0.6 for the min_factor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P1 : sqrt(found max_gradient/(found max_gradient * min_factor))&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;min_factor&amp;lt;/em&amp;gt; being the same as used in P0&lt;br /&gt;
this will give an over-estimation factor of more than 1, based&lt;br /&gt;
on your minimum max_gradient and the found max_gradient.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P2 : 1 or less&amp;lt;br&amp;gt;&lt;br /&gt;
0.7 is a good starting point.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
When there are artifacts / holes in the isosurface, increase the min_factor and / or P2 a bit.&lt;br /&gt;
Example: when the first run gives a found max_gradient of 356, start with&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#declare Min_factor= 0.6;&lt;br /&gt;
isosurface {&lt;br /&gt;
  ...&lt;br /&gt;
  evaluate 356*Min_factor,  sqrt(356/(356*Min_factor)),  0.7&lt;br /&gt;
  //evaluate 213.6, 1.29, 0.7&lt;br /&gt;
  ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This method is only an approximation of what happens internally, but it&lt;br /&gt;
gives faster rendering speeds with the majority of isosurfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:open, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, open}} &lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; When the isosurface is not fully contained within the contained_by object,&lt;br /&gt;
there will be a cross section. Where this happens, you will see the surface of the container.&lt;br /&gt;
With the &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; keyword, these cross section surfaces are removed. The inside of the isosurface&lt;br /&gt;
becomes visible.&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; Using &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; slows down the render speed, and it is not recommended to use it with CSG operations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#indexentry:max_trace, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, max_trace}} &lt;br /&gt;
{{#indexentry:all_intersections, isosurface}}&lt;br /&gt;
{{#indexentry:keyword, all_intersections}}&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; Isosurfaces can be used in CSG shapes since they are solid finite objects&lt;br /&gt;
- if not finite by themselves, they are through the cross section with the container.&lt;br /&gt;
&amp;lt;br&amp;gt;By default POV-Ray searches only for the first surface which the ray intersects. But when using an&lt;br /&gt;
&amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; in CSG operations, the other surfaces must also be found. Therefore, &lt;br /&gt;
the keyword &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; must be added to the &amp;lt;code&amp;gt;isosurface&amp;lt;/code&amp;gt; statement. &lt;br /&gt;
It must be followed by an integer value. To check for all surfaces, use the keyword &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&amp;lt;br&amp;gt;With &amp;lt;code&amp;gt;all_intersections&amp;lt;/code&amp;gt; POV-Ray keeps looking until all surfaces are found.&lt;br /&gt;
With a &amp;lt;code&amp;gt;max_trace&amp;lt;/code&amp;gt; it only checks until that number is reached.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
</feed>