POV-Ray : Newsgroups : povray.binaries.images : POVSolar/POVEarth: still problem with adjusting the day/night gradient : POVSolar/POVEarth: still problem with adjusting the day/night gradient Server Time
30 Jul 2024 08:15:09 EDT (-0400)
  POVSolar/POVEarth: still problem with adjusting the day/night gradient  
From: Jörg 'Yadgar' Bleimann
Date: 18 May 2012 19:10:02
Message: <4fb6d6ca@news.povray.org>
Hi(gh)!

Meanwhile, I almost got the boundary between day and night Earth texture 
right (by rotating the gradient of the texture_map using vrotate) - but 
still a portion of the night texture shows up on the opposite side of 
the night hemisphere (see second attached image below).

Here is my code for the time being:

#declare sc=1; // scaling factor, should be 13347, i. e. 1 POV unit 
equals 13,347 kilometres

#declare T_Earth_Night =
texture
{
   pigment
   {
     image_map
     {
       png "solarsys/ev5826_land_ocean_ice_lights_8192.png"
       map_type 1
       interpolate 2
     }
   }
   finish
   {
     ambient 0.5
     diffuse 0
   }
}

#declare T_Earth_Day =
texture
{
   pigment
   {
     image_map
     {
       png "solarsys/ev11612_land_ocean_ice_8192_POV.png"
       map_type 1
       interpolate 2
     }
   }
   finish { F_Standard_Planetary_Surface }
}

#macro SetAxis(dec, ras) // declination, right ascension (in degrees!) 
of planet's celestial north pole relative to Earth's celestial north pole
   rotate <bodies[3][4]-(90-dec), 0, 0>
   rotate <0, 90-ras, 0>
#end


union
{
   sphere // Earth, surface
   {
     0, 1
     texture
     {
       #declare grd=vrotate(z, -<bodies[3][4], 0, 0>);
       gradient vrotate(grd, <0, orb_ang, 0>)
       texture_map
       {
	[0.45    T_Earth_Day translate z*1 scale 0.5]
	[0.45 T_Earth_Night translate z*1 scale 0.5]
       }
       scale 2
       translate <0, 0, -1>
     }
     scale <bodies[3][1], bodies[3][3], bodies[3][2]>/sc
   }

   sphere // Earth, clouds
   {
     0, 1
     texture
     {
       pigment
       {
	image_map
	{
	  png "solarsys/cloud_combined_8192a_alpha.png"
	  map_type 1
	  interpolate 2
	}
       }
       finish { F_Standard_Planetary_Surface }
     }
     scale <bodies[3][1]+5, bodies[3][3]+4.983270985, bodies[3][2]+5>/sc
   }
   rotate -y*clock
   SetAxis(bodies[3][10], bodies[3][11]) // 90, 90
   translate Pos_Earth/sc
}

// end of code

Earth's position on its orbit (for the time being I use circular orbits) 



How do I get rid of the repetition of the gradient pattern?

See you in Khyberspace!

Yadgar


Post a reply to this message


Attachments:
Download '2012-05-19 earth, take 78 - view from 45,000 kms.png' (124 KB) Download '2012-05-19 earth, take 80 - view from 45,000 kms.png- view from 45,000 kms.png' (173 KB)

Preview of image '2012-05-19 earth, take 78 - view from 45,000 kms.png'
2012-05-19 earth, take 78 - view from 45,000 kms.png

Preview of image '2012-05-19 earth, take 80 - view from 45,000 kms.png- view from 45,000 kms.png'
2012-05-19 earth, take 80 - view from 45,000 kms.png- view from 45,000 kms.png


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.