File:Kepler-169 planets animation 2 1 1 1.ogg

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

Kepler-169_planets_animation_2_1_1_1.ogg(Ogg Theora video file, length 1 min 23 s, 800 × 600 pixels, 903 kbps, file size: 8.97 MB)

Captions

Captions

Kepler-169 planets animation

Summary

[edit]
Description
English: Kepler-169 planets animation
Date
Source Own work
Author Merikanto

POV-ray 3.8 source code for linux

INI

Input_File_Name="trap4.pov" Initial_Frame = 1 Final_Frame = 2000 Initial_Clock = 0.0 Final_Clock = 1.0 Antialias=Off Antialias_Threshold=0.3 Antialias_Depth=2 Quality=11 Cyclic_Animation=on Pause_when_Done=off

POV

////////////////////////// // // planet system rendering test v B2.0 with POV-Ray 3.8 for linux // // 20.01.2024 version B2.0 rel 0000.00010a1 // ////////////////////////////

  1. declare clock1=clock;
  1. include "functions.inc"
  2. include "rand.inc"

camera { // location <0,0,10>*-7 // location <10,0,0>*15 location <0,10,0>*15

look_at 0

angle 40

// up -3/10

//   right -10/10
  //up -x
  rotate x*90
  rotate y*10

}

sky_sphere {

  pigment {
  
  bozo    
    //granite
  //  wrinkles
   // dents
    
    scale 0.001
  color_map
  {
   [0 color rgb 0]
   [0.8 color rgb 0]
   [1 color rgb 1]
   }
   
  }

}

  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 5
     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/(6000)*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 3
   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/4
   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}

} }

// rayleigh based atm

  1. declare atm_thickness1 = 0.01;
  2. declare atm_color1 = rgb <pow(460/650, 4), pow(460/555, 4), 1>;
  3. declare atm_amount1=0.01;


  1. declare atm_density1 = density

{

    function
    {
  // 1*exp(-3*(sqrt((x*x)+(y*y)+(z*z))-1-0.0001)/atm_thickness1)
   1*exp(-3*(sqrt((x*x)+(y*y)+(z*z))-1-0.0001)/atm_thickness1)


}

color_map {
     [ 0.0  rgb 0.0 ]
   //  [ 0.5294*0.25e-6  rgb atm_color1*0.07 ]
         [ 0.5471*0.71e-6  rgb atm_color1*1 ]
     [ (1+0.001)/(1+atm_thickness1) rgb <0.0, 0.0, 0.0> ]
   }

}

  1. declare atm_media1 = media

{

    method 3
    intervals 3
    samples 3
    scattering
    { 4

color atm_amount1*atm_color1/atm_thickness1 extinction 1

    }
    density {atm_density1}

}

  1. declare atmos_1 = difference

{

    sphere {0, 1.00001 + atm_thickness1}
 //   sphere {0, 1.00001}
    hollow
    pigment {rgbt 1}
    interior {media{atm_media1}}

}



  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) }
  color_map {
   [0 color rgbt <1,1,1,0.95> ] 
  [1 color rgbt <1,1,1,0.2>*1 ] }
  
  }
  }
   finish {diffuse 0.6 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="unconfirmed")

texture {

pigment {

wrinkles scale 1/3

turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgbt <0,0,1,0.8>] [1 color rgbt <0,0,0.5,0.8>]

} }

finish { diffuse 0.6 ambient 0 phong 0.0}

}

#end


#if (type1="basic") #declare type1="base"; #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="stone") #declare type1="rock"; #end #if(type1="rock")

texture {

pigment {

wrinkles warp { turbulence 0.2} scale 1/3 octaves 60


turbulence randi2/5 rotate z*inclination1

color_map { [0 color rgb <0.521569, 0.431373, 0.337255>+randi3/10] [1 color rgb <0.807843, 0.588235, 0.415686>*1.0-randi2/10]

} }

finish { diffuse 0.6 ambient 0 phong 0.05 specular 0.1 }

}

#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="asteroids")

texture {

pigment {

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

color_map { [0 color rgbt <1,1,1,1>] [0.7 color rgbt <1,1,1,1>] [0.7 color rgbt <1,1,1,0>] [1 color rgbt <1,1,1,0>] } }

finish { diffuse 0.6 ambient 0}

}

#end


#if (type1="minineptune") #declare type1="minineptune"; #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="neptune")

texture {

pigment {

//granite function { f_granite (y,randi1, randi2)} 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)} // 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

// 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

// Kepler-169

  1. declare calculate_radius1=0;
  1. declare numplanets1=5;
  1. declare systemname1="Kepler-169";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e","f" }
  3. declare distances1=array[numplanets1]{0.04, 0.062,0.075, 0.105, 0.359 }
  4. declare periods1=array[numplanets1]{ 3.2505, 6.1954, 8.348 , 13.767, 87.09}
  5. declare radiuses1=array[numplanets1]{1.11,1.19,1.62, 2.30, 2.55 } // will be estimate only
  6. declare masses1=array[numplanets1]{ 0,0,0,0,0}
  7. declare anglespeeds1=array[numplanets1]{ 1,1,1,1,1 }
  1. declare confirmed1=array[numplanets1]{ 1,1,1,1,1}
  1. declare types1=array[numplanets1]{"rock" ,"rock" ,"ocean", "gasdwarf", "gasdwarf" }

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

  1. declare radiuscoeff1=1.0;

/*

// TOI-1136

  1. declare calculate_radius1=0;
  1. declare numplanets1=7;
  1. declare systemname1="TOI-1136";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e","f", "g", "h?" }
  3. declare distances1=array[numplanets1]{0.05106, 0.0669, 0.1062, 0.139, 0.174, 0.229, 0.36}
  4. declare radiuses1=array[numplanets1]{ 1.9, 2.879, 4.627, 2.639, 3.88, 2.53, 2.68} // will be estimate only
  5. declare masses1=array[numplanets1]{ 3.5, 6.32, 8.35, 6.07, 9.7, 5.6, 9}
  1. declare confirmed1=array[numplanets1]{ 1,1,1,1,1,1,9}
  1. declare types1=array[numplanets1]{"gasdwarf" ,"gasdwarf" ,"gasdwarf", "gasdwarf", "gasdwarf", "gasdwarf" ,"unconfirmed" }

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

  1. declare radiuscoeff1=1.0;

// Tau Ceti

  1. declare calculate_radius1=1;
  1. declare numplanets1=6;
  1. declare systemname1="Tau Ceti";
  2. declare names1=array[numplanets1]{"g", "h", "e", "f", "asteroids", "giant?" }
  3. declare distances1=array[numplanets1]{ 0.133,0.243, 0.538, 1.334,3,12}
  4. declare radiuses1=array[numplanets1]{0,0,0,0,0,0 } // will be estimate only
  5. declare masses1=array[numplanets1]{1.75,1.83, 3.93, 3.93 ,10, 30}
  6. declare types1=array[numplanets1]{"gasdwarf" ,"gasdwarf" ,"gasdwarf", "gasdwarf", "asteroids", "gas" }

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

  1. declare radiuscoeff1=1.5;

//## Kepler-292

// https://exoplanetarchive.ipac.caltech.edu/overview/Kepler-292

  1. declare numplanets1=5;
  1. declare systemname1="Kepler-292";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e", "f" }
  3. declare distances1=array[numplanets1]{ 0.035 , 0.045, 0.068, 0.097, 0.141 }
  4. declare radiuses1=array[numplanets1]{ 1.41 , 1.59, 2.30, 2.56, 2.57 }

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

  1. declare types1=array[numplanets1]{"rock", "rock" ,"gasdwarf" ,"gasdwarf" ,"gasdwarf" }

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

  1. declare radiuscoeff1=1.5;

//## Kepler-296

  1. declare numplanets1=5;
  1. declare systemname1="Kepler-296";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e", "f" }
  3. declare distances1=array[numplanets1]{ 0.079 , 0.0521 , 0.118 , 0.169 , 0.255 }
  4. declare radiuses1=array[numplanets1]{ 1.61, 2.00, 2.09, 1.53, 1.80 }

//#declare masses1=array[numplanets1]{} //#declare types1=array[numplanets1]{"rock", "water" ,"water" ,"rock" ,"water" }

  1. declare types1=array[numplanets1]{"basic", "basic","basic","basic","basic" }
  2. declare radiuscoeff1=1.5;

//## kepler-186

  1. declare numplanets1=5;
  1. declare systemname1="Kepler-186";
  2. declare names1=array[numplanets1]{"b", "c", "d", "e", "f" }
  3. declare distances1=array[numplanets1]{0.0378 , 0.0574 ,0.0861 , 0.1216 , 0.432 }
  4. declare radiuses1=array[numplanets1]{1.08,1.25, 1.39, 1.33, 1.17}
  5. declare masses1=array[numplanets1]{1.24, 2.1, 2.54, 2.15, 1.71}
  6. declare types1=array[numplanets1]{"rock", "rock" ,"rock" ,"rock" ,"rock" }
  7. declare radiuscoeff1=2;
  • /

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

//#declare starx1=-40;

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

//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;

//#declare starcolor1 = <1.0,0.898,0.813>*1.05; //#declare starcolor2 = <1.0,0.898,0.813>*0.95;

  1. declare starsize1 =10;

light_source { <0,0,0> color rgb <1,1,1>*2.0 looks_like { //sphere {0,1 texture { pigment {color rgb 1} } finish {ambient 1} } star2(0, 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. declare maxperiod1=periods1[numplanets1-1];
  2. declare anglespeed_ratio_1=maxperiod1/360;
  1. for (nn,0,(numplanets1-1) )

#declare anglespeeds1[nn]=(360*maxperiod1)/periods1[nn];

  1. end



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

#if (calculate_radius1=1) // assumed to be 50 perc rock, 50 water #declare radiuses1[nn]=pow ( masses1[nn],0.27)*1.5;


#end

#declare planetx1=distances1[nn]; #declare planetr1=radiuses1[nn]*radiuscoeff1;

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

//#declare sitex0=starx1+starsize1+planetoffset1+dpx1*dkx1; //#declare sitex0=starsize1+planetoffset1+dpx1*dkx1; #declare sitex0=nn*10+10;

//#declare angle1=72*nn; #declare angle1=anglespeeds1[nn]*clock1; #declare orbit_inclination1=0;

#declare sitex1=sitex0*cos(radians(angle1)); #declare sitey1=sitex0*sin(radians(angle1)); #declare sitez1=cos(orbit_inclination1);



#declare type1=types1[nn];

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

#declare inclination1=randi1*90;

//#macro planet_base_1 (xloc1, yloc1,zloc1, size1, type1, inclination1)


// planet01(sitex1,sitey1,sitez1, planetr1,"b",color1, color2) planet_base_1 (sitex1, sitey1, sitez1,planetr1, type1, inclination1)

// object { clouds_1 scale planetr1 translate x*sitex1} // object { atmos_1 scale planetr1 translate x*sitex1} // object { rings_1 rotate z*inclination1 scale 1 scale planetr1 translate x*sitex1}

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

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

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

  1. end

animation making script, need install to linux libtheora, ffmpeg ....

ffmpeg -y -framerate 24 -pattern_type glob -i '*.png' -c:v libtheora -q:v 9 -c:a libvorbis -q:a 4 planets.ogv 

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
current11:33, 30 January 20241 min 23 s, 800 × 600 (8.97 MB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Transcode status

Update transcode status
Format Bitrate Download Status Encode time
VP9 480P 96 kbps Completed 11:33, 30 January 2024 16 s
Streaming 480p (VP9) 95 kbps Completed 11:33, 30 January 2024 21 s
VP9 360P 56 kbps Completed 11:33, 30 January 2024 16 s
Streaming 360p (VP9) 55 kbps Completed 11:33, 30 January 2024 13 s
VP9 240P 28 kbps Completed 11:33, 30 January 2024 15 s
Streaming 240p (VP9) 28 kbps Completed 11:33, 30 January 2024 11 s
WebM 360P 47 kbps Completed 11:33, 30 January 2024 17 s
Streaming 144p (MJPEG) 235 kbps Completed 11:33, 30 January 2024 4.0 s

Metadata