File:Toi-178 planets 1 1 1 1.png

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

Original file(2,000 × 600 pixels, file size: 154 KB, MIME type: image/png)

Captions

Captions

Planets of TOI-178

Summary[edit]

Description
English: Planets of TOI-178
Date
Source Own work
Author Merikanto

Source of planets data is enwiki article TOI-178

R code

//////////////////////////7 // // Kepler-80 planet system illustration // POV-Ray 3.8 source code // // tested on linux POV-Ray 3.8 // // 26.01.2024 0000.0002 // // planet data from en wiki //

// // NOTE // // set .INI settings like +w2000 +h600 // or command line simply povray planets1.pov +w2000 +h600 -Q11 -A0.3 //

  1. include "colors.inc"
  2. include "functions.inc"
  3. include "textures.inc"
  4. include "rand.inc"

camera {

   location <0, 0, -10>
   look_at 0  
  angle 45
 up -3
 right 10

}

light_source {

   <-1000,0,-1200>
   color 3

}

  1. declare samples1=30;
  1. macro starr1(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;


 }

}

} // juunion

  1. end
  1. declare star0= object {

sphere { 0,1}

texture { pigment { color rgb <1,1,0>} finish {ambient 1} }

scale 1.00001

   }
     
  
   
   
  #declare atm_thickness1=0.05;
#declare atm_samples1=15;
#declare atm_color1 = rgb  <pow(460/650, 4), pow(460/555,  4), 1>;
  1. declare atm_amount1=1;
#declare atmos1 = object

{

   difference {
 /*
    sphere
   {
    0, 1.0001  
   }   
  • /
   sphere
   {
   0, 1+atm_thickness1  
   }
   }
  hollow
  material
  { 
 // texture {pigment {color <1,0,0> } }// koe  
  
  
    texture
    {
      pigment
      {
        color rgbt 1
      }      
            finish {  
     ambient 0 reflection 0 specular 0
    ior 1.0
   // diffuse 0.25
     }
    }
    interior
    {
      media
      {     
 
      intervals 1           // number of intervals used for sampling [10]
      samples atm_samples1            // minimum and maximum number of samples taken per interval [1,1]
     confidence 0.9         // statistic parameter higher->better quality [0.9]
      variance 1.0/128       // statistic parameter lower->better quality [1.0/128]
      ratio 0.9              // distribution between lit and unlit areas [0.9]
 

  //   absorption rgb<1,.9,.8>*.1  // absorbing media, block light of specified color
     //  4 scattering type 1=isotropic; 2=Mie haze; 3=Mie murky
          // 4=Rayleigh; 5=Henyey-Greenstein
          // for balancing amount of absorption [1.0]
      
  
     
          scattering { 3, atm_color1*atm_amount1 }
        //   scattering { 1, <0.6, 0.8, 1>*atm_amount1}
      //    scattering { 5, <0.6, 0.8, 1>*5 eccentricity 0.56   extinction 1.0 }      
         
            method 3 

        
        
        density
        {  
function {   1*exp(-8*(sqrt(x*x+(y)*(y)+z*z)- 1 - 0.00001)/atm_thickness1) } 

/*

          spherical
          density_map
          {
            [0     rgb <0.25, 0.5, 1>]
            [0.005 rgb <0.25, 0.5, 1>]
            [0.011 rgb <0.9, 1, 1>]
            [1    rgb <0.9, 1, 1>]
          }
  • /
     }
         
         
     }
    }
  
  }   

}



object {

 //  object {star0 }
 //
 // https://arxiv.org/pdf/2101.06254.pdf
 // arXiv:2101.06254v2 [astro-ph.SR] for this version) 
 // starr1(<1,1,0.5>,<1,1,0.4>)
 //color rgb <228 ,  32 ,  59>/255 // 200k

//color rgb <228 , 34 , 58 >/255 // 300 k //color rgb < 125, 40, 171>/255 // 400 k //color rgb <88,32,166>/255 // 500 K brown dwarf faintest known //color rgb < 80, 31 , 165>/255 //750k brown dwarf //color rgb <79, 32 , 166>/255 // 1000 k brown dwarf //color rgb <85, 27 , 155>/255 // 1500 K brown dwarf //color rgb <179 , 117 , 195>/255 // 2000 K brown dwarf

//color <1.0,0.491,0.144> // #M 9.5 V

//color <1.0,0.641,0.289>*1 // M 5.5V

//color <1.0,0.635,0.327> // M2 V // color <1.0,0.636,0.354> // M0v //color <1.0,0.696,0.47 > // K5 V // color <1.0,0.65,0.389> // k7 // color <1.0,0.872,0.753> //K0V //color <1.0,0.931,0.905> // G2 V //color <0.869,0.871,1.0> // F5V //color <0.725,0.773,1.0> // F0V //color <0.606,0.69,1.0>*2 // A6V //color <0.49,0.601,1.0 > // A0V //color <0.371,0.501,1.0 > // B1V // color <0.361,0.489,1.0> // O1 V

  1. declare col1 = <1.0,0.872,0.753>;
   starr1(<1.0,0.65,0.389 >,<1.0,0.696,0.47 >)
  
  
   scale 1

translate x*-3 }


  1. macro print_number(val1)
  1. declare str1=str(val1, 3,3)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { Red }
 }
  1. end
  1. macro print_string(str1, x1, y1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { Red } 
   scale 1/3
   translate x*x1
   translate y*y1
   translate z*0.2 
   
 }
  1. end
  1. macro print_caption(str1, x1, y1)
 text {
   ttf "timrom.ttf" str1 0.1, 0
   pigment { White } 
   scale 1/3
   translate x*x1
   translate y*y1
   translate z*0.3 
   
 }
  1. end


 // parameters of planet system

// TOI-178

  1. declare star_mass=0.65;
  2. declare star_radius=0.651;
  3. declare star_teff=4316;
  4. declare number1=6;
  1. declare distances1=array[6]{0.02607,0.0370,0.0592,0.0783,0.1039,0.1275}
  2. declare radiuses1=array[6]{1.152,1.669,2.572,2.207, 2.287, 2.87}

//#declare types1=array[6]{"stone", "stone", "water", "water", "stone", "water"}

//#declare types1=array[6]{"stone", "stone", "gasdwarf", "gasdwarf", "stone", "gasdwarf"}

  1. declare types1=array[6]{"stone", "stone", "alkali", "alkali", "water", "alkali"}
  1. declare names1=array[6]{"b", "c","d","e", "f","g"}

print_caption("TOI-178 system: ",-2,0.6)

/*

// Kepler-90 system
  1. declare star_mass=1.2;
  2. declare star_radius=1.2;
  3. declare star_teff=6080;
  4. declare number1=8;
  1. declare distances1=array[8]{0.074,0.0898,0.107,0.32,0.42,0.48,0.71, 1.01}
  2. declare radiuses1=array[8]{ 1.31, 1.18,1.32,2.88,2.67,2.89,8.13, 11.32}
  3. declare types1=array[8]{"stone", "stone", "stone", "neptune", "neptune", "neptune", "jupiter", "jupiter"}
  4. declare names1=array[8]{"b", "c","i", "d","e", "f","g", "h", }

print_caption("Kepler-90 system: ",-2,0.6)

 // Kepler-80 system
  1. declare star_mass=0.730;
  2. declare star_radius=0.678;
  3. declare star_teff=4540;
  4. declare number1=6;
  1. declare distances1=array[6]{0.0175 , 0.0372 , 0.0491 ,0.0658, 0.0792,0.142 }
  2. declare radiuses1=array[6]{1.031, 1.309, 1.330, 2.367, 2.507, 1.05 }
  1. declare types1=array[6]{"stone", "stone", "stone","gasdwarf", "gasdwarf", "stone", }
  2. declare names1=array[6]{"f", "d","e", "b","c", "g" }

print_caption("Kepler-80 system: ",-2,0.6)




 // HD 108236 system
  1. declare star_mass= 1.26;
  2. declare star_radius= 1.66;
  3. declare star_teff= 5947;
  1. declare number1=5; // set this
  1. declare distances1=array[5]{ 0.0451,0.0626, 0.1087, 0.1348 , 0.1773 }
  2. declare radiuses1=array[5]{ 1.587, 2.122, 2.629, 3.008,1.89
}
  1. declare types1=array[5]{"stone", "ocean", "gasdwarf", "neptune", "gasdwarf"}
  2. declare names1=array[5]{"b", "c", "d", "e", "f" }

print_caption("HD 108236 system: ",-2,0.6)

// parameters of planet system

 // Kepler-33 system
  1. declare star_mass= 1.26;
  2. declare star_radius= 1.66;
  3. declare star_teff= 5947;
  1. declare number1=5; // set this
  1. declare distances1=array[5]{0.0673,0.1181, 0.165,0.212, 0.252 }
  2. declare radiuses1=array[5]{ 1.54, 2.73, 4.67, 3.54, 3.96 }
  1. declare types1=array[5]{"ocean", "gasdwarf", "saturn", "neptune", "neptune"}
  2. declare names1=array[5]{"b", "c", "d", "e", "f" }

print_caption("Kepler 33 system: ",-2,0.6)


// K2-138 system
  1. declare star_mass= 0.798;
  2. declare star_radius= 0.788;
  3. declare star_teff= 5266;
  4. declare number1=6;
  1. declare distances1=array[6]{ 0.03385,0.04461, 0.05893,0.07820, 0.10447, 0.23109 }
  2. declare radiuses1=array[6]{ 1.510,2.299, 2.390, 3.390, 2.904, 3.013 }
  1. declare types1=array[6]{"stone", "gasdwarf","gasdwarf", "gasdwarf","gasdwarf", "gasdwarf" }
  2. declare names1=array[6]{"b", "c","d", "e","f", "g" }

print_caption("K2-138 system: ",-2,0.6)


// HD 110067 system

  1. declare star_mass= 0.798;
  2. declare star_radius= 0.788;
  3. declare star_teff= 5266;
  4. declare number1=6;
  1. declare distances1=array[6]{0.0793 , 0.1039, 0.1362, 0.1785, 0.2163, 0.2621 }
  2. declare radiuses1=array[6]{2.200,2.388,2.852,1.940,2.601,2.607 }
  1. declare types1=array[6]{"gasdwarf", "gasdwarf","gasdwarf", "gasdwarf","gasdwarf", "gasdwarf" }
  2. declare names1=array[6]{"b", "c","d", "e","f", "g" }

print_caption("HD 110067 system: ",-2,0.6)


//#print_number(number1)


//print_caption("TOI-178 system: ",-2,0.6)

  • /



//#declare n=1;

  1. for (nn,0,(number1-1))
  2. declare name1=names1[nn];
  3. declare rad1=radiuses1[nn];
  4. declare dis1=distances1[nn];
  5. declare type1=types1[nn];


// print_number(dis1)

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

//#if(type1=0) // basic stony

  1. declare plantex1= texture {
 //  pigment { color rgb Brown}
     pigment {
   
   wrinkles
     color_map {
       [0 color White]
       [0 color Brown]
       }
     scale 0.01
   }

}


//#end


  1. if(type1="stone")

// moon like

  1. declare plantex1= texture {
  // pigment { color rgb Brown}
  pigment {
   
   wrinkles
   turbulence 0.5
   
     color_map {
       [0 color Tan]
       [1 color Grey]
       }
     scale 0.1
   }
   
   finish { diffuse 0.25 }

}

// print_number(dis1) 
  1. end
  1. if(type1="venus")

//## venus like

  1. declare plantex1= texture {
   pigment { color rgb Tan}

}


  1. end
  1. if(type1="earth")

//## earth like

  1. declare plantex1= texture {
   pigment {
   color rgb Blue
   agate
   scale 0.3  
   scale rad1
   color_map {
   [0 color <0.0,1,0.5> ]
       [1 color <0.0, 0.5, 1>]
   }

} }


  1. end


  1. if(type1="mars")

//## mars like

  1. declare plantex1= texture {
   pigment { color rgb Red}

}


  1. end


  1. if(type1="water")

//## waterworld, ocean planet

  1. declare plantex1= texture {
       pigment {
   //  color rgb Blue 

wrinkles //frequency 6*randi2 scale 0.3 //turbulence randi2/10 turbulence 0.5

rotate z*randi2*10

scale y*0.1 poly_wave 2

color_map { [0 color rgbt <0.1,0.1,1,0,0>/6] // [0.5 color rgbt <0.1,0.1,1>/4] [1 color rgbt <1,1,1,0>] }

 }
}
  1. end
  1. if(type1="ice")

//## ice planet

#declare plantex1= texture {
       pigment {
     color rgb White
}
  1. end
  1. if(type1="silicate")

//## gas dwarf planet

  1. declare plantex1= texture {
   pigment {

//color rgb Blue

 gradient y

sine_wave frequency 6*randi2 scale 0.3 turbulence randi2/10 rotate z*randi2*10 scale rad1

color_map {
  [0 color <0.666667, 0.501961, 0.478431> ]
   [1 color <0.435294, 0.419608, 0.392157>]

} } }

  1. end
  1. if(type1="alkali")

//## gas dwarf planet

  1. declare plantex1= texture {
   pigment {

//color rgb Blue

 gradient y

sine_wave frequency 6*randi2 scale 0.3 turbulence randi2/10 rotate z*randi2*10 scale rad1

color_map {
  [0 color <0.423529, 0.537255, 0.662745> ]
   [1 color <0.490196, 0.556863, 0.627451>]

} } }

  1. end


  1. if(type1="gasdwarf")

//## gas dwarf planet

  1. declare plantex1= texture {
   pigment {

//color rgb Blue

 gradient y

sine_wave frequency 6*randi2 scale 0.3 turbulence randi2/10 rotate z*randi2*10 scale rad1

color_map {
  [0 color <0.0,0.9,0.75> ]
   [1 color <0.0, 0.75, 0.9>]

} } }

  1. end
  1. if(type1="neptune")

// neptunian

  1. declare plantex1= texture {
   pigment { 

//color rgb Blue // gradient y

function {y+f_wrinkles(y*3,x/30,z/30)}

sine_wave

//frequency 6 //scale 0.1

 frequency 6*randi2*4 

scale 0.3 turbulence randi2/10 rotate z*randi2*10

scale rad1

color_map {
  [0 color <0.5,0.5,1>+randi2/10 ]
   [1 color <0.6, 0.6, 1>-randi2/8]

} } }

  1. end
  1. if(type1="saturn")

// neptunian

  1. declare plantex1= texture {
   pigment { 

//color rgb (Yellow+Tan)

// gradient y
function {y+f_wrinkles(y*3,x/30,z/30)}

sine_wave

//frequency 6 //scale 0.1

 frequency 5*randi2*4 

scale 0.3 turbulence randi2/10 rotate z*randi2*10

scale rad1

color_map {
  [0 color 1.2*< 0.54902, 0.501961, 0.415686>+randi2/8 ]
   [1 color 1.2*< 0.768627, 0.709804, 0.529412>-randi2/8]

} } }

  1. end
  1. if(type1="jupiter")

// jovian

  1. declare plantex1= texture {
   pigment { 

//color rgb Blue

// gradient y
function {y+f_wrinkles(y*3,x/30,z/30)}

sine_wave

//frequency 40 //scale rad1

   frequency randi2*4 

scale 0.3 turbulence randi2/20 rotate z*randi2*10

//scale 0.3

color_map {
  [0 color rgb Tan+<randi2/3,randi2/3,randi2/3> ]
   [1 color rgb Brown-<randi3/5,randi3/5,randi3/5>  ]

} } }


  1. end


//print_number(rad1)

  1. declare randi1= SRand(0) ;

// planet planets

// x= -3: place of star

  1. declare xbegin1=8.5;
  2. declare xcoef1=6;
  1. declare skal1=rad1*0.1; // basic

//#declare skal1=log(rad1)*0.25; //log


#declare xlok1 =-2+nn*1; // ok
  1. declare xlok1=xbegin1+(x*log(dis1)*xcoef1);

union { // planet object {

sphere {0, skal1} texture {plantex1}

}

/* object { atmos1 scale skal1*1.3 }

  • /

#declare disx1=x*xlok1;

rotate x*randi1

translate x*disx1


} // union

print_string(name1, disx1, -0.8)


  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
current12:11, 26 January 2024Thumbnail for version as of 12:11, 26 January 20242,000 × 600 (154 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata