File:Big earth like planet has habitable moon 1.png

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

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

Captions

Captions

Big earth like planet has habitable moon

Summary[edit]

Description
English: Big earth like planet has habitable moon
Date
Source Own work
Author Merikanto

POV-Ray 3.7 source code

//////////////////////////////////// // // double planet or earthlike planet with very big, habitable moon // // different terrestrial planets 2 // // POV-Ray 3.7 source code // // 13.4.2023 0000.0001d1 //

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


  1. declare camera1=camera {
  // location <0,0,-5>  
 //  location <0,0,-5>*10
location <0,3,-5>*10    

look_at 0 angle 7 }


  1. declare light1=light_source {

<100,0,-100>*1000*1000*1000 color 1 }


  1. declare camera2=camera {
  // location <0,0,-5>  
   location <0,0,-4>
   look_at 0    
    up    <0,1,0>
 right  <2,0,0>

}


  1. declare light2=light_source {

<0,0,-5>*1000*1000*1000 color 1 }



  1. declare ra = seed(125);
  2. macro Rand0 (h);
  3. local rd = rand (ra);
  4. decalre rtn = rand (rd);

rtn

  1. end
  1. macro Rand();
  2. local rd = rand (ra);

Rand0 (Rand0 (rd) * Rand0 (rd))

  1. end


  1. declare land_function1=function {

// original

f_wrinkles(x,y,z)

}


  1. declare land_function2=function {
// original
// f_wrinkles(x,y,z)

// 1- // 1- f_granite(x,y,z) //f_wrinkles(x,y,z)/2*( (1- f_granite(x,y,z))/2 - (f_granite(x*16,y*16,z*16))/16 ) // f_wrinkles(x,y,z)/2- ( f_granite(x,y,z))/2 //f_agate(x,y,z)/2+f_granite(x/3,y/3,z/3)/2

 //  1- f_granite(x,y,z)
   f_granite(x,y,z)

}

  1. declare vegetation_function1=function {

// original

f_wrinkles(x,y,z)

}

  1. declare vegetation_function2=function {

// original

f_wrinkles(x,y,z)/3+f_agate(x,y,z)/8+f_granite(x*10,y*10,z*10)/16+f_granite(x*50,y*50,z*50)/32+f_granite(x*150,y*150,z*150)/64

}


  1. macro planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2,icess1, cloudss1, cloudss2, atmoss1, bumps1, vegetations1, testing1)



  1. declare land1=pigment {
  1. if(vegetations1=1)
 function {vegetation_function1(x,y,z)} 

  1. end
  2. if(vegetations1=2)
 function {vegetation_function2(x,y,z)} 

  1. end


turbulence turb1 //agate // granite //wrinkles

pigment_map 
   {
   [0 rgb <0.73, 0.57, 0.43>] 

// [desertlimit1-0.05 rgb <0.73, 0.57, 0.43>]

  [desertlimit1-0.01 rgb <0.09, 0.14, 0.04>] 
   [(desertlimit1+1)/2-0.2 rgb <0.30, 0.25, 0.15>]
   [1 rgb <0.09, 0.14, 0.04>]
   }

}

  1. declare land2=pigment {
  #if(vegetations1=1)    
 function {vegetation_function1(x,y,z)} 

  1. end
  2. if(vegetations1=2)
 function {vegetation_function2(x,y,z)} 

  1. end
    turbulence turb1

// granite //wrinkles

pigment_map 
   {  
   [0 rgb <0.09, 0.14, 0.04>] 
 //      [desertlimit1-0.1 rgb <0.30, 0.25, 0.15>]
 //  [desertlimit1-0.01 rgb <0.09, 0.14, 0.04>] 
   [(desertlimit1+1)/2 rgb <0.73, 0.57, 0.43>] 
   [1 rgb <0.73, 0.57, 0.43>]
   }

}


  1. declare sea1=pigment {

color rgb <0.01, 0.02, 0.08> }

  1. declare landtex1 = texture {
pigment {land1}  
  normal {
       function {land_function1(x,y,z)}   

, bumps1

   turbulence turb1

}

finish {ambient 0}

}

  1. declare seatex0 = texture {
pigment {color rgb <0,0,1>}  
 finish {ambient 0} 

}

  1. declare seatex1 = texture {
pigment {sea1}  
 finish {ambient 0} 

}


  1. declare ptex1 = texture {
 //  function {land_function1(x,y,z)}
   #if (landtype1=1)
   function {land_function1(x,y,z)} 
       #end
   #if (landtype1=2)
   function {land_function2(x,y,z)} 
       #end    


      turbulence turb1
   scale continents_scale1

texture_map

   {
   [0 landtex1 finish {ambient 0}]
   [landlimit1-0.01 landtex1 finish {ambient 0}] 
   [landlimit1+0.01 seatex1 finish {ambient 0}]   
   [1 seatex1 finish {ambient 0}]
   }
}


  1. declare testex1 = texture {
   #if (landtype1=1)
   function {land_function1(x,y,z)} 
       #end
   #if (landtype1=2)
   function {land_function2(x,y,z)} 
       #end
      turbulence turb1
   scale continents_scale1

texture_map

   {
       [0 landtex1 finish {ambient 0}]
   [landlimit1-0.01 landtex1 finish {ambient 0}] 
   [landlimit1+0.01 pigment { color 0 } finish {ambient 0}]   
   [1 pigment {color 0 } finish {ambient 0}]
   }


}


  1. declare eis1=pigment {

granite scale 1/15

color_map {
  [0 color rgbt 1] 
[0.1 color rgbt 1] 
[0.5 color rgb 1]
[1 color rgb 1*3]

} // warp {turbulence 1} }


  1. declare icetex1= texture {

pigment {

gradient y // agate // granite // onion // wood


//turbulence 0.03 pigment_map { [0 color rgb 2] [0.05 eis1] [icelimit1 color rgbt 1]

[(1-icelimit2) color rgbt 1]
[0.95 eis1]
[1 color rgb 2]

}

// warp {turbulence 0.01}

scale 2 translate y*1

}

finish {ambient 0}

}


  1. declare icetex2= texture {
        pigment
           {
           //granite
             agate


           pigment_map
              {
              [ .45
                 gradient y
                 color_map
                    {
                       [ 0 colour rgb 40            ]
                       [ icelimit1 colour rgbt 1 ]    
                             [ 1-icelimit2 colour rgbt 1 ] 
                    [ 1 colour rgb 40           ]
                    }
                    scale 2
                    translate -1
                 scale 60
                 warp { turbulence 1 }
                scale 1/90   
                
              ]  


 }       

scale 2 }

}



  1. declare clouds1= sphere {
0,1

texture {

pigment { //granite

 wrinkles

turbulence 1.5

 scale 1/4

color_map {

  [0 color rgbt 1] 
[cloudlimit1 color rgbt 1]
[1 color rgb 1]

}

}


}


finish {ambient 0}

  1. declare rax=SRand(1)*360;
  2. declare ray=SRand(2)*360;
  3. declare raz=SRand(3)*360;

rotate <rax, ray, raz>

scale 1.002 }


  1. declare clouds2= sphere {
0,1

pigment { granite

// wrinkles

turbulence 2

 scale 1/4

color_map {

  [0 color rgbt 1] 
[cloudlimit1 color rgbt 1]
[1 color rgb 1]

}

}

finish {ambient 0}

  1. declare rax=SRand(1)*360;
  2. declare ray=SRand(2)*360;
  3. declare raz=SRand(3)*360;

rotate <rax, ray, raz>

scale 1.003 }


//## clouds3 props


//#declare beltwidth1=0.8;

  1. declare beltwidth1=cloudlimit1;
  2. declare cloudfrac1=0.5;
  3. declare cloudscale1=1/5;
  4. declare zoneturbulence1=1;


  1. declare cloudes1= pigment {
wrinkles   scale cloudscale1  turbulence 0.5
       pigment_map{

[0.000 color rgbt <1,1,1,1>]

      	   [cloudfrac1 granite scale 1 turbulence 0.5 color_map {[0 color rgbt <1,1,1,1>] [0.5 color rgbt <1,1,1,1>]  [1 color rgbt <1,1,1,0>]} ]

[1.000 color rgbt <1,1,1,0>] } }


  1. declare clouds3=sphere { <0, 0, 0>, 1.004


pigment{ marble turbulence zoneturbulence1 scale 1/2 rotate z*90

       pigment_map{

[0.000 cloudes1]

       [beltwidth1  color rgbt 1]

[1.000 color rgbt 1] }

   }

finish {ambient 0}

#declare rax=SRand(1)*360;
  1. declare ray=SRand(2)*360;
  2. declare raz=SRand(3)*360;

rotate <0, ray, 0> }


  1. declare atm1=sphere {0,1


  pigment { rgbt 1 } hollow
  interior
  { media
    { scattering { 4, 40*<1/3,1/3,1> extinction 0.1 }
      samples 10,20  
     
     density {
  

spherical

  color_map {
       [0, color rgb 0]
       [0.1, color rgb 0.3] 
       [1, color rgb 1]
       }
       }
    }
  }

scale 1.04 }


  1. declare atm_intensity1=300;
  2. declare atm_emission1=0.0;
  3. declare atm_eccentricity1=0.56;
  4. declare atm_atmosphere_top1=0.02;


  1. declare atm_density2=
 density {
   spherical
   poly_wave 3
   color_map {
     [ 0.0  rgb 0.0 ]
     [ 0.5294*0.25e-6  rgb <0.02, 0.05, 0.2>*0.07 ]
     [ 0.5294*0.4e-6   rgb <0.02, 0.07, 0.3>*0.32 ]
     [ 0.5294*0.5e-6   rgb <0.08, 0.18, 0.4>*0.5 ]
     [ 0.5412*0.6e-6   rgb <0.08, 0.18, 0.4>*0.9 ]
     [ 0.5471*0.65e-6  rgb <0.08, 0.18, 0.4>*1.5 ]
     [ 0.5471*0.675e-6 rgb <0.08, 0.18, 0.4>*4.5 ]
     [ 0.5471*0.71e-6  rgb <0.08, 0.18, 0.4>*12 ]
     [ (1+0.01)/(1+atm_atmosphere_top1) rgb <0.0, 0.0, 0.0> ]
   }
 }


  1. declare mat_atm2 =
 material {
   texture {
     pigment {
       color rgbt <1.0, 1.0, 1.0, 1.0>
     }
   }
   interior {
     media {
       method 3
       scattering { 5 color rgb 0.01*atm_intensity1 eccentricity atm_eccentricity1 }
       emission rgb atm_emission1*0.01*atm_intensity1
       density {
         atm_density2
       }
     }
   }
 }


  1. declare atm2=sphere {0,1
 //   pigment { rgbt 0 } hollow
  pigment { rgbt 1 } hollow

 material {
mat_atm2 }

scale 1+atm_atmosphere_top1 }


  1. declare planet1= union {

object {sphere {0,1}

   texture{ptex1}

}


  1. if (icess1=1)

object { sphere {0,1.001} texture

   {
   icetex1 
   }


finish {ambient 0} }

  1. end
  1. if (icess1=2)

object { sphere {0,1.001} texture

   {
   icetex2 
   }


finish {ambient 0} }

  1. end
  2. if (cloudss1=1)
   object {clouds1} 
  1. end
  1. if (cloudss2=1)
   object {clouds2} 
  1. end


  1. if (cloudss1=3)
   object {clouds3} 
  1. end


  1. if (atmoss1=1)
   object {atm2} 
  1. end

}


  1. declare testmap1= object {

plane { z,0 }

//texture {ptex1}

texture {testex1}


}


  1. if (testing1=0)

object { planet1}

  1. end


  1. if (testing1=1)

// black sea testmap

 object {testmap1} 
  1. end


  1. end




light_source {light1} camera {camera1}


//light_source {light2} //camera {camera2}



#declare testing1=0; // 1 make test image, 0 draw planet 


  1. declare landtype1=1;
  2. declare vegetations1=2;
  1. declare icess1=2;
  2. declare cloudss1=3;
  3. declare cloudss2=0;
  1. declare atmoss1=1;
  1. declare bumps1=-0.3*2;


  1. declare continents_scale1=1;
  2. declare turb1=0.1; //## continent shape


// landtype1=1: agate


//#declare landlimit1=0.4057; // for agate, 25 % land


//#declare landlimit1=0.6096; // for agate, 80 % land //#declare landlimit1=0.4862; // for agate, 50 % land //#declare landlimit1=0.3564; // for agate, 20 % land

//#declare landlimit1=0.2935; // for agate, 10 % land


//#declare landlimit1=0.35;


  1. declare landlimit1=0.6; // lots land

//#declare landlimit1=0.3; // smaller land

//#declare desertlimit1=0.5; //#declare desertlimit1=landlimit1+(1-landlimit1)/2;

  1. declare desertlimit1=landlimit1/1.5;

//#declare cloudlimit1=pow(landlimit1*1,0.5)-pow(landlimit1*1,0.5)/6;

  1. declare cloudlimit1=0.9;
  1. declare icelimit1= 0.12;
  2. declare icelimit2= 0.2;


object {

planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2, icess1, cloudss1,cloudss2, atmoss1,bumps1,vegetations1, testing1)

scale 1.4 translate x*-1.2

//scale 2

}



 #declare testing1=0; // 1 make test image, 0 draw planet 


  1. declare landtype1=1;
  2. declare vegetations1=2;
  1. declare icess1=2;
  2. declare cloudss1=3;
  3. declare cloudss2=1;
  1. declare atmoss1=1;
  1. declare bumps1=-0.3*2;


  1. declare continents_scale1=1;
  2. declare turb1=0.1; //## continent shape



// landtype1=1: agate


//#declare landlimit1=0.4057; // for agate, 25 % land


//#declare landlimit1=0.6096; // for agate, 80 % land //#declare landlimit1=0.4862; // for agate, 50 % land //#declare landlimit1=0.3564; // for agate, 20 % land

//#declare landlimit1=0.2935; // for agate, 10 % land


  1. declare landlimit1=0.35;


//#declare landlimit1=0.6; // lots land

//#declare landlimit1=0.3; // smaller land

//#declare desertlimit1=0.5; //#declare desertlimit1=landlimit1+(1-landlimit1)/2;

  1. declare desertlimit1=landlimit1/1.5;

//#declare cloudlimit1=pow(landlimit1*1,0.5)-pow(landlimit1*1,0.5)/6;

  1. declare cloudlimit1=0.6;
  1. declare icelimit1= 0.15;
  2. declare icelimit2= 0.1;


object {

planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2, icess1, cloudss1,cloudss2, atmoss1,bumps1,vegetations1, testing1)

rotate z*180

scale 0.7 translate x*2

// scale 2

}


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
current13:07, 13 April 2023Thumbnail for version as of 13:07, 13 April 20231,600 × 1,200 (519 KB)Merikanto (talk | contribs)Ices
10:46, 13 April 2023Thumbnail for version as of 10:46, 13 April 20231,600 × 1,200 (494 KB)Merikanto (talk | contribs)Clouds to zones
08:27, 13 April 2023Thumbnail for version as of 08:27, 13 April 20231,600 × 1,200 (521 KB)Merikanto (talk | contribs)Update of scene: vegagtation, clouds ...
16:32, 12 April 2023Thumbnail for version as of 16:32, 12 April 20231,600 × 1,200 (994 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata