3D with POV-Ray, isosurfaces example

POV-RAY, has been used to build an isosurface, first intend was to represent a "tainted teardrop over the floor" (a lot of work still to do).

file1.pov

#version 3.7;
global_settings { 
  assumed_gamma 2.2 
  max_trace_level 7
}

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "functions.inc"
camera {
  location <40, 40, -100>
  right     x*image_width/image_height
  angle 25
  look_at <10, 20, 15>
}

light_source { <40, 40, -40> colour White }
light_source { <10, 15,5> colour White }
light_source { <10, 10,3> colour White }

background { color SkyBlue }
plane { y, -2
   pigment {
      colour rgb<0.5,0.5,0.5> 
      scale 8
   }
   finish {
      ambient 0.2
      diffuse 0.8
   }
}


//f= 1 - 4*pow(x,2) - 4*pow(y,2) - 2*z + 2*pow(z,3) - pow(z,4) = 0,
//olff=((x*1.618)+x)/(exp(1.618*x))-((y*1.618)+y)/exp(1.618*y)
//working f=1 - 4*pow(x,2) - 4*pow(y,2) - 2*z
//mine: f = 1 - 4 * 2 * exp(x) - 4*2*exp(y) - 2*z
isosurface {
	function { 1 - 4 * 2 * exp(x) - 4*2*exp(y) - 2*z }
	threshold 0
	max_gradient 1.4
	contained_by { sphere {<0,0,0>, 4}}
	open
	texture {
		pigment {color rgb<0,0.4,2>}
		finish { ambient 0.2
                diffuse 0.5 }
	}
	scale 3
	rotate <10, 90, 40>
	translate <10, 15, 15>
}

file2.pov


#version 3.7;
global_settings { 
  assumed_gamma 2.2 
  max_trace_level 7
}

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "functions.inc"
camera {
  location <10, 40, -100>
 // right     x*image_width/image_height
  angle 70
  look_at <10, 50, 20>
}

light_source { <40, 40, -40> colour White }
light_source { <10, 15,5> colour White }
light_source { <10, 10,3> colour White }
plane { z, 50
   pigment {
      colour rgb<0.5,0.5,0.5> 
      scale 2
   }
   finish {
      ambient 0.2
      diffuse 0.8
   }
}

plane { y, -3
   pigment {
      colour rgb<0.5,0.5,0.5> 
      scale 8
   }
   finish {
      ambient 0.2
      diffuse 0.8
   }
}


//f= 1 - 4*pow(x,2) - 4*pow(y,2) - 2*z + 2*pow(z,3) - pow(z,4) = 0,
//olff=((x*1.618)+x)/(exp(1.618*x))-((y*1.618)+y)/exp(1.618*y)
//working f=1 - 4*pow(x,2) - 4*pow(y,2) - 2*z
//mine: f = 1 - 4 * 2 * exp(x) - 4*2*exp(y) - 2*z
isosurface {
	function { 1 - 4 * 2 * exp(x) - 4*2*exp(y) - 2*z }
	threshold 0
	max_gradient 1.4
	contained_by { sphere {<0,0,0>, 4}}
	open
	texture {
		pigment {color rgb<0,0.4,2>}
		finish { ambient 0.2
                diffuse 0.5 }
	}
	scale 3
	rotate <10, 90, 40>
	translate <10, 15, 15>
}





Comments

Popular posts from this blog

Algorithms: Backpack problem, Greedy , Dynamic Programming techniques (C++)

Classic Email, Web mail application refactory for visual effects (software engineering-efficiency-UX)