File:Kepler 20 planet system 1 1 1 1.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(1,600 × 500 pixels, file size: 140 KB, MIME type: image/png)

Captions

Captions

Kepler 20 planet system

Summary[edit]

Description
English: Kepler 20 planet system . View of artist.
Date
Source Own work
Author Merikanto

Source of data is Nasa exoplanet archive

https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=PSCompPars

////////////////////////// // // planet system rendering test v 2.0 with POV-Ray 3.8 for linux // // 12.01.2024 v2 rel 0000.0006x1a4 // ////////////////////////////

  1. include "functions.inc"
  2. include "rand.inc"

camera { location <0,0,10>*5 look_at 0 up -3/10

   right -10/10

}

light_source { <-10000,0,10000>*10000 color rgb <1,1,1>*2 }

  1. declare samples1=2;
  1. macro star2(xloc1, yloc1, zloc1,size1,color1, color2)

union {

 sphere {
 0, 1
 pigment { color rgb color2 }
 finish {ambient color2*2}
    scale 0.25
   }
sphere {
 0, 1
 pigment { color rgbf 1 }
 hollow
 interior {
   media {
     emission 10
     method 3
     intervals 2
     samples samples1
    // emission_type 2
    // emission_extinction 2
     density {

// spherical

//function {exp(-sqrt(x*x+y*y+z*z))}

           function { 1/(3000)*pow( sqrt(x*x+y*y+z*z),-4 ) *f_granite(atan(x/y),atan(y/x),atan(z/x))
            *pow( sqrt(x*x+y*y+z*z),-4 )
           }    
               
 //  function {pow(1*f_spherical(x,y,z),4)*0.33 }

// scallop_wave

//    function {pow( (2*(sqrt(x*x+y*y+z*z))) ,-1) } 
     //    function {pow(f_spherical(x,y,z),2)*f_wrinkles(x*1000,y*1000,z*1000) }  
         //      function {f_wrinkles(x*10,y*10,z*10) }  
       color_map {
         [ 0.0 rgb 0.0 ] 
      //      [ 0.2 rgb color1*0.05   ]
       //  [ 0.6 rgb  color1*0.5 ]
         [ 1.0 rgb  color2*2 ]
       }
     }
   }

 // absorbing stuff#declare samples1=30;


 }

} scale size1

	translate x*xloc1

translate y*yloc1 translate z*zloc1 } // juunion

  1. end
  1. macro print_string(str1, col1, x1, y1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { color rgb col1 } 
   finish {ambient 1}
   scale 5
   translate x*x1
   translate y*y1
   translate z*0.2 
   
 }
  1. end
  1. macro print_caption(str1, x1, y1, skale1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { color rgb <1,1,1> } 
       finish {ambient 1}
   scale 3*skale1
   translate x*x1
   translate y*y1
   translate z*0.3 
   
 }
  1. end
  1. macro star01 (xloc1, yloc1, zloc1, size1, name1, color1, color2)

object { sphere {0,1} texture { pigment { wrinkles scale 1/10 turbulence 0.5 color_map { [0 color rgb color1] [1 color rgb color2] } }

finish { diffuse 0.6 ambient 1} }

scale size1

translate x*xloc1 translate y*yloc1 translate z*zloc1

}

  1. end
  1. macro planet01 (xloc1, yloc1,zloc1, size1, name1, color1, color2)

object { sphere {0,1} texture { pigment { wrinkles scale y/3 color_map { [0 color rgb color1] [1 color rgb color2] } }

finish { diffuse 0.6 ambient 1}

}

scale size1 translate x*xloc1 translate y*yloc1 translate z*zloc1 }

  1. end
  1. declare pig_clouds_1= pigment {
 wrinkles 
//omega 0.5

//lambda 0.5 scale 1/5

 turbulence 1

scale 3

warp { turbulence 0.5}

scale 1/3

scale 10

warp { turbulence 0.5}

scale 1/10 }

  1. declare clouds_1= object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

sphere {0,1.005} texture {

pigment {
 //pig_clouds_1
   wrinkles 
  // granite
   warp { turbulence 0.5 }
   turbulence randi1 
   turbulence 0.5
   scale 1/2
   rotate x*randi1*180
       rotate y*randi1*360
   color_map {
       [0 color rgbt <1,1,1,1>]
      [0.3 color rgbt <1,1,1,1>]   
  [1 color rgbt  <1,1,1,0>*1]
   }
}
//   normal { pigment_pattern { pig_clouds_1 } 0.1 }
 finish { ambient 0 diffuse 0.42 brilliance 0.4}

} }


  1. declare clouds_2= object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

sphere {0,1.002} texture {

pigment {
 //pig_clouds_1
   wrinkles 
  // granite

scale 0.1

  warp { turbulence 1 }

scale 10

scale z/6
   turbulence randi1 
 //  turbulence 0.5
   scale 1/2
   rotate x*randi1*180
       rotate y*randi1*360
   color_map {
       [0 color rgbt <1,1,1,1>]
  //    [0.3 color rgbt <1,1,1,1>]   
  [1 color rgbt  <1,1,1,0>*1]
   }
}
//   normal { pigment_pattern { pig_clouds_1 } 0.1 }
 finish { 
   ambient 0 diffuse 0.42 brilliance 0.4 phong 0.05 phong_size 1 specular 0.01 
 metallic
   }

} }


  1. declare atmos_1 = object

{ sphere {0,1 }

 pigment{ rgbt 1 }
   hollow
interior{ //-----------
media{
 emission <-0.4,0.7,1>*0
 scattering{ 3, 
 
 <0.24, 0.47, 1>*30 // rayleigh atm!
 
 
             extinction  5 }
 density{ 
 spherical
 

// poly_wave 6.7

 poly_wave 6
   color_map {
    [0.0 rgb 0.0]//
    [1.0 rgb 1]//
    }
   } 
 } 
} 


//scale 2.7*0.9 scale 1.75 }


  1. declare rings_1=object {
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;
 torus { 2, 0.5 scale y/100 
 

  texture {
  pigment { 
   
   //onion
   //function {f_onion(x,y,z)}
   function {f_granite(f_onion(x,y,z),randi1,randi2) }
  poly_wave 2
  color_map {
  
   [0 color rgbt <1,1,1,1> ] 
  [1 color rgbt <1,1,1,0.5>*1 ] }
  
  }
  }
   finish {diffuse 0.3 phong 0.3}
  
  }

} // rings

  1. macro planet_base_1 (xloc1, yloc1,zloc1, size1, type1, inclination1)
#declare randi1= SRand(0) ;
#declare randi2= SRand(1) ;
#declare randi3= SRand(2) ;
#declare randi4= SRand(3) ;

object { sphere {0,1}


#if (type1="basic") #declare type1="base"; #end #if (type1="basic2") #declare type1="base2"; #end



#if(type1="base")

texture {

pigment {

wrinkles scale 1/3

turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.741176, 0.486275, 0.423529>] [1 color rgb <0.305882, 0.121569, 0.0862745>]

} }

finish { diffuse 0.6 ambient 0 phong 0.1}

}

#end


#if(type1="base2")

texture {

pigment {

wrinkles //agate //bozo //granite

turbulence 1 scale 1/2

scale y/3

warp {turbulence 0.5 }


turbulence randi2/5 rotate z*inclination1

color_map { // [0 color rgb <0.741176, 0.486275, 0.423529>*0.8] // [0.5 color rgb <0.741176, 0.486275, 0.423529>] [0.0 color rgb <1,0.5,0>] [1 color rgb <1,1,1>]

} }



finish { diffuse 0.6 ambient 0 phong 0.1}

}

texture { pigment {color rgbt <0.5,0.5,0.5,0.5>} finish { phong 0.1 specular 0.05 } }


#end



#if (type1="stone") #declare type1="rock"; #end

#if (type1="stone2") #declare type1="rock2"; #end


#if(type1="rock")

texture {

pigment {

       function {

//( f_hetero_mf(x,y,z, 0.9, 1.7,13, 0.5, 0.9, 3 )*4/10* (f_ridged_mf(x*3,y*3,z*3,0.5,2,64,-0.7,0.8, 2)) *0.25)

0.8*(f_wrinkles(x*5,y*5,z*5)*0.5+f_granite(x,y,z)*0.5) +0.2*f_granite(x*10,y*10,z*10)




   }
       scale 4


warp { turbulence 0.3} // scale 1/3 octaves 60


turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.807843, 0.588235, 0.415686>*1.0-randi2/10]


[1 color rgb <0.521569, 0.431373, 0.337255>*0.5+randi3/10]


} }

finish { diffuse 0.6 ambient 0 phong 0.05 specular 0.1 }

}

#end


#if(type1="rock2")

texture {

pigment { //granite wrinkles color_map { [0 color rgb <0.796078, 0.584314, 0.458824> ] [1 color rgb <0.25098, 0.258824, 0.301961>] }

}


finish { diffuse 0.6 ambient 0 phong 0.05 specular 0.1 }

normal { granite bump_size 0.1 scale 0.2}

}


#end



#if (type1="ocean") #declare type1="water"; #end #if(type1="water")

texture {

pigment {

wrinkles scale y/3 turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.239216, 0.380392, 0.568627>] [1 color rgb <0.960784, 0.992157, 0.992157>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if(type1="ice")

texture {

pigment {

wrinkles //scale y/3 // turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb 1] [1 color rgb 0.9] } }

finish { diffuse 0.6 ambient 0}

}

#end


#if (type1="minineptune") #declare type1="gasdwarf"; #end

#if (type1="minineptune2") #declare type1="gasdwarf2"; #end


#if(type1="gasdwarf")

texture {

pigment {

function { f_granite (y,randi1*f_wrinkles(x,y,z), randi2)}

rotate z*inclination1

color_map { [0 color rgb <0.670588, 0.866667, 0.894118>] [1 color rgb <0.254902, 0.72549, 0.792157>] } }

finish { diffuse 0.6 ambient 0}

}

#end


#if(type1="gasdwarf2")

texture {

pigment {

//function { f_granite (y,randi1*f_wrinkles(x,y,z), randi2)} function { f_wrinkles (0,y+randi1,0) }

scale 10 warp { turbulence 0.5} scale 1/10

rotate z*inclination1

color_map { [0 color rgb <0.15,1,1>*1] [1 color rgb <0.15,0.15,1>*1] } }

finish { diffuse 0.6 ambient 0 phong 0.01 }

}

#end


#if(type1="neptune")

texture {

pigment {

//granite function { f_granite (y,randi1, randi2)} scale 10 warp { turbulence 0.5} scale 1/10

scale y/3 // turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.827451, 0.960784, 0.968627>] [1 color rgb <0.662745, 0.819608, 0.87451>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if(type1="saturn")

texture {

pigment {

//wrinkles function { f_granite (y,randi1, randi2)}

scale 10 warp { turbulence 0.5} scale 1/10

// turbulence randi2/5 rotate z*inclination1

// scale y/5


color_map { [0 color rgb <0.941176, 0.827451, 0.529412>] [1 color rgb <0.701961, 0.592157, 0.407843>] } }

finish { diffuse 0.6 ambient 0}

}

#end

#if (type1="gasgiant") #declare type1="gas"; #end

#if (type1="giant") #declare type1="gas"; #end

#if (type1="jupiter") #declare type1="gas"; #end

#if(type1="gas")

texture {

pigment {

function { f_agate (y,randi1, randi2)} //wrinkles scale 10 warp { turbulence 0.5} scale 1/10

// turbulence randi2/5 rotate z*inclination1

// scale y/5


color_map { [0 color rgb <0.764706, 0.615686, 0.466667>] [1 color rgb <0.960784, 0.960784, 0.992157>] } }

finish { diffuse 0.6 ambient 0}

}

#end


// objekt modifiers

scale size1 translate x*xloc1 translate y*yloc1 translate z*zloc1 }

  1. end


///////// parameters of planet system


// https://exoplanetarchive.ipac.caltech.edu/cgi-bin/TblView/nph-tblView?app=ExoTbls&config=PSCompPars

  1. declare numplanets1=6;
  1. declare systemname1="Kepler-20";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e", "f", "g" }
  3. declare distances1=array[numplanets1]{0.04565,0.0936,0.3474,0.0637,0.1387,0.2055}
  4. declare radiuses1=array[numplanets1]{ 1.773,2.894,2.606,0.821,0.9520,4.71}
  1. declare types1=array[numplanets1]{ "gasdwarf2", "gasdwarf2" , "gasdwarf2", "base","base", "neptune"}

//#declare types1=array[numplanets1]{ "gasdwarf", "gasdwarf" , "gasdwarf", "basic2", "gasdwarf"} //#declare types1=array[numplanets1]{ "neptune", "neptune","neptune","neptune","neptune" }

//#declare types1=array[numplanets1]{"basic", "basic","basic","basic","basic" }

//#declare masses1=array[numplanets1]{}

  1. declare atmoses1=array[numplanets1]{0,0,0,0,0,0}
  2. declare cloudeses1=array[numplanets1]{0,0,0,0,0,0}
  3. declare ringeses1=array[numplanets1]{0,0,0,0,0,0}
  1. declare radiuscoeff1=1.5;



//////////////////////////////////////7

  1. declare starx1=-40;
  2. declare dmax1=40 ; //abs(starx1)*2-30;
  1. declare starsize1=10;
  2. declare planetoffset1=starsize1*1.0;

//star01(starx1,0.0,1.0,starsize1,"star1",<1,1,0>, <1,1,0.5>)

//#declare starcolor1 = <1,1,0>; //#declare starcolor2 = <1,1,0.5>;

  1. declare starcolor1 = <1.0,0.637,0.34>;
  2. declare starcolor2 = <1.0,0.637,0.34>*0.95;
  1. declare starsize1 =5;

star2(starx1, 0,0, starsize1,starcolor1, starcolor2)

  1. declare beginx1=distances1[0];
  2. declare endx1=distances1[numplanets1-1];
  1. declare dfx1=log(endx1)-log(beginx1);
  2. declare dkx1=dmax1/dfx1;
  1. declare color1=<0.368627, 0.317647, 0.258824>;
  2. declare color2=<0.956863, 0.701961, 0.470588>;

print_caption(systemname1, -10, 8,1.5)

#declare col1=<1,1,1>; //print_string("Radius Re: ",col1, starx1, -11)


  1. for (nn,0,(numplanets1-1) )

#declare planetx1=distances1[nn]; //#declare planetx1=0nn*0.1;

#declare planetr1=radiuses1[nn]*radiuscoeff1;

#declare dpx1=log(planetx1)-log(beginx1);

#declare sitex1=starx1+starsize1+planetoffset1+dpx1*dkx1;

//#declare sitex2=starx1+starsize1+planetoffset1+nn*dkx1*0.08; //#declare sitex1=sitex2;

//planet01(sitex1,0,0, planetr1,"b",color1, color2)

#declare type1=types1[nn];

#declare randi1= SRand(0) ; #declare randi2= SRand(1) ; #declare randi3= SRand(2) ; #declare randi4= SRand(3) ;

#declare inclination1=randi1*90;


planet_base_1 (sitex1, 0,0, planetr1, type1, inclination1)

#declare isatm1=atmoses1[nn];

#debug "PIIP PIIP PIIP"

#if (isatm1=1) object { atmos_1 scale planetr1 translate x*sitex1}


#end


#if (cloudeses1[nn]=1) object { clouds_2 scale planetr1 rotate z*inclination1 translate x*sitex1} #end


#if (ringeses1[nn]=1) object { rings_1 rotate z*inclination1 scale 1 scale planetr1 translate x*sitex1} #end


#declare col1=<1,0,0>; print_string(names1[nn], col1, sitex1-1, -10)

#declare rstring1=concat ( str(radiuses1[nn],3,1 ),"") ;

#declare col1=<1,1,1>; //print_string(rstring1,col1, sitex1-1, -11)

  1. end



Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current06:40, 13 February 2024Thumbnail for version as of 06:40, 13 February 20241,600 × 500 (140 KB)Merikanto (talk | contribs)Update
06:37, 13 February 2024Thumbnail for version as of 06:37, 13 February 20241,600 × 500 (136 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata