File:Big earth like planet has habitable moon 1.png
Original file (1,600 × 1,200 pixels, file size: 519 KB, MIME type: image/png)
Captions
Summary
[edit]DescriptionBig earth like planet has habitable moon 1.png |
English: Big earth like planet has habitable moon |
Date | |
Source | Own work |
Author | Merikanto |
POV-Ray 3.7 source code
////////////////////////////////////
//
// double planet or earthlike planet with very big, habitable moon
//
// different terrestrial planets 2
//
// POV-Ray 3.7 source code
//
// 13.4.2023 0000.0001d1
//
- include "functions.inc"
- include "colors.inc"
- include "rand.inc"
- declare camera1=camera {
// location <0,0,-5>
// location <0,0,-5>*10
location <0,3,-5>*10
look_at 0
angle 7
}
- declare light1=light_source {
<100,0,-100>*1000*1000*1000
color 1
}
- declare camera2=camera {
// location <0,0,-5>
location <0,0,-4>
look_at 0
up <0,1,0>
right <2,0,0>
}
- declare light2=light_source {
<0,0,-5>*1000*1000*1000
color 1
}
- declare ra = seed(125);
- macro Rand0 (h);
- local rd = rand (ra);
- decalre rtn = rand (rd);
rtn
- end
- macro Rand();
- local rd = rand (ra);
Rand0 (Rand0 (rd) * Rand0 (rd))
- end
- declare land_function1=function {
// original
f_wrinkles(x,y,z)
}
- declare land_function2=function {
// original
// f_wrinkles(x,y,z)
// 1-
// 1- f_granite(x,y,z)
//f_wrinkles(x,y,z)/2*( (1- f_granite(x,y,z))/2 - (f_granite(x*16,y*16,z*16))/16 )
// f_wrinkles(x,y,z)/2- ( f_granite(x,y,z))/2
//f_agate(x,y,z)/2+f_granite(x/3,y/3,z/3)/2
// 1- f_granite(x,y,z)
f_granite(x,y,z)
}
- declare vegetation_function1=function {
// original
f_wrinkles(x,y,z)
}
- declare vegetation_function2=function {
// original
f_wrinkles(x,y,z)/3+f_agate(x,y,z)/8+f_granite(x*10,y*10,z*10)/16+f_granite(x*50,y*50,z*50)/32+f_granite(x*150,y*150,z*150)/64
}
- macro planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2,icess1, cloudss1, cloudss2, atmoss1, bumps1, vegetations1, testing1)
- declare land1=pigment {
- if(vegetations1=1)
function {vegetation_function1(x,y,z)}
- end
- if(vegetations1=2)
function {vegetation_function2(x,y,z)}
- end
turbulence turb1
//agate
// granite
//wrinkles
pigment_map
{
[0 rgb <0.73, 0.57, 0.43>]
// [desertlimit1-0.05 rgb <0.73, 0.57, 0.43>]
[desertlimit1-0.01 rgb <0.09, 0.14, 0.04>]
[(desertlimit1+1)/2-0.2 rgb <0.30, 0.25, 0.15>]
[1 rgb <0.09, 0.14, 0.04>]
}
}
- declare land2=pigment {
#if(vegetations1=1)
function {vegetation_function1(x,y,z)}
- end
- if(vegetations1=2)
function {vegetation_function2(x,y,z)}
- end
turbulence turb1
// granite
//wrinkles
pigment_map
{
[0 rgb <0.09, 0.14, 0.04>]
// [desertlimit1-0.1 rgb <0.30, 0.25, 0.15>]
// [desertlimit1-0.01 rgb <0.09, 0.14, 0.04>]
[(desertlimit1+1)/2 rgb <0.73, 0.57, 0.43>]
[1 rgb <0.73, 0.57, 0.43>]
}
}
- declare sea1=pigment {
color rgb <0.01, 0.02, 0.08>
}
- declare landtex1 = texture {
pigment {land1}
normal {
function {land_function1(x,y,z)}
, bumps1
turbulence turb1
}
finish {ambient 0}
}
- declare seatex0 = texture {
pigment {color rgb <0,0,1>}
finish {ambient 0}
}
- declare seatex1 = texture {
pigment {sea1}
finish {ambient 0}
}
- declare ptex1 = texture {
// function {land_function1(x,y,z)}
#if (landtype1=1)
function {land_function1(x,y,z)}
#end
#if (landtype1=2)
function {land_function2(x,y,z)}
#end
turbulence turb1
scale continents_scale1
texture_map
{
[0 landtex1 finish {ambient 0}]
[landlimit1-0.01 landtex1 finish {ambient 0}]
[landlimit1+0.01 seatex1 finish {ambient 0}]
[1 seatex1 finish {ambient 0}]
}
}
- declare testex1 = texture {
#if (landtype1=1)
function {land_function1(x,y,z)}
#end
#if (landtype1=2)
function {land_function2(x,y,z)}
#end
turbulence turb1
scale continents_scale1
texture_map
{
[0 landtex1 finish {ambient 0}]
[landlimit1-0.01 landtex1 finish {ambient 0}]
[landlimit1+0.01 pigment { color 0 } finish {ambient 0}]
[1 pigment {color 0 } finish {ambient 0}]
}
}
- declare eis1=pigment {
granite
scale 1/15
color_map {
[0 color rgbt 1]
[0.1 color rgbt 1]
[0.5 color rgb 1]
[1 color rgb 1*3]
}
// warp {turbulence 1}
}
- declare icetex1= texture {
pigment {
gradient y
// agate
// granite
// onion
// wood
//turbulence 0.03
pigment_map {
[0 color rgb 2]
[0.05 eis1]
[icelimit1 color rgbt 1]
[(1-icelimit2) color rgbt 1]
[0.95 eis1]
[1 color rgb 2]
}
// warp {turbulence 0.01}
scale 2
translate y*1
}
finish {ambient 0}
}
- declare icetex2= texture {
pigment
{
//granite
agate
pigment_map
{
[ .45
gradient y
color_map
{
[ 0 colour rgb 40 ]
[ icelimit1 colour rgbt 1 ]
[ 1-icelimit2 colour rgbt 1 ]
[ 1 colour rgb 40 ]
}
scale 2
translate -1
scale 60
warp { turbulence 1 }
scale 1/90
]
}
scale 2
}
}
- declare clouds1= sphere {
0,1
texture {
pigment {
//granite
wrinkles
turbulence 1.5
scale 1/4
color_map {
[0 color rgbt 1]
[cloudlimit1 color rgbt 1]
[1 color rgb 1]
}
}
}
finish {ambient 0}
- declare rax=SRand(1)*360;
- declare ray=SRand(2)*360;
- declare raz=SRand(3)*360;
rotate <rax, ray, raz>
scale 1.002
}
- declare clouds2= sphere {
0,1
pigment {
granite
// wrinkles
turbulence 2
scale 1/4
color_map {
[0 color rgbt 1]
[cloudlimit1 color rgbt 1]
[1 color rgb 1]
}
}
finish {ambient 0}
- declare rax=SRand(1)*360;
- declare ray=SRand(2)*360;
- declare raz=SRand(3)*360;
rotate <rax, ray, raz>
scale 1.003
}
//## clouds3 props
//#declare beltwidth1=0.8;
- declare beltwidth1=cloudlimit1;
- declare cloudfrac1=0.5;
- declare cloudscale1=1/5;
- declare zoneturbulence1=1;
- declare cloudes1= pigment {
wrinkles scale cloudscale1 turbulence 0.5
pigment_map{
[0.000 color rgbt <1,1,1,1>]
[cloudfrac1 granite scale 1 turbulence 0.5 color_map {[0 color rgbt <1,1,1,1>] [0.5 color rgbt <1,1,1,1>] [1 color rgbt <1,1,1,0>]} ]
[1.000 color rgbt <1,1,1,0>]
}
}
- declare clouds3=sphere { <0, 0, 0>, 1.004
pigment{ marble turbulence zoneturbulence1 scale 1/2
rotate z*90
pigment_map{
[0.000 cloudes1]
[beltwidth1 color rgbt 1]
[1.000 color rgbt 1]
}
}
finish {ambient 0}
#declare rax=SRand(1)*360;
- declare ray=SRand(2)*360;
- declare raz=SRand(3)*360;
rotate <0, ray, 0>
}
- declare atm1=sphere {0,1
pigment { rgbt 1 } hollow
interior
{ media
{ scattering { 4, 40*<1/3,1/3,1> extinction 0.1 }
samples 10,20
density {
spherical
color_map {
[0, color rgb 0]
[0.1, color rgb 0.3]
[1, color rgb 1]
}
}
}
}
scale 1.04
}
- declare atm_intensity1=300;
- declare atm_emission1=0.0;
- declare atm_eccentricity1=0.56;
- declare atm_atmosphere_top1=0.02;
- declare atm_density2=
density {
spherical
poly_wave 3
color_map {
[ 0.0 rgb 0.0 ]
[ 0.5294*0.25e-6 rgb <0.02, 0.05, 0.2>*0.07 ]
[ 0.5294*0.4e-6 rgb <0.02, 0.07, 0.3>*0.32 ]
[ 0.5294*0.5e-6 rgb <0.08, 0.18, 0.4>*0.5 ]
[ 0.5412*0.6e-6 rgb <0.08, 0.18, 0.4>*0.9 ]
[ 0.5471*0.65e-6 rgb <0.08, 0.18, 0.4>*1.5 ]
[ 0.5471*0.675e-6 rgb <0.08, 0.18, 0.4>*4.5 ]
[ 0.5471*0.71e-6 rgb <0.08, 0.18, 0.4>*12 ]
[ (1+0.01)/(1+atm_atmosphere_top1) rgb <0.0, 0.0, 0.0> ]
}
}
- declare mat_atm2 =
material {
texture {
pigment {
color rgbt <1.0, 1.0, 1.0, 1.0>
}
}
interior {
media {
method 3
scattering { 5 color rgb 0.01*atm_intensity1 eccentricity atm_eccentricity1 }
emission rgb atm_emission1*0.01*atm_intensity1
density {
atm_density2
}
}
}
}
- declare atm2=sphere {0,1
// pigment { rgbt 0 } hollow
pigment { rgbt 1 } hollow
material {
mat_atm2 }
scale 1+atm_atmosphere_top1
}
- declare planet1= union {
object {sphere {0,1}
texture{ptex1}
}
- if (icess1=1)
object { sphere {0,1.001} texture
{
icetex1
}
finish {ambient 0}
}
- end
- if (icess1=2)
object { sphere {0,1.001} texture
{
icetex2
}
finish {ambient 0}
}
- end
- if (cloudss1=1)
object {clouds1}
- end
- if (cloudss2=1)
object {clouds2}
- end
- if (cloudss1=3)
object {clouds3}
- end
- if (atmoss1=1)
object {atm2}
- end
}
- declare testmap1= object {
plane { z,0 }
//texture {ptex1}
texture {testex1}
}
- if (testing1=0)
object { planet1}
- end
- if (testing1=1)
// black sea testmap
object {testmap1}
- end
- end
light_source {light1}
camera {camera1}
//light_source {light2}
//camera {camera2}
#declare testing1=0; // 1 make test image, 0 draw planet
- declare landtype1=1;
- declare vegetations1=2;
- declare icess1=2;
- declare cloudss1=3;
- declare cloudss2=0;
- declare atmoss1=1;
- declare bumps1=-0.3*2;
- declare continents_scale1=1;
- declare turb1=0.1; //## continent shape
// landtype1=1: agate
//#declare landlimit1=0.4057; // for agate, 25 % land
//#declare landlimit1=0.6096; // for agate, 80 % land
//#declare landlimit1=0.4862; // for agate, 50 % land
//#declare landlimit1=0.3564; // for agate, 20 % land
//#declare landlimit1=0.2935; // for agate, 10 % land
//#declare landlimit1=0.35;
- declare landlimit1=0.6; // lots land
//#declare landlimit1=0.3; // smaller land
//#declare desertlimit1=0.5;
//#declare desertlimit1=landlimit1+(1-landlimit1)/2;
- declare desertlimit1=landlimit1/1.5;
//#declare cloudlimit1=pow(landlimit1*1,0.5)-pow(landlimit1*1,0.5)/6;
- declare cloudlimit1=0.9;
- declare icelimit1= 0.12;
- declare icelimit2= 0.2;
object {
planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2, icess1, cloudss1,cloudss2, atmoss1,bumps1,vegetations1, testing1)
scale 1.4 translate x*-1.2
//scale 2
}
#declare testing1=0; // 1 make test image, 0 draw planet
- declare landtype1=1;
- declare vegetations1=2;
- declare icess1=2;
- declare cloudss1=3;
- declare cloudss2=1;
- declare atmoss1=1;
- declare bumps1=-0.3*2;
- declare continents_scale1=1;
- declare turb1=0.1; //## continent shape
// landtype1=1: agate
//#declare landlimit1=0.4057; // for agate, 25 % land
//#declare landlimit1=0.6096; // for agate, 80 % land
//#declare landlimit1=0.4862; // for agate, 50 % land
//#declare landlimit1=0.3564; // for agate, 20 % land
//#declare landlimit1=0.2935; // for agate, 10 % land
- declare landlimit1=0.35;
//#declare landlimit1=0.6; // lots land
//#declare landlimit1=0.3; // smaller land
//#declare desertlimit1=0.5;
//#declare desertlimit1=landlimit1+(1-landlimit1)/2;
- declare desertlimit1=landlimit1/1.5;
//#declare cloudlimit1=pow(landlimit1*1,0.5)-pow(landlimit1*1,0.5)/6;
- declare cloudlimit1=0.6;
- declare icelimit1= 0.15;
- declare icelimit2= 0.1;
object {
planet_macro_1(landtype1, continents_scale1,turb1,landlimit1,desertlimit1,cloudlimit1,icelimit1,icelimit2, icess1, cloudss1,cloudss2, atmoss1,bumps1,vegetations1, testing1)
rotate z*180
scale 0.7 translate x*2
// scale 2
}
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 | 13:07, 13 April 2023 | 1,600 × 1,200 (519 KB) | Merikanto (talk | contribs) | Ices | |
10:46, 13 April 2023 | 1,600 × 1,200 (494 KB) | Merikanto (talk | contribs) | Clouds to zones | ||
08:27, 13 April 2023 | 1,600 × 1,200 (521 KB) | Merikanto (talk | contribs) | Update of scene: vegagtation, clouds ... | ||
16:32, 12 April 2023 | 1,600 × 1,200 (994 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 | 10:04, 13 April 2023 |
Software used |