Dyson rings forming a stable Dyson swarm, but making it look as similar to a Dyson sphere and Niven ring as possible. Individual objects are unrealistically large to show their shape. Each ring can be replaced by multiple rings in
this way
(see also).
For a stable orbit a ring can be of individual objects, or like this to save on thrusters:
Date
Source
Google images -> brain -> Povray 3.6 using included polyhedron file
And I do not want to see any discussion about how many light a swarm can catch,
at least this image suggests all.
Licensing
Public domainPublic domainfalsefalse
This work has been released into the public domain by its author, Arnero. This applies worldwide. In some countries this may not be legally possible; if so: Arnero grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
// Persistence Of Vision raytracer version 3.5 sample file.
// By Chris Young
// This image contains an example of every shape from SHAPES2.INC
//
// -w320 -h240
// -w800 -h600 +a0.3
#version 3.1;
global_settings { assumed_gamma 2.2 }
#include "colors.inc"
#include "shapes.inc"
#include "shapes2.inc"
// #include "stars.inc"
// place all settings of globally influenced features here
global_settings {
// [GLOBAL ITEM(S)]
// used in global_settings, sets image gamma in relation to display gamma
assumed_gamma 2.0
}
/*
#declare Starfield2 =
texture {
pigment {
granite
color_map {
[ 0.000 0.270 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.270 0.285 color rgb <.5,.5,.4> color rgb <.8,.8,.4> ]
[ 0.285 0.470 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.470 0.485 color rgb <.4,.4,.5> color rgb <.4,.4,.8> ]
[ 0.485 0.680 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.680 0.695 color rgb <.5,.4,.4> color rgb <.8,.4,.4> ]
[ 0.695 0.880 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
[ 0.880 0.895 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ]
[ 0.895 1.000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ]
}
turbulence 0.8
sine_wave
scale 10 //.5
}
finish { diffuse 0 ambient 1.4 }
}
plane {
z, 10
texture{Starfield2} // put the right arrray name here !!
}
*/
#declare R1 = seed(0); // initialize random number streams
#declare R2 = seed(12345);
#// Create 10 balls along X axis, from 0 to 9
#declare BallCount = 0;
#while (BallCount < 1000)
// the rand() function creates a reproducible sequence
// of pseudo-random numbers between 0.0 and 1.0
// place sphere with random radius at random position
// use different random number streams for position and radius
sphere { <(rand(R1)-0.5)*12 , (rand(R1)-0.5)*14 ,13>, rand(R2)/40
//,0,0>,
#declare re00=< rand(R1), rand(R1), rand(R1)>;
pigment{// rgb - Red Green Blue color shortcut
color rgb re00/max(re00.x,re00.y,re00.z)
}
finish { diffuse 0 ambient 1.4 }
}
#declare BallCount = BallCount+1; // increment our counter
#end
camera {
location <0, 0, -30>/8
direction <0, 0, 1.5>
look_at <0, 0, 0>
up <1, 0, 0>
right < 0, 4/3 ,0 >
}
light_source {<800, 200, -1000> color Red*0.6}
light_source {<-800, 200, -1000> color Green*0.6}
light_source {<0, -200, -1000> color Blue*0.6}
light_source { <0, 0, -0> color White*1.4
// put this inside a light_source to give it a visible appearance
looks_like { sphere { 0, 0.1 pigment { White*10 } } }
}
#declare Icosahedron =
intersection
{plane {-z, 1 rotate <52.6625, 0, 0>}
plane {-z, 1 rotate <52.6625, -72, 0>}
plane {-z, 1 rotate <52.6625, -144, 0>}
plane {-z, 1 rotate <52.6625, -216, 0>}
plane {-z, 1 rotate <52.6625, -288, 0>}
plane {-z, 1 rotate <10.8125, 0, 0>}
plane {-z, 1 rotate <10.8125, -72, 0>}
plane {-z, 1 rotate <10.8125, -144, 0>}
plane {-z, 1 rotate <10.8125, -216, 0>}
plane {-z, 1 rotate <10.8125, -288, 0>}
plane {-z, 1 rotate <-52.6625, -36, 0>}
plane {-z, 1 rotate <-52.6625, -108, 0>}
plane {-z, 1 rotate <-52.6625, -180, 0>}
plane {-z, 1 rotate <-52.6625, -252, 0>}
plane {-z, 1 rotate <-52.6625, -324, 0>}
plane {-z, 1 rotate <-10.8125, -36, 0>}
plane {-z, 1 rotate <-10.8125, -108, 0>}
plane {-z, 1 rotate <-10.8125, -180, 0>}
plane {-z, 1 rotate <-10.8125, -252, 0>}
plane {-z, 1 rotate <-10.8125, -324, 0>}
bounded_by {sphere {0, 1.2585}}
}
/*
object { Icosahedron
pigment {Magenta}
translate <2, 1.3, 2>
}
*/
// note that #declare of float, vector and color require semicolon at the end
#declare Dyson_Ring =
// CSG difference, subtract intersections of shapes 2...N from Shape1
difference {
// create a sphere shape
sphere {
<0, 0, 0> // center of sphere <X Y Z>
1.0 // radius of sphere
// scale <1,2,1> // <= Note: Spheres can become ellipses by uneven scaling
}
// Capped Cylinder, closed [or open ended]
// cylinder { <END1>, <END2>, RADIUS [open] }
// END1 = coord of one end of cylinder
// END2 = coord of other end
// RADIUS = size of cylinder
// open = if present, cylinder is hollow, else capped
cylinder {
-1.1*z, +1.1*z, 0.988
// open
}
// note that #declare of float, vector and color require semicolon at the end
#declare k=0;
#while (k < 180)
box { <-0.005, -1.1, -1.1>, <0.005, 1.1, 1.1>
// rotate shape or texture around <0 0 0>, relative to current orientation
// example: rotate 30*x
rotate <0, 0, k> // <dX, dY, dZ> (in degrees)
#declare k = k+10; // increment our counter
}
#end
bounded_by {sphere {0, 1.01}}
}
object { Dyson_Ring pigment {White} rotate <52.6625, 0, 0> scale 1.00}
object { Dyson_Ring pigment {White} rotate <52.6625, -72, 0> scale 1.01}
object { Dyson_Ring pigment {White} rotate <52.6625, -144, 0> scale 1.02}
object { Dyson_Ring pigment {White} rotate <52.6625, -216, 0> scale 1.03}
object { Dyson_Ring pigment {White} rotate <52.6625, -288, 0> scale 1.04}
object { Dyson_Ring pigment {White} rotate <10.8125, 0, 0> scale 1.05}
object { Dyson_Ring pigment {White} rotate <10.8125, -72, 0> scale 1.06}
object { Dyson_Ring pigment {White} rotate <10.8125, -144, 0> scale 1.07}
object { Dyson_Ring pigment {White} rotate <10.8125, -216, 0> scale 1.08}
object { Dyson_Ring pigment {White} rotate <10.8125, -288, 0> scale 1.09}
Captions
Add a one-line explanation of what this file represents