File:Dyson rings donut.PNG
Page contents not supported in other languages.
Tools
Actions
General
In other projects
Appearance
Size of this preview: 800 × 600 pixels. Other resolutions: 320 × 240 pixels | 640 × 480 pixels | 1,024 × 768 pixels | 1,280 × 960 pixels | 2,400 × 1,800 pixels.
Original file (2,400 × 1,800 pixels, file size: 941 KB, MIME type: image/png)
This is a file from the Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
Summary
DescriptionDyson rings donut.PNG | Dyson sphere, Dyson ring, Niven ring, Dyson swarm in DONUT version, folding combo |
Date | |
Source | self-made. Donut idea from [1] |
Author | Arnero |
Licensing
Public domainPublic domainfalsefalse |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |
//Povray #version 3.1; global_settings { assumed_gamma 2.2 } #include "colors.inc" #include "shapes.inc" global_settings { assumed_gamma 2.0 } camera { location <0, 0, -4> direction <0, 0, 1.5> up <0, 1, 0> right < 4/3 , 0 ,0 > } light_source {<800, 300, -1000> color Red*1.2} light_source {<-800, 300, -1000> color Green*1.2} light_source {<0, -900, -1000> color Blue*1.2} //sphere{ <0,0,0>,1 pigment { White } } //Ellipse #declare a=1.0; #declare b=0.998; //0 #declare e=sqrt(a*a-b*b); #declare g=3000; //granularity < 10000 due to SDL speed limit! // macros can have parameters and are useful for 'programming' scenes #macro imper(p) #declare ox=cos(p)*a+e; #declare oy=sin(p)*b; #declare dx=-sin(p)*a; #declare dy=cos(p)*b; #declare l=l-dx*oy+dy*ox; #declare n=sqrt(dx*dx+dy*dy); #end //Calculate whole area under ellipse with the same round off errors as in the second loop #declare l=0; #declare j = 0; #while (j < g) #declare p=j/g*2*pi; imper(p) #declare j = j+1; #end #declare li=l; //store #declare g2=200; #declare la=array[g2]; #declare lc=0; #declare lt=li/2/g2; #declare l=0; #declare j = 0; #while (j < g) #declare lo=l; #declare p=j/g*2*pi; imper(p) //Orbit #while (l>lt) //Das trifft wegen > und nicht >= nicht vor imper() auf #declare p=( (l-lt)/(l-lo)*(j-0.5)+(lt-lo)/(l-lo)*(j+0.5) ) /g *2*pi; #declare la[lc]=p; #declare lc=lc+1; /* sphere { <cos(p)*a+e,sin(p)*b,0>, // NOTE: <0,0,0>, <1,0,0>, <2,0,0>, etc. 0.1 pigment { White } } */ #declare lt=lt+li/g2; #end #declare j = j+1; // increment our counter #end #declare widt0=2*pi/g2*1.08; //17 //Last factor is hack. Is =1 for circular orbit #declare hohe=0.02; //7; #declare band= union{ #declare j = 0; #while (j < lc) #declare p=la[j]; imper(p) #declare widt=0;//sqrt(widt0*widt0-n*n)/n*0.1; /* //Orbit sphere { <ox,oy,0>, // NOTE: <0,0,0>, <1,0,0>, <2,0,0>, etc. 0.01 // pigment { White } } */ #declare j = j+1; // increment our counter #declare p=la[j]; #declare oox=ox; #declare ooy=oy; imper(p) #declare widt=sqrt(widt0*widt0-pow(oox-ox,2)-pow(ooy-oy,2)); #declare ox=ox-dy*widt; #declare oy=oy+dx*widt; /* //Sputnik sphere { <ox,oy,0>, // NOTE: <0,0,0>, <1,0,0>, <2,0,0>, etc. 0.01 // pigment { White } } cylinder{ <oox,ooy,0> <ox,oy,0>, // NOTE: <0,0,0>, <1,0,0>, <2,0,0>, etc. 0.01 // pigment { White } } */ Quad( <ox,oy,hohe>,<oox,ooy,hohe>,<oox,ooy,-hohe>,<ox,oy,-hohe> ) #declare j = j+1; // increment our counter #declare oox=ox; #declare ooy=oy; #declare p=la[mod(j,lc)]; imper(p) /* cylinder{ <oox,ooy,0> <ox,oy,0>, // NOTE: <0,0,0>, <1,0,0>, <2,0,0>, etc. 0.01 // pigment { White } } */ Quad( <ox,oy,hohe>,<oox,ooy,hohe>,<oox,ooy,-hohe>,<ox,oy,-hohe> ) #end } #declare donut= #union{ #declare k=0; #while(k<20) object{band rotate <11,0,k/20*360> } // pigment { White } } //20 #declare k=k+1; #end } /* object{ donut rotate <0,30,0> } */ /* individual panels union{ Quad( <1,-1,0>,<-1,-1,0>,<-1,1,0>,<1,1,0> ) pigment { White } } */ //stars #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) sphere { <(rand(R1)-0.5)*15 , (rand(R1)-0.5)*12 ,13>, rand(R2)/40 #declare re00=< rand(R1), rand(R1), rand(R1)>; pigment{color rgb re00/max(re00.x,re00.y,re00.z)} finish { diffuse 0 ambient 1.4 } } #declare BallCount = BallCount+1; // increment our counter #end light_source { <0, 0, -0> color White*1.4 looks_like { sphere { 0, 0.1 pigment { White*10 } } } } /* replace #declare Dyson_Ring = difference { sphere { <0, 0, 0> // center of sphere <X Y Z> 1.0 // radius of sphere } cylinder {-1.1*z, +1.1*z, 0.988} #declare k=0; #while (k < 180) box { <-0.005, -1.1, -1.1>, <0.005, 1.1, 1.1> rotate <0, 0, k> // <dX, dY, dZ> (in degrees) #declare k = k+10; // increment our counter } #end bounded_by {sphere {0, 1.01}} } */ #declare radi=1.3; //superfluos #declare sca=-0.09; union{ object { donut pigment {White} rotate <52.6625, 0, 0> scale radi*exp(sca*0)} object { donut pigment {White} rotate <52.6625, -72, 0> scale radi*exp(sca*1)} object { donut pigment {White} rotate <52.6625, -144, 0> scale radi*exp(sca*2)} object { donut pigment {White} rotate <52.6625, -216, 0> scale radi*exp(sca*3)} object { donut pigment {White} rotate <52.6625, -288, 0> scale radi*exp(sca*4)} object { donut pigment {White} rotate <10.8125, 0, 0> scale radi*exp(sca*5)} object { donut pigment {White} rotate <10.8125, -72, 0> scale radi*exp(sca*6)} object { donut pigment {White} rotate <10.8125, -144, 0> scale radi*exp(sca*7)} object { donut pigment {White} rotate <10.8125, -216, 0> scale radi*exp(sca*8)} object { donut pigment {White} rotate <10.8125, -288, 0> scale radi*exp(sca*9)} rotate <25,0,0> }
Items portrayed in this file
depicts
12 August 2007
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 09:12, 12 August 2007 | 2,400 × 1,800 (941 KB) | Arnero | {{Information |Description=Dyson sphere, Niven ring, dyson swarm in DONUT version, folding combo |Source=self-made. Donut idea from [http://www.burtleburtle.net/bob/scifi/dyson.html] |Date=2007-08-12 |Author= Arnero }} |
File usage
The following page uses this file:
Retrieved from "https://en.wikipedia.org/wiki/File:Dyson_rings_donut.PNG"