File:Terraplan10.png

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

Original file(1,600 × 1,200 pixels, file size: 1.09 MB, MIME type: image/png)

Captions

Captions

Terrestric planet, habitable, Earth-like

Summary[edit]

Description
English: Terrestric planet, habitable, Earth-like
Date
Source Own work
Author Merikanto

POV-Ray 3.8 source code


// //## habitable terrestric planet //## pov-ray source code //## 28.9.2020 v 0000.0001 //

  1. include "functions.inc"


default { finish { ambient 0.000002 diffuse 0.7 } }  

 

camera {

 location <0,0,-5>
 angle 35
 look_at 0

}


light_source {

 <1,1,-1>*10000000
// color rgb <1.00, 0.71, 0.42>*1
 color rgb <1.00, 0.93, 0.89>

}


#declare Earth_Radius=1;


  1. declare Media_Intensity=0.15*100;

//#declare Media_Emission=0.065*10;

  1. declare Media_Eccentricity=0.56;
  2. declare Atmosphere_Top=0.03;

//#declare Cloud_Brightness=0.42; //#declare Light_Intensity=4.1;

  1. declare atm_samples= 20;





  1. declare fs_1= function {


pigment { gradient y // scale 2 translate y*1 }

}


  1. declare fd_1 = function {

pigment { gradient y sine_wave

}


}


  1. declare fk_1 = function {

pigment { granite octaves 1000 }


}

  1. declare fi_1= function {

pigment { gradient y sine_wave

} }


  1. declare ground_texture1= texture {
 pigment {

  function {
   (fs_1(x,exp(abs(y*0.6)),z).gray+fk_1(x,y,z).gray/2)*abs(fd_1(x,(y*1.5-0.25)  ,z).gray)

//fd_1(x,(y*1.5-0.25),z).gray }

octaves 2000 turbulence 0.1

  color_map {  
 // [0 color rgb <0.38, 0.38, 0.38>]

[0.0 color rgb <0.17, 0.28, 0.10>/6]

         [0.05 color rgb <0.17, 0.28, 0.10>/3] 
           [0.15 color rgb <0.28, 0.36, 0.11>]
            [0.20 color rgb <0.28, 0.36, 0.11>]
       [0.45 color rgb <0.83, 0.71, 0.51>]
     [1.0 color rgb <0.91, 0.64, 0.44>]
 

}


}

 normal {
 

// function { // -1*fk_1(x,y,z).gray // }

 granite 
 octaves 3000   
 scale 0.3
 
 turbulence 0.03
 bump_size 0.3
 
 
 }

}


  1. declare sea_texture1= texture

{

  pigment {
   //  color rgbft <0.07, 0.45, 0.8, 0.1, 0.75>
         color rgb <0.07, 0.45, 0.8>
  
   }
   finish {
   //  ambient 0.7*0.5
     diffuse 0.06
   //  reflection {
     //  0.1, 0.75
  //    0.06,0.12
   //    falloff 2
   //  }
   //  conserve_energy
   }

// pigment {color <0,0,0.2>} }


  1. declare planet_texture1=

texture {

//granite //wrinkles

  agate
 turbulence 0.2
octaves 2000 

 texture_map {

[0 ground_texture1] [1/2 ground_texture1] [1/2 sea_texture1] [1 sea_texture1]

}


} // ... tex


  1. declare icepig1= function {
pigment {
  gradient y
   translate y*0.5
   scale 2
   }

}

  1. declare ice_texture1 = texture {
   pigment {
function {    
icepig1(x,y,z).gray-fk_1(x,y,z).gray/30  

}

turbulence 0.2
   
  color_map {

[0 color rgbt <1,1,1,0>] [1/20 color rgbt <1,1,1,0>]

       [2/20 color rgbt <0,0,0,1>]
       [18/20 color rgbt <0,0,0,1>]    
       [19/20 color rgbt <1,1,1,0>]
       [1 color rgbt <1,1,1,0>]
 

}

   }

}


//#declare ice_texture2= texture {

//agate

//}


// planet

  1. declare planeta_surf1=object {
sphere {0,1}


texture {

   planet_texture1
  

}

}

// ice

  1. declare planeta_ice1=object {
sphere {0,1.0005}
   texture {
       ice_texture1


   }

}



#declare cloud_area_1=
    pigment {
      
      
          
    granite 
    turbulence  1
    scale 1
      
      pigment_map {
  
      [0.0 color rgbt <1,1,1,1> ] 
       
      [0.3 color rgbt <1,1,1,1> ] 
            
      [0.4  granite scale 0.05
                  turbulence 2
               color_map {
                   [0 rgbf <1,1,1,1>]    
                   [0.7 rgbf <1,1,1,1>]
                   [1 rgbf <1,1,1,0>]
               } 
      
      ] 
  
      
      [0.5  granite scale 0.1
                  turbulence 5
               color_map {
                   [0 rgbf <1,1,1,1>]    
                   [0.4 rgbf <1,1,1,1>]
                   [1 rgbf <1,1,1,0>]
               } 
      
      ]   
         
      
      [1.0 color rgb <1,1,1> ] 
         
      
      
      }   
          
          
 
 } // pig


#declare cloud_area_2=
    pigment {
      
      
          
    //granite 
      bozo
    turbulence  1
    scale 200
      
      pigment_map {
  
      [0.0 color rgbt <1,1,1,1> ] 
       
      [0.3 color rgbt <1,1,1,1> ] 
            
      [0.4  granite scale 0.05
                  turbulence 2
               color_map {
                   [0 rgbf <1,1,1,1>]    
                   [0.7 rgbf <1,1,1,1>]
                   [1 rgbf <1,1,1,0>]
               } 
      
      ] 
  
      
      [0.5  granite scale 0.1
                  turbulence 5
               color_map {
                   [0 rgbf <1,1,1,1>]    
                   [0.4 rgbf <1,1,1,1>]
                   [1 rgbf <1,1,1,0>]
               } 
      
      ]   
         
      
      [1.0 color rgb <1,1,1> ] 
         
      
      
      }   
          
          
 
 } // pig
  
   
   
   
   
   


  1. declare clouds1= object {
   sphere {
           0,1.005 
           }
        
 texture { 
         
         gradient y  
         turbulence 0.5
         octaves 60
        
        texture_map { 
           [0.0 pigment {cloud_area_2} finish {brilliance 0.4 diffuse 0.6} scale 0.5 ]
           [0.5 pigment {cloud_area_1}  finish {brilliance 0.4 diffuse 0.6} scale 0.5 ]         
           [1.0 pigment {cloud_area_2} finish {brilliance 0.4 diffuse 0.6} scale 0.5 ]
        
        }
                     
        scale 2             
        translate x*1
      //  scale 2   
     

   }
      
      
      
           
       
   

}   
  
  
  
  
  
  
  
  1. declare cloud1= texture {

pigment {

granite


octaves 60

turbulence 0.5 //scale x*3

color_map {

[0 color rgbt <1,1,1,1> ] [0.3 color rgbt <1,1,1,1> ] [0.5 color rgbt <1,1,1,0> ] [0.7 color rgbt <1,1,1,1> ] [1.0 color rgbt <1,1,1,1> ] }




} //pig

finish {

//ambient 0.1
 brilliance 0.2
}

} // tex



  1. declare cloud2= texture {

pigment { // agate granite // wrinkles scale 0.25 sine_wave

octaves 60

turbulence 0.01 //scale x*3

pigment_map {


[1.0 color rgbt <1,1,1,1> ] [0.5 color rgbt <1,1,1,1> ] [0.0 dents scale 0.1 color_map { [0 color rgbt <1,1,1,1>] [0.7 color rgbt <1,1,1,0.5>] [0.73 color rgbt <1,1,1,0.5>] [1 color rgbt <1,1,1,0>] } ]


}




} //pig

finish {
//ambient 0.1
 brilliance 0.2
}

} // tex



  1. declare zonal_clouds1=object {

sphere {0,1.006} //plane { z,0 }


texture {

   gradient y
//  turbulence 0.15
  
  turbulence 0.5
//   scale y*1/4
   sine_wave
   
   
  texture_map {
   [0/6 pigment {color rgbt <1,1,1,1>} ]
    [1/6 cloud1  ] 
    [2/6 pigment {color rgbt <1,1,1,1>} ]
    [3/6 cloud2  ] 
    [4/6 pigment {color rgbt <1,1,1,1>} ]
    [5/6 cloud1  ] 
    [6/6 pigment {color rgbt <1,1,1,1>} ]
   } 


   scale 2
   translate y*-1

}

}



 #declare Density1= 	density{ 

spherical ramp_wave


#declare mm = 0.0; #declare nn = 1.0;

#declare deltamm=0.01;

           #declare pp= 1.0;
           
           #declare rr=1.00; 
           
  
            color_map {
           #while(mm <= 1.0)
       


           #declare  rr=nn/2  ; 
           
            
           #declare ex2=exp(-(nn-0.2)*10)*7;
            
           #declare rr=ex2;
           
             
           #declare cc=<rr,rr,rr*1.8>;   
   
   
           #declare qq=mm*Atmosphere_Top;
             
           [qq rgb cc]
           #declare mm=mm+deltamm;  
           #declare nn=nn-deltamm;
     
    
   
           #end        
           
           }


} // en



// Atmosphere 2: density function   


  1. declare Density2=density { function
    {


    exp(-6.7*(sqrt(x*x+y*y+z*z) -1.00001)/0.05 )/1000 
    
    }   
    }
 
 
 
  1. declare Mat_Atm =
 material {
   texture {
     pigment {
       color rgbt <1.0, 1.0, 1.0, 1.0>
     }
   }
   interior {
     media {
       method 3
         
          scattering { 5 color rgb  <0.2, 0.4, 1>*Media_Intensity*0.7/2 eccentricity Media_Eccentricity }
 
          emission  <0.2, 0.4, 1>*0.5/100
          
       //    scattering { 5 color rgb  <0.2, 0.4, 1>*Media_Intensity*10 eccentricity Media_Eccentricity }
 
      //    emission  <0.2, 0.4, 1>/50000
          
       // samples 20,20
         samples atm_samples  // increase = more precise
 //intervals 1
       
       density { 
         Density1
       
       //  Density2
       }
     }
   }
 }
          
          
          
  1. declare atmos1=difference {
 sphere {
   <0,0,0>, 1
 }
 sphere { 
   <0,0,0>, 1
   scale (Earth_Radius+0.001)/(Earth_Radius+Atmosphere_Top)
 }
 material { Mat_Atm }
 scale Earth_Radius+Atmosphere_Top
 hollow on

}


  1. declare atmos2=difference {
 sphere {
   <0,0,0>, 1
 }
 sphere { 
   <0,0,0>, 1
   scale (Earth_Radius+0.001)/(Earth_Radius+Atmosphere_Top)
 }
 material { Mat_Atm }
 scale Earth_Radius+Atmosphere_Top
 hollow on

}




union { object {planeta_surf1} object {planeta_ice1}

object {clouds1}

////object {zonal_clouds1}

////object {atmos2}

object {atmos1}


rotate y*180 //rotate <20,30,40> }


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
current18:24, 28 September 2022Thumbnail for version as of 18:24, 28 September 20221,600 × 1,200 (1.09 MB)Merikanto (talk | contribs)Update
17:39, 28 September 2022Thumbnail for version as of 17:39, 28 September 20221,600 × 1,200 (1.11 MB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata