File:Hurricane ocean planet 1 r 1.png

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

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

Captions

Captions

Ocean planet, that has big hurricane

Summary

[edit]
Description
English: Ocean planet, that has big hurricane
Date
Source Own work
Author Merikanto

POV-Ray 3.7 codes


Hurricane (not very) like pigment bitmap

// // logarithmic spiral function // // POV-Ray 3.7 source code // // 23.6.2023 0000.0002 //

  1. include "functions.inc"


global_settings { assumed_gamma 1

}


light_source {<1, 1,-5/10>*1000*1000*1000 color <1,1,2>*3}


light_source {<-1, -1,-1/10>*1000*1000*1000 color <2,1,1>*3}


camera {

   location <0, 0, -50>
   right 1
   up 1
   angle 25
   look_at 0 

}

background {color rgb <1/2,1/2,1> }


  // logarithmic spiral 0
  1. declare logspiral0=function {
    (1*log(sqrt(x*x+y*y))*pi*2)+10*(atan2(x,y)/(pi/2))

}



  // logarithmic spiral 1
  1. declare logspiral1=function {
  ((sin(logspiral0(x,y,z)*2*pi)/2)+0.5)   

}



  // logarithmic spiral 2
  1. declare logspiral2=function {
max(   min( (  ((sin((3*log(sqrt( (x*x+y*y) ))*pi*2)+((atan2(x,y))/(pi*2))*2*pi)/2)+0.5) ) ,1),0)  

}


  1. declare holestuff1= function {
 max(   min(  ( 1-f_sphere(x/2,y/2,z/2,1) )  ,1),0)
*

max( min( ( 1*(f_sphere(x*3,y*3,z*3,1)) ) ,1),0) }


  1. declare holestuff2= function {
   max(min ( (exp(-f_sphere(x/3,y/3,z/3,3))/50),1),0)  
 * max(   min(  ( 1*(f_sphere(x,y,z,0.15)) )  ,1),0)*3

}


  1. declare surf1=function {

pigment {

   function {



    holestuff2(x,y,z)
 *logspiral2(x,y,z) 
* (f_agate(x/3,y/3,z/3)  )
 * ((f_granite(x,y,z)  )/2
   + (f_granite(x*3,y*3,z*3)  )/2)
  +holestuff2(x,y,z)*0.3
}                 

  omega 0.1

lambda 0.3

warp 

{

       turbulence 0.15

}

         color_map {
         [0.00 color rgb <0,0,1>]
          [0.5  color rgb <1/2,1/2,1/2>]
         [1.00 color rgb <1,1,1>]
       }  

}

}



  1. declare surfpig1= pigment {
 function {
   surf1(x,y,z).gray 

 }
       color_map {
         [0.00 color rgbt <0,0,1,0>]
         [1.00 color rgbt <1,1,1,0>]
       }    

}





  1. declare surftex1=texture {
  pigment {
   surfpig1

}

// normal {function { surf1(x,y,z).gray }}


finish { phong 1 }


}


  1. declare object1=object {

plane {z,0}

//sphere {0,1 }

texture {surftex1}

}


object {object1}


Hurricane planet POV-Ray 3.7 source code


// ocean planet that has hurricane // POV-ray source code

// 22.6.2023 v 0000.0000


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



global_settings {

  assumed_gamma 1.5
  noise_generator 2

}


light_source {

  <0, 0, -5>*1000*1000*1000, rgb <1, 1, 1>*1

}

camera {

 location <0,0, -2.5> *1
 look_at <0,0,0>

}


  1. declare hurricanepig1= pigment {
 image_map {

// png "hurricane9.png"

 png "gimel4.png"
 

transmit all 0.2

//    map_type 2
     interpolate 2
  
        }


//scale 10 //warp {turbulence 0.03} //scale 0.1

// scale 1.5 turbulence 0.1

omega 0.2

//lambda 0.7

translate <-1/2, -1/2,0>

scale 1.5

}


  1. declare hurricane_nor1= function {

pigment {

  hurricanepig1

} }


  1. declare hurricanetex1= texture {

pigment {hurricanepig1}

finish {

   diffuse 2.2  
ambient 0
  // specular 0.05

}

normal {

   function {hurricane_nor1(x,y,z).gray  } 
   bump_size 0.5

}



}




// clouds ...

  1. declare cloudiness1=1; //## suitable 0.5
  2. declare cloudturb1=1;
  3. declare cloudturb2=2;


  1. declare cloudpig1=pigment {

wrinkles

//granite
// agate

scale 1/10

scale 3 warp { turbulence cloudturb1 } scale 1/3

turbulence cloudturb2

//turbulence 1

pigment_map {
 [0 color rgbt <1,1,1,1>*1]
  [1-cloudiness1 color rgbt <1,1,1,1>]
[1 color rgbt <1,1,1,0.8>*1.5]

}

}


  1. declare cloudes1=texture {
   pigment {
   gradient x    
   scale 2
   translate z*-1
  // sine_wave    

scale 3

warp {turbulence 0.1 } scale 1/3


   pigment_map {
       

[.15 cloudpig1]

        [0.4 rgbt 1]  
      [0.5 cloudpig1]
          [0.6 rgbt 1]
 [0.85 cloudpig1]


   }
   }    
   finish {ambient 0}

}


// rayleigh based atm

  1. declare atm_thickness1 = 0.025;

//#declare atm_color1 = rgb <pow(460/650, 4), pow(460/555, 4), 1>;

  1. declare atm_color1 = rgb <0.5,0.5,1>;
  1. declare atm_amount1=1.5;


  1. declare atm_density1 = density

{

    function
    {
      1*exp(-6.7*(sqrt(x*x+(y)*(y)+z*z)- 1 - 0.00001)/atm_thickness1)
   //   1*exp(-6.7*(sqrt(x*x+(y)*(y)+z*z)-1- 0.00001)/atm_thickness1)
   

} }


  1. declare atm_media1 = media

{

    method 3
    intervals 6
    samples 3
    scattering
    { 1

color atm_amount1*atm_color1/atm_thickness1 // extinction 1

    }
    density {atm_density1}

}


  1. declare atmos1 = difference

{

    sphere {0, 1.00001 + atm_thickness1}
 //   sphere {0, 1.00001}
    hollow
    pigment {rgbt 1}
    interior {media{atm_media1}}

}



  1. declare testplate1= object {

// plane {z,0 }

 sphere {0,1
  texture {pigment { wrinkles color_map {[0 color rgb <0,0,1>]}} } 
 texture {    cloudes1    } 
 texture { hurricanetex1  scale 2 rotate z*00} 

}

// rotate x*-90 // rotate y*-90


}




union {

object {testplate1} 

object {atmos1}

//  rotate x*25   
rotate y*-15

//rotate y*240 }






VERY old stuff



Pov-ray code to create hurricane bitmap

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


global_settings {

  assumed_gamma 1.5
  noise_generator 2

}


light_source {

  <10, 0, -5>*1000*1000*1000, rgb <1, 1, 1>

}

camera {

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

}

  1. declare cloudcover1=0.5;
#declare f_crackle2 = function {pattern {crackle metric 2 form <-1,1,0>}}
   
  1. declare f_crackle41 = function{ pigment {crackle metric 2 form <1.2,1.2,-1.2>turbulence 0} }
  1. declare f_crackle4 = function{ pigment {crackle metric 2 form <1.2,1.2,-0.9>turbulence 0} }
  1. declare cloudmap1=pigment_map {
       [0 rgbt <0,0,0,0>] 
 //  [   0.7 rgbt <1,1,1,1>]
   [   1 rgbt <1,1,1,0>*5]
   }
  1. declare hurricanefunk1= function {

// max( min( exp(10*f_sphere(x,y,z,0.5)) ,1) ,0)* max(min( f_wrinkles(f_spiral1(x,y,z), f_wrinkles(x,y,z)/3, f_wrinkles(x,y,z)) ,1),0) *(1-( max( min( f_sphere(x,y,z,1) ,1) ,0) ) )

max( min( exp(10*f_sphere(x,y,z,0.5)) ,1) ,0)*     max(min( f_wrinkles(f_spiral1(x,y,z), f_wrinkles(x,y,z)/3, f_wrinkles(x,y,z))  ,1),0) *(1-( max( min( f_sphere(x,y,z,1) ,1) ,0) ) ) 
                

}


#declare hurricanefunk2= function {

//max( min( exp(10*f_sphere(x,y,z,0.5)) ,1) ,0)* max(min( f_wrinkles(f_spiral1(x,y,z), f_wrinkles(x,y,z)/4, f_wrinkles(x,y,z)) ,1),0) *(1-( max( min( f_sphere(x,y,z,1) ,1) ,0) ) )

max( min( exp(10*f_sphere(x,y,z,0.5)) ,1) ,0)* 

// max(min( f_wrinkles(f_spiral1(x,y,z), sin(f_agate(x,y,z)/4), sin(f_granite(x,y,z))) ,1),0)

//f_wrinkles(f_spiral1(x,y,z),f_spiral1(x,y,z),f_granite(x,y,z))

f_granite(f_spiral1(x,y,z),f_spiral1(x,y,z),f_wrinkles(x,y,z))
*(1-( max( min( f_sphere(x,y,z,1) ,1) ,0) ) )              

// * f_waves(f_granite(x,y,z),y,z) }


  1. declare filterfunk1= function {

//f_granite(x,y,z)/2+ f_granite(x*3,y*3,z*3)/4 +f_granite(x*10,y*10,z*10)/4 //* f_wrinkles(x,y,z)/2+ f_wrinkles(x*3,y*3,z*3)/4 +f_wrinkles(x*10,y*10,z*10)/4 //f_wrinkles(f_spiral1(x,y,z),y*3,z*3) 1*f_granite(x*10,y*10,z*10)

// f_ripples(x,y,z)*f_waves(x,y,z)*f_granite(x,y,z)*f_noise3d(x,y,z) 

//1*f_granite(f_granite(x,y,z),f_granite(x,y,z),f_agate(x,y,z))

//*

//( f_granite() // f_waves(x,y,z)*0.6+ f_waves(x*3,y*3,z*3)*0.3 // 1 *f_granite(f_spiral1(x,y,z), f_spiral1(x,y,z), z) // )


//f_wrinkles(f_spiral1(x,y,z),f_spiral1(x,y,z),f_wrinkles(x,y,z)) }

  1. declare remu1= function {


hurricanefunk2(x,y,z)*filterfunk1(x,y,z)

}


  1. declare cloudpig1 = pigment {

//granite

function {
 remu1(x*10,y*10,z*10)

//hurricanefunk2(x,y,z)

//+0.5*f_granite(x,y,z) }

  scale 10
//turbulence 0.1
 pigment_map {cloudmap1}

// rotate y*90 }

  1. declare cloudtex1 = texture { pigment { cloudpig1 } finish {ambient 0} }


  1. declare testplate1= object {
plane {z,0 }

// sphere {0,1}


texture {  cloudtex1 }  

}

union {

object {testplate1} 

}


POv-Ray code to create hurricane planet


// ocean planet that has hurricane //POV-Ray 3.7 source code // 20.6.2023 v 0000.0000

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


global_settings {

  assumed_gamma 1.5
  noise_generator 2

}


light_source {

  <0, 0, -5>*1000*1000*1000, rgb <1, 1, 1>

}

camera {

 location <0,1, -3>*0.9
 look_at <0,0,0>

}

  1. declare cloudcover1=0.5;


  1. declare hurricanetex1= texture {
 pigment { 
 image_map {
 //   gif "hurricane1.gif"
//  tiff "hurricane1.tif"
 png "hurricane2.png"
  

transmit all 0.5 //transmit 0,1

//filter all 0.5 // filter 0,0 // filter 1,0

// filter 2, 1

// filter 3, 0 // filter 4, 0

   // once

// map_type 1

    //  interpolate 2
  
        }
 

// scale 1.5

translate <-1/2, -1/2,0>

scale 2.5 }

finish {ambient 0} }



  1. declare testplate1= object {

// plane {z,0 }

 sphere {0,1
texture {

pigment {rgbt <0.5,0.5,1,0>} }

texture {

/*

   pigment 
   {   
   gradient z  
  scale 2

translate z*-1

   pigment_map {
        [ 0 wrinkles scale 0.1 turbulence 0.5 color_map {[0 color rgb <0,0,1>*4][1 color rgb <.2,.2,1>*3]} ]
        [ 0.1  wrinkles scale 0.1 turbulence 0.5 color_map {[0 color rgb <0,0,1>*4][1 color rgb <.2,.2,1>*3]} ]
            [ 0.8 color rgbt <1,1,1,1>]
  [ 1.0 color rgbt <1,1,1,1>]
   }  
   } 
   }
 
  • /
    pigment 
   {   
   gradient z  
  scale 2

translate z*-1

   pigment_map {
                [ 0.0 color rgbt <1,1,1,1>]
  [ 0.000 color rgbt <1,1,1,1>]
        [ 0.000 wrinkles scale 0.03 turbulence 0.5 color_map {[0 color rgbt <0,0,1,0.1>*4][1 color rgbt <.2,.2,1>*3]} ]
        [ 1.0  wrinkles scale 0.03 turbulence 0.5 color_map {[0 color rgbt <0,0,1,0.1>*4][1 color rgbt <.2,.2,1>*3]} ]
   }  
   } 
   
finish {ambient 0}

}

  texture { hurricanetex1 scale 0.6} 
 

}

// rotate x*-90 // rotate y*-90

// texture { cloudtex1 } }

// rayleigh based atm

  1. declare atm_thickness1 = 0.01;

//#declare atm_color1 = rgb <pow(460/650, 4), pow(460/555, 4), 1>;

#declare atm_color1 = rgb  <0.3,0.5,1>*1; 
  1. declare atm_amount1=0.3;


  1. declare atm_density1 = density

{

    function
    {
      1*exp(-6.7*(sqrt(x*x+(y)*(y)+z*z)- 1 - 0.00001)/atm_thickness1)
   //   1*exp(-6.7*(sqrt(x*x+(y)*(y)+z*z)-1- 0.00001)/atm_thickness1)
   

} }

  1. declare atm_media1 = media

{

    method 3
    intervals 3
    samples 3
    scattering
    { 4

color atm_amount1*atm_color1/atm_thickness1 // extinction 1

    }
    density {atm_density1}

}

  1. declare atmos1 = difference

{

    sphere {0, 1.00001 + atm_thickness1}
 //   sphere {0, 1.00001}
    hollow
    pigment {rgbt 1}
    interior {media{atm_media1}}

}


union {

object {testplate1} 

// object {atmos1} }


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
current14:24, 23 June 2023Thumbnail for version as of 14:24, 23 June 20231,600 × 1,200 (720 KB)Merikanto (talk | contribs)Update of layout and code
12:29, 20 June 2023Thumbnail for version as of 12:29, 20 June 20231,600 × 1,200 (595 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata