Image:Dyson rings donut.PNG
From Wikipedia, the free encyclopedia
Size of this preview: 800 × 600 pixels
Full resolution (2,400 × 1,800 pixels, file size: 941 KB, MIME type: image/png)
| | This is a file from the Wikimedia Commons. The description on its description page there is shown below.
|
[edit] Summary
| Description |
Dyson sphere, Dyson ring, Niven ring, Dyson swarm in DONUT version, folding combo |
|---|---|
| Source |
self-made. Donut idea from [1] |
| Date |
2007-08-12 |
| Author | |
| Permission (Reusing this image) |
see below |
[edit] Licensing
| I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide. In case this is not legally possible: Afrikaans | Alemannisch | Aragonés | العربية | Asturianu | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Eʋegbe | Ελληνικά | English | Español | Esperanto | Euskara | Estremeñu | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Kurdî / كوردی | Latina | Lietuvių | Latviešu | Magyar | Македонски | Bahasa Melayu | Nederlands | Norsk (bokmål) | Norsk (nynorsk) | 日本語 | Polski | Português | Ripoarisch | Română | Русский | Shqip | Slovenčina | Slovenščina | Српски / Srpski | Svenska | ไทย | Tagalog | Türkçe | Українська | Tiếng Việt | Walon | 中文(简体) | 中文(繁體) | zh-yue-hant | +/- |
//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>
}
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | 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 }} ) |

