<?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=User%3AWfpokorny%2FDensityFile%2FBlackHoleLatheGreebling</id>
	<title>User:Wfpokorny/DensityFile/BlackHoleLatheGreebling - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=User%3AWfpokorny%2FDensityFile%2FBlackHoleLatheGreebling"/>
	<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;action=history"/>
	<updated>2026-04-03T21:42:57Z</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=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=9366&amp;oldid=prev</id>
		<title>Wfpokorny: Changed 3.7.1 reference to 3.8.</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=9366&amp;oldid=prev"/>
		<updated>2018-01-04T18:43:46Z</updated>

		<summary type="html">&lt;p&gt;Changed 3.7.1 reference to 3.8.&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 18:43, 4 January 2018&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-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&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;#version 3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;71&lt;/del&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;#version 3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;8&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;global_settings {&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;global_settings {&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;     assumed_gamma 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;     assumed_gamma 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wfpokorny</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=8685&amp;oldid=prev</id>
		<title>Wfpokorny: Making note more accurate.</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=8685&amp;oldid=prev"/>
		<updated>2016-09-07T12:12:52Z</updated>

		<summary type="html">&lt;p&gt;Making note more accurate.&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:12, 7 September 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-l100&quot; &gt;Line 100:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 100:&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;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;'''Note.''' The reason the above code works - that contraction stops on different radii and doesn't collapse to nothing  - is the black_hole &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;warp &lt;/del&gt;movement is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;clamped &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;half &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;radius of &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;black_hole&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;'''Note.''' The reason the above code works - that contraction stops on different radii and doesn't collapse to nothing  - is the black_hole &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;point &lt;/ins&gt;movement is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;limited &lt;/ins&gt;to the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;original distance from &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;point to the hole's center&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wfpokorny</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=8662&amp;oldid=prev</id>
		<title>Wfpokorny: Initial black_hole lathe greebling example page.</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=User:Wfpokorny/DensityFile/BlackHoleLatheGreebling&amp;diff=8662&amp;oldid=prev"/>
		<updated>2016-08-18T16:43:05Z</updated>

		<summary type="html">&lt;p&gt;Initial black_hole lathe greebling example page.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
[[Image:Df3_GreebleDf3IsoDiag.png|center|frame|Density_file as isosurface with lathe greebling via black_hole warps.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;On the left a density_file isosurface based upon a df3 where the unit cube diagonals all have values of 0.9. On the right is the greeble-lathe effect accomplished with three black_hole warps repeating at various diagonal distances. The code in full is:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#version 3.71;&lt;br /&gt;
global_settings {&lt;br /&gt;
    assumed_gamma 1&lt;br /&gt;
    ambient_light srgb &amp;lt;1,1,1&amp;gt;&lt;br /&gt;
    noise_generator 3&lt;br /&gt;
}&lt;br /&gt;
//------ First create the df3 with 5 deep, 0.0, side padding.&lt;br /&gt;
#include &amp;quot;arrays.inc&amp;quot;&lt;br /&gt;
#declare maxZ=30;&lt;br /&gt;
#declare maxY=30;&lt;br /&gt;
#declare maxX=30;&lt;br /&gt;
#declare Ary=array[maxX][maxY][maxZ]&lt;br /&gt;
#declare midX=int(maxX/2);&lt;br /&gt;
#declare midY=int(maxY/2);&lt;br /&gt;
#declare midZ=int(maxZ/2);&lt;br /&gt;
#declare padMaxX=maxX-6; // Start padded at 5 end padMaxX&lt;br /&gt;
#declare padMaxY=maxY-6;&lt;br /&gt;
#declare padMaxZ=maxZ-6;&lt;br /&gt;
//-- First initialize all voxels to 0.0&lt;br /&gt;
#for (Z,0,maxZ-1)&lt;br /&gt;
  #for (Y,0,maxY-1)&lt;br /&gt;
    #for (X,0,maxX-1)&lt;br /&gt;
       #declare Ary[X][Y][Z]=0.0;&lt;br /&gt;
    #end&lt;br /&gt;
  #end&lt;br /&gt;
#end&lt;br /&gt;
//-- Set the cube diagonal values to 0.9 inside outer padding.&lt;br /&gt;
#for (X,5,padMaxX)&lt;br /&gt;
   #declare Ary[X][X][X]=0.9;&lt;br /&gt;
#end&lt;br /&gt;
#declare Df3FileName=&amp;quot;GreebleDf3IsoDiag.df3&amp;quot;;&lt;br /&gt;
ARRAYS_WriteDF3(Ary,Df3FileName,8)&lt;br /&gt;
//---&lt;br /&gt;
&lt;br /&gt;
#declare Color_2 = srgbft &amp;lt;0.65,0.65,0.65,0,0&amp;gt;;&lt;br /&gt;
#declare Color_3 = srgbft &amp;lt;0.8,0.8,0.8,0,0&amp;gt;;&lt;br /&gt;
#declare ColorMap_CloudyGraySky2 = color_map {&lt;br /&gt;
    [ 0 Color_2 ]&lt;br /&gt;
    [ 1 Color_3 ]&lt;br /&gt;
}&lt;br /&gt;
#declare Pigment_CloudyGraySky2 = pigment {&lt;br /&gt;
    bozo sine_wave frequency 3.33 turbulence 1.0&lt;br /&gt;
    color_map { ColorMap_CloudyGraySky2 }&lt;br /&gt;
}&lt;br /&gt;
#declare Sky_Sphere00 = sky_sphere {&lt;br /&gt;
    pigment { Pigment_CloudyGraySky2 }&lt;br /&gt;
    emission rgb &amp;lt;1,1,1&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
#declare Camera00 = camera {&lt;br /&gt;
    perspective&lt;br /&gt;
    location &amp;lt;2.1,2.1,-2.101&amp;gt;&lt;br /&gt;
    sky &amp;lt;0,1,0&amp;gt;&lt;br /&gt;
    angle 35&lt;br /&gt;
    right x*(image_width/image_height)&lt;br /&gt;
    look_at &amp;lt;0,0,0&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
#declare White = srgbft &amp;lt;1,1,1,0,0&amp;gt;;&lt;br /&gt;
#declare Light00 = light_source { &amp;lt;250,250,-250&amp;gt;, White }&lt;br /&gt;
&lt;br /&gt;
#declare Fnct00 = function {&lt;br /&gt;
    pattern { density_file df3 &amp;quot;GreebleDf3IsoDiag.df3&amp;quot; interpolate 5&lt;br /&gt;
        warp { black_hole &amp;lt;0,0,0&amp;gt;,0.17 falloff 3.0 strength 5 repeat &amp;lt;0.34,0.34,0.34&amp;gt; }&lt;br /&gt;
        warp { black_hole &amp;lt;0,0,0&amp;gt;,0.15 falloff 3.0 strength 5 repeat &amp;lt;0.30,0.30,0.30&amp;gt; }&lt;br /&gt;
        warp { black_hole &amp;lt;0,0,0&amp;gt;,0.13 falloff 3.0 strength 5 repeat &amp;lt;0.26,0.26,0.26&amp;gt; }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
#declare Fnct01 = function (x,y,z) {&lt;br /&gt;
    0.025-Fnct00(x,y,z)&lt;br /&gt;
}&lt;br /&gt;
#declare Magenta = srgbft &amp;lt;1,0,1,0,0&amp;gt;;&lt;br /&gt;
#declare Iso00 = isosurface {&lt;br /&gt;
    function { Fnct01(x,y,z) }&lt;br /&gt;
    contained_by { box { -0.0+1e-6,1.0-1e-6 } }&lt;br /&gt;
    threshold 0&lt;br /&gt;
    accuracy 0.0005&lt;br /&gt;
    max_gradient 6&lt;br /&gt;
    all_intersections&lt;br /&gt;
    texture {&lt;br /&gt;
      pigment { color Magenta }&lt;br /&gt;
      finish { ambient 0 }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
#declare Object00 = object {&lt;br /&gt;
    Iso00&lt;br /&gt;
    translate -0.5&lt;br /&gt;
    scale 1.7&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---&lt;br /&gt;
sky_sphere { Sky_Sphere00 }&lt;br /&gt;
camera { Camera00 }&lt;br /&gt;
light_source { Light00 }&lt;br /&gt;
object { Object00 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;'''Note.''' The reason the above code works - that contraction stops on different radii and doesn't collapse to nothing  - is the black_hole warp movement is clamped to half the radius of the black_hole.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wfpokorny</name></author>
	</entry>
</feed>