POV-Ray : Newsgroups : povray.newusers : shape generation (functions and more) : Re: shape generation (functions and more) Server Time
2 Nov 2024 13:19:08 EDT (-0400)
  Re: shape generation (functions and more)  
From: Tom Melly
Date: 17 Feb 2004 10:08:21
Message: <40322e65$1@news.povray.org>
"lars petter" <lar### [at] higno> wrote in message
news:40320fba$1@news.povray.org...
> thanks, we've gotten some basic knowledge on the isosurfaces now.
>     the problem is, they're only surfaces, not solid figures with a certain
> width, so we're wondering if there is a way to, e.g., extrude a parabola 2
> units, making it solid? that would've been smooth, he he. or do you see some
> other way?

Here's an iso-surface w/ photons etc. for a shape based on sin(x).

I've given it some thickness by differencing the function from an off-set copy
of itself (otherwise the shape would be infinitely thick). I've slightly
coloured the glass to make the shape show up a little more clearly than would
otherwise be the case. Adjust spacing to meet your requirements/patience...

#version 3.5;

#include "colors.inc"

global_settings {
  assumed_gamma 1.0
  max_trace_level 10
  photons {
    spacing 0.005 //smaller = better but slower
  }
}

camera {
  location  <0,5,-5>
  look_at   0
}


light_source {
  <0, 0, 0>            // light's position (translated below)
  color rgb <1, 1, 1>  // light's color
  translate <-30, 30, -30>

}


#declare fn_X = function(x,y,z){y-sin(x)}

isosurface {
  function { max(fn_X(x, y, z), - fn_X(x,y+0.5,z)) }
  contained_by { box {<-2,-10,-1>,<2,10,1> } }
  accuracy 0.001
  max_gradient 4
  all_intersections

  pigment{rgbf<0.9,0.9,1.0,1.0>}
  finish{reflection{fresnel}}
  interior{ior 1.5}

  photons{
    target 1
    refraction on
    reflection on
    collect off
  }
}

plane{y,-2 pigment{White}}


Post a reply to this message

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