File:Epsilon aurigae artistic rendering 1 1 1 1.png

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

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

Captions

Captions

Epsilon aurigae, view of artist

Summary

[edit]
Description
English: Epsilon Aurigae, view of artist
Date
Source Own work
Author Merikanto


POV-Ray 3.7 source code

Rendering kommand line

povray epsilon4.pov +Q9 +W1600 +H1200


// // Epsilon Aurigae type star // pov-ray v. 3.7 povray source code // 12.10.2023 0000.0002x3 //

  1. declare samples1=100;
  1. declare tauorig=90+90;
  1. declare taunolla=clock+tauorig;
  1. declare tau1=radians(taunolla);
  2. declare tau2=radians(taunolla+180.0);
  1. declare ra=4;
  2. declare rb=4;
  3. declare rc=1;
  1. declare ax = sin(tau1)*ra;
  2. declare ay = cos(tau1)*ra;
  1. declare bx = sin(tau2)*rb;
  2. declare by = cos(tau2)*rb;


  1. declare cx = sin(tau1*4)*rc;
  2. declare cy = cos(tau1*4)*rc;
  1. declare sax=ax*1;
  2. declare say=ay*1;
  3. declare sbx=bx*1;
  4. declare sby=by*1;
  5. declare scx=cx*1;
  6. declare scy=cy*1;
  1. include "functions.inc"
  2. include "rand.inc"

declare camera0=camera {

 location <0,30,-7>
 look_at <0,0,-7>  
 
 angle 20

}

  1. declare camera1=camera {
 location <0,4,-20>
 look_at <0,0,0>  
 
 angle 40

}

camera {camera1}


background { rgb 0 }



  1. declare sky1= sky_sphere {


 pigment {
    bozo
      scale 1/1000
         color_map 
    {
    [0 rgb 1]
    [0.2 rgb 0] 
    [1 rgb 0] 
    
    } }
   
  pigment {
    bozo
      scale 1/3000
         color_map 
    {
    [0 rgb 1]
    [0.2 rgb 0] 
    [1 rgb 0] 
    
    }}   


  pigment {

//granite scale 10


  wrinkles
turbulence 0.5
        scale 0.27
            color_map 
    {
    [0 rgbt <1,1,1,1>]
   // [0.5 rgbt <1,1,1,1>]
//   [0.5 rgbt <0.25/100,0.25/100,1/2/100,0.9>] 
   // [1 rgbt <0.25/100,0.25/100,1/2/100,0.9>] 
        [1 rgbt <0.9,0.9,1,0.9>]  
    }}



}


  1. declare gastorus1= object {
   isosurface { 
       function {  
     //   f_torus(x, y, z, 1, 0.8)       
                   f_torus(x, y, z, 1, 0.8)*0.8

+ f_spiral1(x*1,z*1,y*1)*0.2 //-f_agate(f_spiral1(x*1,y*1,z*1),f_spiral1(x*1,y*1,z*1),f_spiral1(x*1,y*1,z*1) ) +f_agate(x*6,y*6,z*6)*0.2


//+f_wrinkles(x*2,y*2,z*2)*0.25

//- f_spiral1(x*1,z*1,y*1)*0.25

   // * f_ripples(x*4,z*4,y*4)/1
 //     * f_wrinkles(x*20,y*20,z*20)/1 
}
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.0000000001  
   max_gradient 5
   //    threshold 0.000000001
       scale 0.8
     scale y/3
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 10
 //  emission 1/3 
   method 3 samples 20,30 intervals 1 
    scattering {1,3*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {


            f_torus(x, y, z, 1, 0.8)*0.66 
     
 + f_spiral1(x*1.5,z*1.5,y*1.5)
//  + f_ripples(x*4,z*4,y*4)/8
     + f_wrinkles(x*10,y*10,z*10)/1
       + f_agate (x*4,y*4,z*4)/1    
  //   + f_granite (x*4,y*4,z*4)/5 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
   //  turbulence 0.2
      
    // spherical
  //   warp { turbulence 0.2 }
     
       density_map {
         [0.0 rgb <0.1,0.1,0.1>]
  
         [1 rgb <1,1,1>*0.9] }
     
     
     } 
     
     
   }
  
   /* 
 
   media { 
   absorption 10 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]
        }
     }
   }
    */
   
 }
  

}


// gas envelope 1

  1. declare gas_envelope1=union {
 object {
   
   isosurface { 
       function {  
     //   f_torus(x, y, z, 1, 0.8)       
                   f_torus(x, y, z, 1, 0.8)*0.66
     

- f_spiral1(x*1,z*1,y*1)*0.25

    * f_ripples(x*4,z*4,y*4)/1
//    - f_wrinkles(x*10,y*10,z*10) 
  - f_agate(x*100,y*100,z*100) 
}
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.000000001  
   max_gradient 5
   //    threshold 0.000000001
       scale 0.8
     scale y/30
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 10
 //  emission 1/3 
   method 3 samples 10,30 intervals 1 
    scattering {3,1.0*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {


            f_torus(x, y, z, 1, 0.8)*0.66 
     
 + f_spiral1(x*3,z*3,y*3)
    + f_ripples(x*8,z*8,y*8)/4
      // + f_wrinkles(x*100,y*100,z*100)/4
         + f_agate (x*4,y*4,z*4)/3    
  //   + f_granite (x*4,y*4,z*4)/5 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
   //  turbulence 0.2
      
    // spherical
  //   warp { turbulence 0.2 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,1,1>/1] }
     
     
     } 
     
     
   }
  
    
 /*
   media { 
   absorption 100 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]
        }
     }
   }
    */
   
 }
  

} } // union


  1. declare sun_object_1=

union {

object { sphere {0,1} texture { pigment {color rgb <1,1,0.5>} finish {emission 5} } }

// surround of star

object {


  sphere{ 0,1 }
 
 hollow
 pigment{ color rgbf<1,1,1,1>}
 finish { ambient 0 diffuse 0 }
 interior {
  
media {
  // emission color rgb<0.75,0.75,1>*10000
 
  // scattering { 1,1*<1,1,0.75> }  
   scattering { 4,1*<0.75, 0.75,1> }  
   absorption 0
     intervals 3
     samples 20, 40
     density{ 

function { // pow(f_spherical(x,y,z),7)*f_wrinkles(x*10,y*10,z*10) // pow(f_spherical(x,y,z),6)*f_granite(x*1,y*1,z*1) pow(f_spherical(x,y,z),3) //*f_agate(x*3,y*3,z*3)

}

        poly_wave 1
     
              color_map {
              [0.0 color rgbt <0.0,0.0,0.0,1>]
           //       [0.7 color rgbt <0.8,1.0,0.0,0.2>]
              [1.0 color rgbt <0.8,0.8,1.0,0>]
                        } 
          // scale <1,2.5,1> 
           
         } 
  

} }

 scale 4

}


}



  1. declare sun_1= light_source {
	<0,0,0> 30*<0.8,0.8,1>

fade_power 2

	fade_distance 0.2
	media_interaction on
 
 	looks_like {
 	object {sun_object_1}
 	} 

}



  1. declare sun_object_2=union{


   sphere{ <0,0,0>,1
  	texture {
 //	 pigment{ color rgbf<1,1,1,0>}
   		pigment {

//granite scale 1/2 // agate scale 1/4

    		wrinkles scale 1/3

warp {turbulence 0.5}

   			poly_wave 1/3
   		color_map {
       		[0 color rgbt <1,1,0,0>*0.3] 
       	//	[0.5 color rgbt <1,1,0.5,0>] 
       		[1 color rgbt <1,1,1,0>*1]
       		}   
   		}

//finish {emission 1}

	 finish { ambient <1,1,0.5>*1 diffuse 1 }

}


    }
 


// surround of star

object {


  sphere{ 0,1 }
 
 hollow
 pigment{ color rgbf<1,1,1,1>}
 finish { ambient 0 diffuse 0 }
 interior {
  
media {
   emission color rgb<1.0,0.75,0.1>*200
 

// scattering { 1,100*<1,1,0.75> }


   absorption 0
     intervals 3
     samples 20, 40
     density{ 

function { // pow(f_spherical(x,y,z),7)*f_wrinkles(x*10,y*10,z*10) // pow(f_spherical(x,y,z),6)*f_granite(x*1,y*1,z*1) pow(f_spherical(x,y,z),8)

  • f_wrinkles(x,atan2(x,y)*2,z*3)
  • f_granite(atan2(x,y)*2,y*3+clock/360,z*3)

}

        poly_wave 1.25

// spherical

              //ramp_wave
      
              color_map {
              [0.0 color rgbt <0.0,0.0,0.0,1>]
           //       [0.7 color rgbt <0.8,1.0,0.0,0.2>]
              [1.0 color rgbt <1.0,1.0,0.0,0>]
                        } 
          // scale <1,2.5,1> 
           
         } 
  

} }

 scale 6/2

}



}


  1. declare sun_2 = light_source {

<0,0,0> 3 fade_power 2

		fade_distance 0.7
 

looks_like {

object {sun_object_2}

} // looks

} // light sun3



#declare fog1=object {
 sphere // transparent sphere containing media
{ 0,1 pigment { rgbt 1 } hollow
  interior
  { media
    {
    samples 40,40
    // emission 1
     
     scattering {
    // 2,<1,1/2,1/4>*5
    1,1*<1,1/2,0/4>
     extinction 1
     }
     
      density
      { 
      
  //   granite
    // scale 10
 // wrinkles scale 0.05

    //  spherical scale 0.5
         //    function { exp(-sqrt(x*x+y*y+z*z))  }
        //      function { pow(f_spherical(x,y,z),4) }
                function { pow(f_spherical(x,y,z),2)*f_wrinkles(x*60,y*60,z*60)*0.5 }     
     //   function { -exp(((x*x+y*y+z*z)*10)/1)/10*0.5+f_wrinkles(x*4,y*4,z*4)*0.5 }
     
      //   scale 0.1
     
       //    spherical 
       density_map
       
        { [0 rgb 0]
      //    [0.5 rgb <1,1,0>*0.2]
          [1 rgb <1,1,0>]
        }
   
      
      }
    }
 }


}

scale 10 // scale y/3 }

  1. declare stardisk1=union {

light_source { sun_1 scale 0.05 rotate y*clock*4 }


 	object {gastorus1 rotate y*clock*3 }
       scale 2

// rotate <10,20,30>

}

#declare star2=union { 

//object {jets1} light_source { sun_2 rotate y*clock*4 scale 1.2}

// surrounding gas ...

 //  object { gas_envelope1 rotate y*clock*2 scale y/2  scale 3 }


// rotate <10,20,30> // translate x*2*1

 scale 2
  translate <sax,0,say> 

}


// translations

// small star, disk object {stardisk1 translate <sax,0,say> rotate z*20}

// big star object {star2 translate <sbx,0,sby> }

sky_sphere {sky1}

object {fog1}




Old POV code

// // Epsilon Aurigae type star // pov-ray v. 3.7 povray source code // 12.10.2023 0000.0002x2 //

  1. declare samples1=100;
  1. declare tauorig=90+90;
  1. declare taunolla=clock+tauorig;
  1. declare tau1=radians(taunolla);
  2. declare tau2=radians(taunolla+180.0);
  1. declare ra=4;
  2. declare rb=4;
  3. declare rc=1;
  1. declare ax = sin(tau1)*ra;
  2. declare ay = cos(tau1)*ra;
  1. declare bx = sin(tau2)*rb;
  2. declare by = cos(tau2)*rb;


  1. declare cx = sin(tau1*4)*rc;
  2. declare cy = cos(tau1*4)*rc;
  1. declare sax=ax*1;
  2. declare say=ay*1;
  3. declare sbx=bx*1;
  4. declare sby=by*1;
  5. declare scx=cx*1;
  6. declare scy=cy*1;
  1. include "functions.inc"
  2. include "rand.inc"

declare camera0=camera {

 location <0,30,-7>
 look_at <0,0,-7>  
 
 angle 20

}

  1. declare camera1=camera {
 location <0,4,-20>
 look_at <0,0,0>  
 
 angle 40

}

camera {camera1}


background { rgb 0 }



  1. declare sky1= sky_sphere {


 pigment {
    bozo
      scale 1/1000
         color_map 
    {
    [0 rgb 1]
    [0.2 rgb 0] 
    [1 rgb 0] 
    
    } }
   
  pigment {
    bozo
      scale 1/3000
         color_map 
    {
    [0 rgb 1]
    [0.2 rgb 0] 
    [1 rgb 0] 
    
    }}   


  pigment {

//granite scale 10


  wrinkles
turbulence 0.5
        scale 0.27
            color_map 
    {
    [0 rgbt <1,1,1,1>]
   // [0.5 rgbt <1,1,1,1>]
//   [0.5 rgbt <0.25/100,0.25/100,1/2/100,0.9>] 
   // [1 rgbt <0.25/100,0.25/100,1/2/100,0.9>] 
        [1 rgbt <0.9,0.9,1,0.9>]  
    }}



}


  1. declare gastorus1= object {
   isosurface { 
       function {  
     //   f_torus(x, y, z, 1, 0.8)       
                   f_torus(x, y, z, 1, 0.8)*0.8

+ f_spiral1(x*1,z*1,y*1)*0.2 //-f_agate(f_spiral1(x*1,y*1,z*1),f_spiral1(x*1,y*1,z*1),f_spiral1(x*1,y*1,z*1) ) +f_agate(x*6,y*6,z*6)*0.2


//+f_wrinkles(x*2,y*2,z*2)*0.25

//- f_spiral1(x*1,z*1,y*1)*0.25

   // * f_ripples(x*4,z*4,y*4)/1
 //     * f_wrinkles(x*20,y*20,z*20)/1 
}
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.0000000001  
   max_gradient 5
   //    threshold 0.000000001
       scale 0.8
     scale y/3
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 10
 //  emission 1/3 
   method 3 samples 20,30 intervals 1 
    scattering {1,3*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {


            f_torus(x, y, z, 1, 0.8)*0.66 
     
 + f_spiral1(x*1.5,z*1.5,y*1.5)
//  + f_ripples(x*4,z*4,y*4)/8
     + f_wrinkles(x*10,y*10,z*10)/1
       + f_agate (x*4,y*4,z*4)/1    
  //   + f_granite (x*4,y*4,z*4)/5 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
   //  turbulence 0.2
      
    // spherical
  //   warp { turbulence 0.2 }
     
       density_map {
         [0.0 rgb <0.1,0.1,0.1>]
  
         [1 rgb <1,1,1>*0.9] }
     
     
     } 
     
     
   }
  
   /* 
 
   media { 
   absorption 10 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]
        }
     }
   }
    */
   
 }
  

}


// gas envelope 1

  1. declare gas_envelope1=union {
 object {
   
   isosurface { 
       function {  
     //   f_torus(x, y, z, 1, 0.8)       
                   f_torus(x, y, z, 1, 0.8)*0.66
     

- f_spiral1(x*1,z*1,y*1)*0.25

    * f_ripples(x*4,z*4,y*4)/1
//    - f_wrinkles(x*10,y*10,z*10) 
  - f_agate(x*100,y*100,z*100) 
}
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.000000001  
   max_gradient 5
   //    threshold 0.000000001
       scale 0.8
     scale y/30
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 10
 //  emission 1/3 
   method 3 samples 10,30 intervals 1 
    scattering {3,1.0*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {


            f_torus(x, y, z, 1, 0.8)*0.66 
     
 + f_spiral1(x*3,z*3,y*3)
    + f_ripples(x*8,z*8,y*8)/4
      // + f_wrinkles(x*100,y*100,z*100)/4
         + f_agate (x*4,y*4,z*4)/3    
  //   + f_granite (x*4,y*4,z*4)/5 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
   //  turbulence 0.2
      
    // spherical
  //   warp { turbulence 0.2 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,1,1>/1] }
     
     
     } 
     
     
   }
  
    
 /*
   media { 
   absorption 100 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]
        }
     }
   }
    */
   
 }
  

} } // union


  1. declare sun_object_1=

union {

object { sphere {0,1} texture { pigment {color rgb <1,1,0.5>} finish {emission 5} } }

// surround of star

object {


  sphere{ 0,1 }
 
 hollow
 pigment{ color rgbf<1,1,1,1>}
 finish { ambient 0 diffuse 0 }
 interior {
  
media {
  //  emission color rgb<1.0,0.75,0.1>*1
 
   scattering { 1,1000*<1,1,0.75> }  


   absorption 0
     intervals 3
     samples 20, 40
     density{ 

function { // pow(f_spherical(x,y,z),7)*f_wrinkles(x*10,y*10,z*10) // pow(f_spherical(x,y,z),6)*f_granite(x*1,y*1,z*1) pow(f_spherical(x,y,z),10) //*f_agate(x*3,y*3,z*3)

}

        poly_wave 1.4
     
              color_map {
              [0.0 color rgbt <0.0,0.0,0.0,1>]
           //       [0.7 color rgbt <0.8,1.0,0.0,0.2>]
              [1.0 color rgbt <0.8,0.8,1.0,0>]
                        } 
          // scale <1,2.5,1> 
           
         } 
  

} }

 scale 3

}


}



  1. declare sun_1= light_source {
	<0,0,0> 30*<0.8,0.8,1>

fade_power 2

	fade_distance 0.05
	media_interaction on
 
 	looks_like {
 	object {sun_object_1}
 	} 

}



  1. declare sun_object_2=union{


   sphere{ <0,0,0>,1
  	texture {
 //	 pigment{ color rgbf<1,1,1,0>}
   		pigment {

// granite scale 1/2 //agate scale 1/4

    		wrinkles scale 1/10

warp {turbulence 0.5}

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

//finish {emission 1}

	 finish { ambient <1,1,0>*1 diffuse 1 }

}


    }
 


// surround of star

object {


  sphere{ 0,1 }
 
 hollow
 pigment{ color rgbf<1,1,1,1>}
 finish { ambient 0 diffuse 0 }
 interior {
  
media {
   emission color rgb<1.0,0.75,0.1>*200
 

// scattering { 1,100*<1,1,0.75> }


   absorption 0
     intervals 3
     samples 20, 40
     density{ 

function { // pow(f_spherical(x,y,z),7)*f_wrinkles(x*10,y*10,z*10) // pow(f_spherical(x,y,z),6)*f_granite(x*1,y*1,z*1) pow(f_spherical(x,y,z),10)*f_agate(x*3,y*3,z*3)

}

        poly_wave 1

// spherical

              //ramp_wave
 /*             
              	scale 7
                warp {turbulence 1 }
              scale 1/7
                   	scale 30
              warp {turbulence 1 }
              scale 1/30  
  • /
              color_map {
              [0.0 color rgbt <0.0,0.0,0.0,1>]
           //       [0.7 color rgbt <0.8,1.0,0.0,0.2>]
              [1.0 color rgbt <1.0,1.0,0.0,0>]
                        } 
          // scale <1,2.5,1> 
           
         } 
  

} }

 scale 5/2

}



}


  1. declare sun_2 = light_source {

<0,0,0> 3 fade_power 2

		fade_distance 0.7
 

looks_like {

object {sun_object_2}

} // looks

} // light sun3



#declare fog1=object {
 sphere // transparent sphere containing media
{ 0,1 pigment { rgbt 1 } hollow
  interior
  { media
    {
    samples 40,40
    // emission 1
     
     scattering {
    // 2,<1,1/2,1/4>*5
    1,1*<1,1/2,0/4>
     extinction 1
     }
     
      density
      { 
      
  //   granite
    // scale 10
 // wrinkles scale 0.05

    //  spherical scale 0.5
         //    function { exp(-sqrt(x*x+y*y+z*z))  }
        //      function { pow(f_spherical(x,y,z),4) }
                function { pow(f_spherical(x,y,z),2)*f_wrinkles(x*60,y*60,z*60)*0.5 }     
     //   function { -exp(((x*x+y*y+z*z)*10)/1)/10*0.5+f_wrinkles(x*4,y*4,z*4)*0.5 }
     
      //   scale 0.1
     
       //    spherical 
       density_map
       
        { [0 rgb 0]
      //    [0.5 rgb <1,1,0>*0.2]
          [1 rgb <1,1,0>]
        }
   
      
      }
    }
 }


}

scale 10 // scale y/3 }

  1. declare stardisk1=union {

light_source { sun_1 scale 0.05 rotate y*clock*4 }


 	object {gastorus1 rotate y*clock*3 }
       scale 2

// rotate <10,20,30>

}

#declare star2=union { 

//object {jets1} light_source { sun_2 rotate y*clock*4 scale 1.2}

// surrounding gas ...

 //  object { gas_envelope1 rotate y*clock*2 scale y/2  scale 3 }


// rotate <10,20,30> // translate x*2*1

 scale 2
  translate <sax,0,say> 

}


// translations

// small star, disk object {stardisk1 translate <sax,0,say> rotate z*20}

// big star object {star2 translate <sbx,0,sby> }

sky_sphere {sky1}

//object {fog1}




!!OLD CODE !!!


// // Epsilon Aurigae type star // pov-ray v. 3.7 povray source code // 7.10.2023 0000.0001a //

  1. declare samples1=100;
  1. declare tauorig=180+20;
  1. declare taunolla=clock+tauorig;
  1. declare tau1=radians(taunolla);
  2. declare tau2=radians(taunolla+180.0);
  1. declare ra=2.5;
  2. declare rb=2.5;
  3. declare rc=0.15;
  1. declare ax = sin(tau1)*ra;
  2. declare ay = cos(tau1)*ra;
  1. declare bx = sin(tau2)*rb;
  2. declare by = cos(tau2)*rb;


  1. declare cx = sin(tau1*4)*rc;
  2. declare cy = cos(tau1*4)*rc;
  1. declare sax=ax*1;
  2. declare say=ay*1;
  3. declare sbx=bx*1;
  4. declare sby=by*1;
  5. declare scx=cx*1;
  6. declare scy=cy*1;
  1. include "functions.inc"
  2. include "rand.inc"

camera {

 location <0,2,-8>
 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 0.27
            color_map 
    {
    [0 rgbt <1,1,1,1>]
   // [0.5 rgbt <1,1,1,1>]
    [1 rgbt <0.25/100,0.25/100,1/2/100,0.9>] 
    
    }

}


}


  1. declare gastorus1= object {
   isosurface { 
       function {  
        f_torus(x, y, z, 1, 1) 


   //   + f_granite (x*4,y*4,z*4)/5 
   +   f_spiral1(x,y,z)/3
 // + f_ripples(x*1,y*1,z*1)/3
      //   + f_wrinkles(x*1,y*1,z*1)/2
         + f_agate (x*4,y*4,z*4)/3 
       }
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.000000001  
 //  max_gradient 50
   //    threshold 0.000000001
       scale 0.8
     scale y/2.99
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 5
 //  emission 1/3 
   method 3 samples 10,30 intervals 1 
 //  scattering {4,30*<184, 115, 51>/256}
//      scattering {2,1*< 176, 101, 0>/256}

// scattering {3,1*< 192, 64, 0>/256} // scattering {3,1*< 204, 119, 34 >/256}

//   scattering {3,1*<  139, 69, 19 >/256}
   
 //     scattering {3,1*< 245, 222, 179  >/4/256}
  //   scattering {3,1*< 112, 66, 20  >/256}
//    scattering {3,1*< 160, 82, 45 >/256} 
//     scattering {3,0.1*< 222, 184, 135>/256} 
 //    scattering {3,1.0*<  205, 133, 63>/256} 
// scattering {3,1.0*< 168, 28, 7 >/256} 
//   scattering {3,1.0*< 152, 98, 60 >/256} 
//     scattering {3,1.0*<193, 181, 169>/256} 
//   scattering {3,1.0*<153, 102, 51>/256} 
    scattering {3,1.0*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {
 //  f_spherical(x,y,z)
             f_torus(x, y, z, 1, 1) 
   //    + f_ripples(x*1,y*1,z*1)/3
     //  + f_wrinkles(x*1,y*1,z*1)/2
         + f_agate (x*4,y*4,z*4)/3    
      + f_granite (x*4,y*4,z*4)/5 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
     turbulence 0.2
      
    // spherical
     warp { turbulence 0.2 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,1,1>/1] }
     
     
     } 
     
     
   }
  
    
  /*  
   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>] }
     
     
     } 
     
     
   }
  
    


 }
  

}

// gas envelope 1

  1. declare gas_envelope1= object {
   isosurface { 
       function {  
  f_torus(x,y,z,1,0.7)

// f_sphere(x,y,z,1)

       //   + f_wrinkles(x*1,y*1,z*1)/2
   //   + f_granite (x*4,y*4,z*4)/5 
 //  +   f_spiral1(x,y,z)/3
 // + f_ripples(x*1,y*1,z*1)/3
         + f_agate (x*4,y*4,z*4)/3 
       }
   contained_by { sphere {0,3} }
     //accuracy 0.0000000001 
        accuracy 0.000000001  
 //  max_gradient 50
   //    threshold 0.000000001
       scale 0.8
     scale y/2.99
   }
 

//torus {1,1/2

//   scale y/3

// sphere {0,1

    hollow no_shadow
 texture { pigment { rgbt 1 } }
 interior { 
  
   
   media { 
   
   absorption 2
 //  emission 1/3 
   method 3 samples 10,30 intervals 1 
 //  scattering {4,30*<184, 115, 51>/256}
//      scattering {2,1*< 176, 101, 0>/256}

// scattering {3,1*< 192, 64, 0>/256} // scattering {3,1*< 204, 119, 34 >/256}

//   scattering {3,1*<  139, 69, 19 >/256}
   
 //     scattering {3,1*< 245, 222, 179  >/4/256}
  //   scattering {3,1*< 112, 66, 20  >/256}
//    scattering {3,1*< 160, 82, 45 >/256} 
//     scattering {3,0.1*< 222, 184, 135>/256} 
 //    scattering {3,1.0*<  205, 133, 63>/256} 
// scattering {3,1.0*< 168, 28, 7 >/256} 
//   scattering {3,1.0*< 152, 98, 60 >/256} 
//     scattering {3,1.0*<193, 181, 169>/256} 
 //  scattering {3,1.0*<153, 102, 51>/256} 
   scattering {2,2.0*<153, 82, 44>/256}          
     density { 
   //   agate 
  //  waves
   //ripples
   // wood
 //   onion
      
         function {
    f_spiral1(x,y,z)
//   f_spherical(x,y,z)*0.5
 //    f_sphere(x,y,z,1)*0.5
     //        f_torus(x, y, z, 1, 1) 
      + f_ripples(x*1,y*1,z*1)/3
      + f_wrinkles(x*1,y*1,z*1)/2
         + f_agate (x*4,y*4,z*4)/3    
   /  + f_granite (x*4,y*4,z*4)/1 
    
   }
      
 //   rotate x*90
    
    scale 1
  //  sine_wave
    //  granite  
     turbulence 0.5
      
    // spherical
     warp { turbulence 0.5 }
     
       density_map {
         [0.0 rgb <0,0,0>]
  
         [1 rgb <1,1,1>/3] }
     
     
     } 
     
     
   }
  
    
 //  scale 10
 }
  

} // union


  1. declare sun_object1=object {

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

  1. declare sun_object4=object {
 		sphere {0,1 }
 	 	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} }

}

  1. declare sun_object5=object {
 		sphere {0,1 }
 	 	hollow
   	
   	texture {
   		pigment {
   //		granite scale 5
 			   agate scale 5
 	//	wrinkles
 			//marble
    		scale 1/10
   
   		color_map {
       		[0 color rgbt 0] 
       			[0.2 color rgbt 0] 
        		[0.2 color rgbt 1]
       		[1 color rgbt <1,1,1,1>]
       		}   
   		}

//finish {emission 1} }

}

  1. declare sun1= light_source {
	<0,0,0> 2

fade_power 1

	fade_distance 1*0.6
	media_interaction on
 
 	looks_like {
 	object {sun_object1}

// object { sun_object4}

// object { sun_object5}

 	} 

}


  1. declare sun_object2= union {

object { sphere {0,1} texture { // pigment {color rgb <1,1,0.5>} pigment { //crackle // wrinkles granite warp{turbulence 0.75} //scale 0.1

pigment_map{ [0.0 rgb <1,1,0>] [1.0 rgb <1,1,0.5>] } // pigment_map

} // pigment finish {emission 1 diffuse 0.01} } // tex

} // obj

}

  1. declare sun_object2b = union {
  	object {
  		sphere {0,1 }
  		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>]
       	}   
   	} //pig
   //finish {emission 1}
   }
   
}   
}   
  1. declare sun2= light_source {
	<0,0,0> 10

fade_power 4

	fade_distance 0.8
 
 	looks_like {
 //	object {sun_object2}
 	  	object {sun_object2b}

// object { sun_object3}

 	} 

} // oni



  1. declare sun_object3=union{


  sphere{ <0,0,0>,1 }
 
 hollow
 pigment{ color rgbf<1,1,1,1>}
 finish { ambient 0 diffuse 0 }
 interior {
   media {
     emission color rgb<1.0,0.75,0.1>*1
     intervals 9
     samples 1, 20
     confidence 0.9999
     variance 1/100
     density{ spherical
              //ramp_wave
              
              	scale 7
              warp {turbulence 1 }
              scale 1/7
                   	scale 30
              warp {turbulence 1 }
              scale 1/30          
              color_map {
              [0.0 color rgb <0.0,0.0,0.0>]
              [0.2 color rgb <0.8,0.8,0.1*0.9>]
              [0.3 color rgb <0.8,0.8,0.1*0.9>]
              [0.6 color rgb <1.0,1.0,0.3>*1]
              [1.0 color rgb <1.0,1.0,0.5>*1]
                        } 
          // scale <1,2.5,1> 
           
         } 
   }

}

// scale 1/2

}


  1. declare sun3 = light_source {

<0,0,0> 1 fade_power 3

		fade_distance 0.7
 

looks_like {

object {sun_object3}

} // looks

} // light sun3


  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
   }   
   
   
   }
#declare fog1=object {
 sphere // transparent sphere containing media
{ 0,1 pigment { rgbt 1 } hollow
  interior
  { media
    {
    samples 40,40
    // emission 1
     
     scattering {
    // 2,<1,1/2,1/4>*5
    1,0.5*<1,1/2,0/4>
     extinction 1
     }
     
      density
      { 
      
  //   granite
    // scale 10
 // wrinkles scale 0.05

    //  spherical scale 0.5
         //    function { exp(-sqrt(x*x+y*y+z*z))  }
        //      function { pow(f_spherical(x,y,z),4) }
                function { pow(f_spherical(x,y,z),4)*f_wrinkles(x*18,y*18,z*18)*0.5 }     
     //   function { -exp(((x*x+y*y+z*z)*10)/1)/10*0.5+f_wrinkles(x*4,y*4,z*4)*0.5 }
     
      //   scale 0.1
     
       //    spherical 
       density_map
       
        { [0 rgb 0]
          [0.5 rgb <1,1,0>*0.2]
          [1 rgb <1,1,0>]
        }
   
      
      }
    }
 }


}

scale 10 // scale y/3 }

  1. declare stardisk1=union {

//object {jets1} light_source { sun1 scale 0.05} // light_source { sun3 scale 0.1} /// light_source { sun2 scale 0.1}

object {gastorus1}

//object {gasdisk1} //asteroid_belt_1()


// rotate <10,20,30>

}

#declare star2=union { 

//object {jets1} light_source { sun3 scale 1.2}

// surrounding gas ...

 object { gas_envelope1  scale y/2  scale 5 }


// rotate <10,20,30> // translate x*2*1

  translate <sax,0,say> 

}


object {stardisk1 rotate z*30 translate <sax,0,say> }

object {star2 translate <sbx,0,sby> }

//media {media1}

object {fog1}  
  

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
current11:22, 12 October 2023Thumbnail for version as of 11:22, 12 October 20231,600 × 1,200 (934 KB)Merikanto (talk | contribs)Update
09:46, 12 October 2023Thumbnail for version as of 09:46, 12 October 20231,600 × 1,200 (722 KB)Merikanto (talk | contribs)update
11:20, 7 October 2023Thumbnail for version as of 11:20, 7 October 20231,600 × 1,200 (1.31 MB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata