File:Giant gaseous ring planet and 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: 254 KB, MIME type: image/png)

Captions

Captions

Ring planet and moon

Summary

[edit]
Description
English: Giant gaeous planet, that has ring and moon.
Date
Source Own work
Author Merikanto


POV-Ray 3.8 source code

//////////////////////////////////////
//                                                                                                                       
// pov-ray 3.8 source code
//
// ring giant planet  , moon shadow on its surface
//
// 23.9.2024 v 0000.0002x  
//  
////////////////////////////////////////
  1. include "functions.inc"
default { finish { ambient 0.000002 diffuse 0.7 } }    
 

light_source { <25000,1000,-10000>, 2}

camera {

 location  <0,0,-5>*1.3
 angle 50
 look_at   0

}



//background{rgb .1}

// giant planet

  1. declare giantplanet1=sphere {0,1
      texture {
       pigment {
       

// function {(sin(abs(y*3))*0.5+0.5 ) +f_wrinkles(0,y,0) }

  function { ((sin(y*12)/2)+0.5)*0.5+f_wrinkles(0,y*10,0)*0.5 }
    //   gradient y 
       //       sine_wave
       
       //turbulence .03 
       
     //  frequency -3    
       
       warp {
        turbulence 0.05
       }         
       color_map {
       [0 color rgb <.85,.8,.725>]
         [0.1 color rgb <.85,.8,.725>]  
         [1 color rgb <0.9,1,1>]
       }
       


//   scale <.2,1,.2> rotate 15*y translate -.05*y
                
                
 warp {black_hole <.5,-.5,-.8>,.25 falloff 1 strength 1.2 turbulence 0 
 inverse
 
 }


                }
finish {ambient .00 diffuse .55 phong .075 phong_size 1.5 specular .025 roughness .01}
      }
scale <1,.91,1> 


}





#declare ringatex1 = texture {
     


       pigment {
        
  //    onion
  //  scale 0.01
     function {f_onion(x,y,z)*f_granite(sqrt(x*x+z*z),0,0)*f_wrinkles(sqrt(x*x+z*z)*6,0,0) }        


       octaves 70
     // frequency 19
      //    sine_wave
         
       color_map 
       {
           [0 rgbt <1,1,1,0>*1] 
           [1/2 rgbt <1,1,1,1>]
           [1 rgbt <1,1,1,1>]
       }
   
     
     
  
     }  
     
    finish {ambient .03 refraction 0.95 diffuse .55 brilliance 0.2 phong .075 phong_size 0.5 specular .025 roughness .01} 
   
   
 }  
  
 



  #declare rings1=object {
 
 torus {

//2.15, 0.12

 2,0.5
 scale y/1000000
 }
  
  texture {ringatex1}  
  
 }
 
   
   
    





// moon

  1. declare moon1=sphere {0,1
      texture {
       pigment {spotted turbulence .5 frequency -1
                color_map {
               [0 color rgb <.8,.4,.5>]
               [.25 color rgb <.9,.6,.4>]
               [.33 color rgb <.8,.7,.6>]
               [.67 color rgb <.9,.8,.6>]
               [.9 color rgb <.8,.7,.7>]
               [1 color rgb <.9,.85,.8>]
                           } scale .25
warp {black_hole <.25,.25,.5>,.125 falloff 2 strength 2 repeat <.1,.1,.1> turbulence .125 inverse}
                }
finish {ambient .06 diffuse .5 phong .05 phong_size 5 specular .025 roughness .025}
      }
scale .018 

}



  1. declare planetring1= union {

object {giantplanet1 } object {rings1}


}



object { planetring1

rotate x*-20

}


object { moon1 translate <2,0,-1.5> }


Old code


// pov-ray 3.8 source code

// ring giant planet 

// 27.9.2022 v 0000.0001

default { finish { ambient 0.000002 diffuse 0.7 } }    
 

light_source { <25000,100,-10000>, 2}

camera {

 location  <0,4,-8>
 angle 50
 look_at   0

}



//background{rgb .1}

// giant planet

  1. declare giantplanet1=sphere {0,1
      texture {
       pigment {
       
       
       gradient y 
              sine_wave
       
       turbulence .03 frequency -3    
       
       color_map {
       [0 color rgb <.85,.8,.725>]
         [0.1 color rgb <.85,.8,.725>]  
         [1 color rgb <0.9,1,1>]
       }
       


   scale <.2,1,.2> rotate 15*y translate -.05*y
                
                
 warp {black_hole <.5,-.5,-.8>,.25 falloff 1 strength 3.2 turbulence 0 
 inverse
 
 }


                }
finish {ambient .03 diffuse .55 phong .075 phong_size 1.5 specular .025 roughness .01}
      }
scale <1,.91,1> 


}




  1. declare rt1 = texture {


       pigment {
       onion  
       octaves 40
       frequency 19
           sine_wave
         
       color_map 
       {
           [0 rgbt <1,1,1,0.2>]
           [1 rgbt <1,1,1,0.8>]
       }
   
  
     
  
     }  
     
    finish {ambient .03 diffuse .55 brilliance 0.3 phong .075 phong_size 1.5 specular .025 roughness .01}     
   

}


  1. declare rt2 = texture {


       pigment {
       onion  
       octaves 60
       frequency 24
  
       sine_wave
         
       color_map 
       {
           [0 rgbt <1,1,1,0.5>]
           [1 rgbt <1,1,1,0.77>]
       }
   
  
     
  
     }  
     
    finish {ambient .03 diffuse .55 brilliance 0.3 phong .075 phong_size 1.5 specular .025 roughness .01}     
   

}


  1. declare rt3 = texture {


       pigment {
       onion  
       octaves 60
       frequency 23
  
       sine_wave
         
       color_map 
       {
           [0 rgbt <1,1,1,0>]
           
           [1 rgbt <1,1,1,0.5>]
       }
   
  
     
  
     }  
     
    finish {ambient .03 diffuse .55 brilliance 0.3 phong .075 phong_size 1.5 specular .025 roughness .01}     
   

}


#declare rt4 = texture {
 
             
       pigment {
       onion  
       octaves 60
       frequency 31
  
       sine_wave
         
       color_map 
       {
           [0 rgbt <1,1,1,0>]
           
           [1 rgbt <1,1,1,0.5>]
       }
   
  
     
  
     }  
     
      finish {ambient .03 diffuse .55 brilliance 0.3 phong .075 phong_size 1.5 specular .025 roughness .01}   
   

}


#declare rt5 = texture {
 
             
       pigment {
       onion  
       octaves 60
       frequency 31
  
       sine_wave
         
       color_map 
       {
           [0 rgbt <1/2,1/2,1/2,0.2>]
           
           [1 rgbt <1/5,1/5,1/5,0.5>]
       }
   
  
     
  
     }  
     
     
    finish {ambient .03 diffuse .55 brilliance 0.3 phong .075 phong_size 1.5 specular .025 roughness .01}   

}



  1. declare ringb_texture_1 = texture {
      onion   
      

       texture_map {
         
        [ 0 , rt1 ]  
        [0.7 , rt4 ]  
         [0.8 , rt1 ]
          [1.0 , rt4 ]
    }
   
   
  
   
 }
 
 
 
  
#declare ringa_texture_1 = texture {
     
      onion   
      

       texture_map {
      //   [0.1 , rt2 finish { diffuse 0.2 } ]   
         [0.0 , rt3 ] 
           [0.3 , rt5 ]
        [1.0 , rt5 ]  
    }
   


 }  
  
 

 #declare ringc_texture_1 = texture {
     
      onion   
      

       texture_map {
      //   [0.1 , rt2 finish { diffuse 0.2 } ]   
         [0.0 , rt3 ] 
           [0.5 , rt5 ]
        [1.0 , rt5 ]  
    }
   
   


 } 

      
 #declare ringb1=object {
 
 torus {1.75, 0.25
 scale y/1000000
 }
  
    
  
 }
  
  
  #declare ringa1=object {
 
 torus {2.15, 0.12
 scale y/1000000
 }
  
    
  
 }
 
   
   
   #declare ringc1=object {
 
 torus {1.375, 0.12
 scale y/1000000
 }
  
    
  
 }
    
   
   
 
 #declare rings1= union {
  object {ringa1
       texture {
      ringa_texture_1 
         
      }
  }

   object {ringb1
    
    texture {
      ringb_texture_1
    }
    
   }
   
    object {ringc1
         texture {
      ringc_texture_1
    }
    
    }
 
  
  texture {
 // pigment {color rgb 1}
  

// ringa_texture_1

  }
  
 }
   
 
 
 
 
 
 
 
 
 
 
 
 

// moon

  1. declare moon1=sphere {0,1
      texture {
       pigment {spotted turbulence .5 frequency -1
                color_map {
               [0 color rgb <.8,.4,.5>]
               [.25 color rgb <.9,.6,.4>]
               [.33 color rgb <.8,.7,.6>]
               [.67 color rgb <.9,.8,.6>]
               [.9 color rgb <.8,.7,.7>]
               [1 color rgb <.9,.85,.8>]
                           } scale .25
warp {black_hole <.25,.25,.5>,.125 falloff 2 strength 2 repeat <.1,.1,.1> turbulence .125 inverse}
                }
finish {ambient .06 diffuse .5 phong .05 phong_size 5 specular .025 roughness .025}
      }
scale .018 translate <3,-.075,-1>

}



  1. declare planetring1= union {

object {giantplanet1 } object {rings1}


}



object { planetring1 }


object { moon1 }

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
current08:24, 24 September 2023Thumbnail for version as of 08:24, 24 September 20231,600 × 1,200 (254 KB)Merikanto (talk | contribs)Update
06:05, 27 September 2022Thumbnail for version as of 06:05, 27 September 20223,600 × 2,700 (578 KB)Merikanto (talk | contribs)Update of code: rings
18:30, 17 September 2022Thumbnail for version as of 18:30, 17 September 20221,600 × 1,200 (184 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata