File:Protoplanetary disk 4 rend 1.png

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

Captions

Captions

Protoplanetary disk

Summary

edit
Description
English: Protoplanetary disk
Date
Source Own work
Author Merikanto

POV-Ray 3.7 source code

// // protoplanetary disk: proplyd // pov-ray v. 3.7 povray source code // 5.1.2023 0000.0000 //

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

camera {

 location <0,3,-3>
 look_at <0,0,0>  
 
 angle 40

}

//background { rgb 0 }


 sky_sphere {
  

 pigment {
    bozo
      scale 1/1000
         color_map 
    {
    [0 rgb 1]
    [0.2 rgb 0] 
    [1 rgb 0] 
    
    }
    
    }
   
   
  pigment {
   wrinkles
        scale 1
            color_map 
    {
    [0 rgbt <1,1,1,1>]
    [0.8 rgbt <0,0,1,0.5>] 
    [1 rgbt <0.5,0.5,2,0>] 
    
    }

}


}


  1. declare gastorus1= object {
   isosurface { 
       function {  

/*

        f_torus(x, y, z, 1, 0.5) 
       + f_ripples(x*5,y*5,z*5)/10
       + f_wrinkles(x*20,y*20,z*20)/20
        
       + f_granite (x*10,y*10,z*10)/5 
        */
       f_torus(x, y, z, 1, 0.5) 
      // - f_waves(x*2,y*2,z*2)
       + f_ripples(x*5,y*5,z*5)/4
     //  + f_noise3d(x*10,y*10,z*10) /10
       +  f_granite (x*3,y*3,z*3)/3 
       + f_wrinkles(x*20,y*20,z*20)/20
      // -f_spiral1(x*3,y*3,z*3)+  f_granite (x/5,y/5,z/5) 
       
       }
   contained_by { sphere {0,3} }
     accuracy 0.0000000001  
   // max_gradient 50
     //   threshold 0.000000001
       scale 0.8
     // scale y/2
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 1 
 //  emission 1/3 
   method 3 samples 30,30 intervals 1 
   scattering {3,30}
   
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {
 //  sin(sqrt(x*x+y*y+z*z) )
   
  // sin(f_onion(x*10,y*10,z*10)) *f_granite(x*3,y*3,z*3) +f_noise3d(x*50,y*50,z*2000)
  // f_onion(x,y,z)+
  // f_ripples(x*24,y*24,z*100)+ f_ripples(x*60,y*60,z*1000) +f_noise3d(x*10,y*10,z*2000) + f_noise3d(x*30,y*30,z*2000)
      //  f_noise3d(x*3,y*3,z*3)
 //  f_waves(x/10,y/10,z/10)
//  f_granite (x/5,y/5,z/5) +f_noise3d(x*5,y*5,z*5/3)
  
  //  f_ripples(x,y,z)  

/*

    f_spiral1(x*3,y*3,z*3) 
  +  f_granite (x/5,y/5,z/5)
 + f_granite (x*5,y*5,z*5)/10
 */  
sin(sqrt(x*x+y*y+z*z) )

//+ f_spiral1(x*3,y*3,z*3)

 +  f_waves(x*5,y*5,z*5)/5 
  + f_granite (x*2,y*2,z*2) 

//+f_agate(x*x,y*y,z*z)

   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
   //  turbulence 0.5
      
    // spherical
    //   warp { turbulence 0.1 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,0.1,0>/3] }
     
     
     } 
     
     
   }
  
    
  /*  
   media { 
   absorption 3 scattering { 1 .3 } method 3 samples 30,30 intervals 1
     density {
    spiral1 4
    //   granite
     //  toroidal
   //   spherical
       warp { turbulence 0.0 }
       density_map {
         [0 rgb 0]
         [1 rgb 1]
        }
     }
   }
    */
   
 }
  

}


#declare gasdisk1=sphere {
0,0.85
scale y/50 
    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
 //  absorption 1 
 //  emission 2
   method 3 samples 30,30 intervals 1 
   scattering {3,10}
   
     density { 
   //   agate 
  //  waves
   //ripples
  //  wood 

//scale 0.01

 //   onion
   
   function {
   //sqrt(x*x+y*y)
   
  // sin(f_onion(x*10,y*10,z*10)) *f_granite(x*3,y*3,z*3) +f_noise3d(x*50,y*50,z*2000)
  // f_onion(x,y,z)+
 //  f_ripples(x*24,y*24,z*100)+ f_ripples(x*60,y*60,z*1000) +f_noise3d(x*10,y*10,z*2000) + f_noise3d(x*30,y*30,z*2000)
  
  f_waves(x*100,y*100,z*100) * f_wrinkles(x*x,y*y,z*z)* f_granite(x*10,y*10,z*10) 
   }
    
    rotate x*90
    
 //   scale 1/15
    sine_wave
    //  granite  
   //  turbulence 0.2
      
    // spherical
    //  warp { turbulence 0.1 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,.5,0>] }
     
     
     } 
     
     
   }
  
    


 }
  

}

  1. declare sun_object1=object {

sphere {0,0.02} texture { pigment {color rgb <1,1,0.5>} finish {emission 2} }

}

  1. declare sun1= union {
 /*
 sphere {0,0.01
  hollow
   texture {
   pigment {
   granite 
 //   agate
    scale 0.01
   color_map {
       [0 color rgbt 1] 
        [0.7 color rgbt 1]
       [1 color rgbt <1,1,1,0>]
       }   
   }

} //finish {emission 1} }

  • /
light_source { <0,0,0> 10

fade_power 4
fade_distance 0.2
 
 looks_like {
 object {sun_object1}
 }
 } 

}


  1. declare jets1= union {

cone { <0, 0, 0>, 0.01 ,<0, 10, 0>, 0.5 } cone { <0, 0, 0>, 0.01 ,<0, -10, 0>, 0.5 }

   hollow no_shadow
 texture { pigment { rgbt 1 } }
 
 interior { 
  
   
   media { 
 //  absorption 1 
 //  emission 2
   method 3 samples 30,30 intervals 1 
   scattering {1,<1,1,2>*40}
    
    density {
    granite
    turbulence 0.5
    scale 0.1

scale y*4

    }
    
 }
 }  
   
   

}






  1. declare fn_Pigm=function {
   pigment {
     agate
     color_map {
       [0 color rgb 0]
       [1 color rgb 1]
     }
   }
 }
  1. declare stonee= object {

/* isosurface {

   //function { f_sphere(x, y, z, 0.5) - f_noise3d(x, y, z) }
   function { f_sphere(x, y, z, 0.5) - f_noise3d(x * 5, y * 5, z * 5) * 0.5 }
   //  function { f_sphere(x, y, z, 0.5)-fn_Pigm(x/2, y/2, z/2).gray*0.5 }
   threshold 0
   accuracy 0.005
*/

sphere{ 0,1 }

   texture {
       pigment {color <1,1,1>/3  }
       finish{
       diffuse 0.5
       ambient 0.0
       specular 0.0
       reflection 0.1
     }
   }


}


  1. macro asteroid_belt_1()
  1. declare rmax=0.0;
  2. declare rmin=0.5;
  3. declare rdelta=rmax-rmin;
  4. declare rmid=(rmax+rmin)/2;
  1. declare fiidelta=10;


  1. local nn=0;


  1. declare theta=0.0;
  2. declare fii=0.0;


  1. while (nn<5000)
   object 
   {
       stonee    
       


       #declare seed1=seed(nn*1);
       #declare seed2=seed(nn*15143);
       #declare seed3=seed(nn*76359);
       #declare seed4=seed(nn*8987547);
       #declare seed5=seed(nn*1543); 
       
       #declare seed6=seed(nn*76923439);
       #declare seed7=seed(nn*87639);
       #declare seed8=seed(nn*76312); 
       
       #declare theta=radians( rand(seed1)*360 );
 
       #declare a1=Rand_Normal( 1.0, 0.33, seed2 );
       #declare rc1=a1*rdelta+rmid;   
        
       #declare a2=Rand_Normal( 1.0, 0.5, seed3 );
        
       
       #declare zc1= rand(seed4)*rc1/10-rc1/20; 
       
       #declare zc2=zc1*a2;
                                  
                                    
       #declare x1=cos(theta)*rc1;
       #declare y1=sin(theta)*rc1;
       #declare z1=zc2;


       #declare de1=rand(seed5);
       
       // fictional size distribution
       //#declare skale1=pow(de1,-0.111)*0.1;  
       
        #declare skale1=pow(de1,-0.333)*0.1; 
       
         
       #declare rot1=rand(seed6)*360;
       #declare rot2=rand(seed7)*360;     
       #declare rot3=rand(seed8)*360;
         
     
       scale skale1 
       scale 1/1000
       
       rotate <rot1,rot2, rot3>  
 
       translate <x1,y1,z1>
    }
     
 #local nn=nn+1;
  1. end
  1. end


  1. declare media1= media {
 //  absorption 1 
 //  emission 2
   method 3 samples 40,80 intervals 1 
   scattering {
   
   3,<2,1,1>*3/10000000000
   
   extinction 0.000000001
   }   
   
   
   }

union {

//object {jets1} light_source { sun1 }

object {gastorus1}

object {gasdisk1}


//rotate <10,20,30> // rotate <30,40,50>

rotate <50,60,70>

}


media {media1}


//asteroid_belt_1()


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:28, 5 January 2023Thumbnail for version as of 13:28, 5 January 20231,600 × 1,200 (560 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata