File:Hurricane ocean planet 1 r 1.png
Original file (1,600 × 1,200 pixels, file size: 720 KB, MIME type: image/png)
Captions
Summary
[edit]DescriptionHurricane ocean planet 1 r 1.png |
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
//
- 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
- declare logspiral0=function {
(1*log(sqrt(x*x+y*y))*pi*2)+10*(atan2(x,y)/(pi/2))
}
// logarithmic spiral 1
- declare logspiral1=function {
((sin(logspiral0(x,y,z)*2*pi)/2)+0.5)
}
// logarithmic spiral 2
- 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)
}
- 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)
}
- 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
}
- 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>]
}
}
}
- 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>]
}
}
- declare surftex1=texture {
pigment {
surfpig1
}
// normal {function { surf1(x,y,z).gray }}
finish {
phong 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
- include "colors.inc"
- 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>
}
- 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
}
- declare hurricane_nor1= function {
pigment {
hurricanepig1
}
}
- 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 ...
- declare cloudiness1=1; //## suitable 0.5
- declare cloudturb1=1;
- declare cloudturb2=2;
- 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]
}
}
- 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
- declare atm_thickness1 = 0.025;
//#declare atm_color1 = rgb <pow(460/650, 4), pow(460/555, 4), 1>;
- declare atm_color1 = rgb <0.5,0.5,1>;
- declare atm_amount1=1.5;
- 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)
}
}
- declare atm_media1 = media
{
method 3
intervals 6
samples 3
scattering
{ 1
color atm_amount1*atm_color1/atm_thickness1
// extinction 1
}
density {atm_density1}
}
- declare atmos1 = difference
{
sphere {0, 1.00001 + atm_thickness1}
// sphere {0, 1.00001}
hollow
pigment {rgbt 1}
interior {media{atm_media1}}
}
- 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
- include "colors.inc"
- 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>
}
- declare cloudcover1=0.5;
#declare f_crackle2 = function {pattern {crackle metric 2 form <-1,1,0>}}
- declare f_crackle41 = function{ pigment {crackle metric 2 form <1.2,1.2,-1.2>turbulence 0} }
- declare f_crackle4 = function{ pigment {crackle metric 2 form <1.2,1.2,-0.9>turbulence 0} }
- declare cloudmap1=pigment_map {
[0 rgbt <0,0,0,0>]
// [ 0.7 rgbt <1,1,1,1>]
[ 1 rgbt <1,1,1,0>*5]
}
- 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)
}
- 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))
}
- declare remu1= function {
hurricanefunk2(x,y,z)*filterfunk1(x,y,z)
}
- 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
}
- declare cloudtex1 = texture { pigment { cloudpig1 } finish {ambient 0} }
- 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
- include "colors.inc"
- 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>
}
- declare cloudcover1=0.5;
- 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}
}
- 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
- 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;
- declare atm_amount1=0.3;
- 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)
}
}
- declare atm_media1 = media
{
method 3
intervals 3
samples 3
scattering
{ 4
color atm_amount1*atm_color1/atm_thickness1
// extinction 1
}
density {atm_density1}
}
- 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]- 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/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 14:24, 23 June 2023 | 1,600 × 1,200 (720 KB) | Merikanto (talk | contribs) | Update of layout and code | |
12:29, 20 June 2023 | 1,600 × 1,200 (595 KB) | Merikanto (talk | contribs) | Uploaded own work with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
PNG file comment |
|
---|---|
File change date and time | 14:22, 23 June 2023 |
Software used |