POV-Ray : Newsgroups : povray.general : Help with Blobs Server Time
29 Jul 2024 10:17:39 EDT (-0400)
  Help with Blobs (Message 10 to 19 of 19)  
<<< Previous 9 Messages Goto Initial 10 Messages
From: MichaelJF
Subject: Re: Help with Blobs
Date: 13 Oct 2012 13:50:01
Message: <web.5079a9422980527c55ed6d350@news.povray.org>
Stephen <mca### [at] aolcom> wrote:
> I am trying to make an hourglass and I cannot get the settings right.
> Would some kind person give me some starting values for a realistic
> looking sandglass? Or suggest another method as I have never managed to
> work successfully with blobs.
>
> --
> Regards
>      Stephen

As ever a good starting point is the old IRTC. First topic was "time" and
contained at least four useable hourglasses. (What means the POV-code is quite
running without bigger efforts.) There was another one later, but I cannot find
it so soon. As I think you are interested in quick solutions ;-), maybe this
hint helps. Of course all other proposed ideas here are quit right.

Best regards,
Michael


Post a reply to this message

From: Jaime Vives Piqueres
Subject: Re: Help with Blobs
Date: 13 Oct 2012 14:47:53
Message: <5079b759$1@news.povray.org>
On 13/10/12 19:44, Stephen wrote:
> will stick with using lathes. (Probably my old age)


  Just remember to move the camera a tiny bit up if you see these pesky
black lines... ;)

--
Jaime


Post a reply to this message

From: Stephen
Subject: Re: Help with Blobs
Date: 13 Oct 2012 14:53:53
Message: <5079b8c1@news.povray.org>
On 13/10/2012 7:47 PM, Jaime Vives Piqueres wrote:
> On 13/10/12 19:44, Stephen wrote:
>> will stick with using lathes. (Probably my old age)
>
>
>   Just remember to move the camera a tiny bit up if you see these pesky
> black lines... ;)
>

An old friend. ;-)


-- 
Regards
     Stephen


Post a reply to this message

From: Bill Pragnell
Subject: Re: Help with Blobs
Date: 15 Oct 2012 03:30:01
Message: <web.507bbaad2980527c5b7d07940@news.povray.org>
Stephen <mca### [at] aolcom> wrote:
> On 13/10/2012 2:51 PM, Thomas de Groot wrote:
> > ....and for the sand inside, you can use sor too.
> The glass will be lying on its side, so we will see.

That's ok - make a complete inner sor (or lathe), then intersect it with a 'sand
level' plane to get sand sitting along the inside.

> > (lathe is another option)
> Probably a better one as it uses splines.

I often use Inkscape for making POV-Ray lathes - it can export the splines in
..pov format.


Better yet, having seen everyone's excellent physics simulations recently,
create the hourglass in Blender, add 10^12 sand grains, run your simulation, and
export the resulting gajillion GB of transformation data to POV-Ray! ;-)

Bill


Post a reply to this message

From: Stephen
Subject: Re: Help with Blobs
Date: 15 Oct 2012 05:40:01
Message: <web.507bd99d2980527cf2eb76540@news.povray.org>
"MichaelJF" <mi-### [at] t-onlinede> wrote:

>
> As ever a good starting point is the old IRTC. First topic was "time" and
> contained at least four useable hourglasses. (What means the POV-code is quite
> running without bigger efforts.) There was another one later, but I cannot find
> it so soon. As I think you are interested in quick solutions ;-), maybe this
> hint helps. Of course all other proposed ideas here are quit right.
>


is some fine images there. I could do with studying some of the texture masters.

Stephen


Post a reply to this message

From: Stephen
Subject: Re: Help with Blobs
Date: 15 Oct 2012 06:05:01
Message: <web.507bdf722980527cf2eb76540@news.povray.org>
"Bill Pragnell" <bil### [at] hotmailcom> wrote:
> Stephen <mca### [at] aolcom> wrote:
> > On 13/10/2012 2:51 PM, Thomas de Groot wrote:
> > > ....and for the sand inside, you can use sor too.
> > The glass will be lying on its side, so we will see.
>
> That's ok - make a complete inner sor (or lathe), then intersect it with a 'sand
> level' plane to get sand sitting along the inside.
>




> > > (lathe is another option)
> > Probably a better one as it uses splines.
>
> I often use Inkscape for making POV-Ray lathes - it can export the splines in
> ..pov format.
>
>

I must try Inkscape, I have heard nothing but good about it. But first I need to
dig out my graphics tablet. I find that Bishop3D is quite good. Besides
manipulating the points of a spline, you can export the Pov script, manipulate
them and import them again. And you get a visualisation of the surface.

> Better yet, having seen everyone's excellent physics simulations recently,
> create the hourglass in Blender, add 10^12 sand grains, run your simulation, and
> export the resulting gajillion GB of transformation data to POV-Ray! ;-)
>


This started out as a quick doodle for a logo and it is turning into a project.
Firstly I created the outside bulb and scaled a reference to difference for the
inside. Then I referenced the difference for the other half. This gave me
banding as if the thickness of the glass was not constant.
The next try was to copy the outside spline and manually move the spline points
to get the wall thickness constant. This gives better results but talk about
slow rendering (max_trace_level = 6) and there seems to be a bloom on one of the
bulbs.
I might post some WIPs.

Stephen


Post a reply to this message

From: Bill Pragnell
Subject: Re: Help with Blobs
Date: 15 Oct 2012 08:35:01
Message: <web.507c01f62980527c5b7d07940@news.povray.org>
"Stephen" <mcavoys_AT_aolDOT.com> wrote:
> I must try Inkscape, I have heard nothing but good about it. But first I need to
> dig out my graphics tablet.

You don't really need a graphics tablet, although I expect it makes it easier.

> I find that Bishop3D is quite good. Besides
> manipulating the points of a spline, you can export the Pov script, manipulate
> them and import them again. And you get a visualisation of the surface.

Ah well, an accurate preview of the surface is quite important, I'd stick with
Bishop3D in that case!

> I might post some WIPs.

Please do!


Post a reply to this message

From: Stephen
Subject: Re: Help with Blobs
Date: 17 Oct 2012 11:25:01
Message: <web.507ecc9d2980527cf2eb76540@news.povray.org>
"Bill Pragnell" <bil### [at] hotmailcom> wrote:
> "Stephen" <mcavoys_AT_aolDOT.com> wrote:

> You don't really need a graphics tablet, although I expect it makes it easier.
>
> > I find that Bishop3D is quite good. Besides
> > manipulating the points of a spline, you can export the Pov script, manipulate
> > them and import them again. And you get a visualisation of the surface.
>
> Ah well, an accurate preview of the surface is quite important, I'd stick with
> Bishop3D in that case!
>

I don't know how accurate it is, actually.

> > I might post some WIPs.
>
> Please do!

Okay, done in p.b.i. under Lathe problems.


Post a reply to this message

From: Norbert Kern
Subject: Re: Help with Blobs
Date: 17 Oct 2012 12:00:01
Message: <web.507ed48f2980527cc21bdf370@news.povray.org>
"Stephen" <mcavoys_AT_aolDOT.com> wrote:

> I must admit that the IRTC is a resource I seldom use.

Of course it's a personal style question.
Personally I always look first to existent codes.

One good spline hourglass solution comes frm Tekno Frannansa (IRTC round
Desert), which I changed a bit for a wallpaper of my own...

Code is:

//our time is running out, our time is running out, can't put us on the ground,
you can't stop us screaming out, how did it come to this?
//+kfi0 +kff1 (remove these to render only pass 2)

//scene switches, these sometimes get overridden later.
#if (1)
 //standard
 #declare glassEnabled = on;
 #declare rad = on;
 #declare useRadFile = off;
 #declare areaLights = on;
 #declare hfMip = 0;
 #declare maxInter = 12;
#else
 //low quality test
 #declare glassEnabled = off;
 #declare rad = off;
 #declare useRadFile = off;
 #declare areaLights = off;
 #declare hfMip = 2;
 #declare maxInter = 10;
#end

#include "rad_def.inc"
#include "shapes.inc"

global_settings {
        assumed_gamma 2.2
 max_intersections maxInter
#if (rad)
 radiosity {
         brightness 1
  #if (!useRadFile | frame_number<final_frame)
   Rad_Settings(Radiosity_Fast,on,on)
   #declare radRender = on;
  #end
  gray_threshold 0

 }
#end
}


#if (rad)
 #default { pigment { rgb 1 } finish { diffuse .7 ambient 0 } }
#else
 #default { pigment { rgb 1 } finish { diffuse .7 ambient .3 } }
#end

#declare hourglassSpline = array[9] {
  <1, -9>,
  <1, -1>,
  <0.87, -0.5>,
  <0.12, -0.1>,
  <0.007, 0>,
  <0.12, 0.1>,
  <0.87, 0.5>,
  <1, 1>,
  <1, 9>
}
#declare hourglassNumPoints = dimension_size (hourglassSpline,1);

#declare hourglassShapeInner =
 sor {
  hourglassNumPoints
  #local i=0;
  #while (i < hourglassNumPoints)
   hourglassSpline[i]
   #local i = i+1;
  #end
  sturm
  scale <1,1.5,1>
 }

#declare hourglassShapeInnerShift = //nudge outwards fractionally
 #local f = 0.005;
 sor {
  hourglassNumPoints
  #local i=0;
  #while (i < hourglassNumPoints)
   hourglassSpline[i]+f*u
   #local i = i+1;
  #end
  sturm
  scale <1,1.5,1>
 }

#declare hourglassShapeOuter =
 #local f = 0.01;
 sor {
  hourglassNumPoints
  #local i=0;
  #while (i < hourglassNumPoints)
   hourglassSpline[i]*<.92,.99>+<.08,0>+f*u
   #local i = i+1;
  #end
  sturm
  scale <1,1.5,1>
 }

//hourglass objects, origin = pinch in the glass.
union {
 #declare sand =
  texture {
   pigment {
    //checker rgb 0, rgb 1 scale .3 //surreal!
    crackle
    solid
    scale 0.001
    #local f=1;//.7; //radiosity tends to multiply the colour by itself (through
interreflection) so balance for that. maybe, or could use gray_threshold
    colour_map {
     [0 rgb <pow(0.9,f),pow(.8,f),pow(0.5,f)>] //0.9,0.8,0.5
     [1 rgb <pow(1,f),pow(1,f),pow(0.9,f)>] //1,1,0.9
    }
   }
   finish {
    //specular 1 roughness 0.01
    phong 1 phong_size 100
   }
   normal {
    facets 1
    coords 1
    scale 0.001
   }
  }

 //upper sand
 intersection {
  object { hourglassShapeInner }
  height_field {
   function 512/pow(2,hfMip), 512/pow(2,hfMip) {
    max(0,0.13+0.15*sin(pi*20*sqrt((x-0.5)*(x-0.5)+(y-0.5)*(y-0.5))))
   }
   translate -.5
   scale <2,0.4,2>
   translate 0.2*y
  }
  plane {-y,-0.02 }
  texture { sand }
  no_shadow
 }

 //lower sand
 intersection {
  object {hourglassShapeInner}
  height_field {
   function 2048/pow(2,hfMip),2048/pow(2,hfMip) {//why do programmers always use
power of 2's???! :)
    pigment {
     average
     pigment_map {
      [1 spotted  translate 7/0.6 scale 0.6]
      [0.03 spotted scale <0.01,0.05,0.05> rotate 47 warp { turbulence 0.2
octaves 2 } ]
     }
    }
   }
   smooth
   translate -0.5
   scale <2,0.8,2>
   translate -0.7*y
  }
  texture { sand }
 }

 //falling sand
 union {
  cylinder { <0,0,0>, <0,1,0>, .01 }
  hollow on
  texture {
   pigment_pattern {
    slope { -z }
    pigment_map {
     [0 rgb 0]
     [1
      average
      pigment_map {
       [0.2 gradient y poly_wave 5]
       [1 crackle solid scale 0.001]
      }
     ]
    }
   }
   texture_map {
    [0.4 pigment { rgbt 1 }]
    [0.4 sand]
   }
  }
  scale 0.721*y
  translate -0.7*y
 }

 //pile of sand
 cone { -0.7*y, 0.2, -0.5*y, 0 texture { sand } }


 //glass
#if (glassEnabled)
 difference {
  object { hourglassShapeOuter }// scale <1.03,.99,1.03> }
  object { hourglassShapeInnerShift } //avoid coincidence with sand.
  texture {
   pigment { rgbt 1 }
   finish { phong 2 phong_size 600 reflection { 0, 1 fresnel } conserve_energy }
  }
  interior_texture {
   pigment { rgbt 1 }
   finish { reflection { 0, 1 fresnel } conserve_energy } //no specular
  }
  interior { ior 1.5 }
 }
#end //glassEnabledg


#ifdef (radRender)
 //infinite desert
 plane { y, -1 texture { sand } }
#else
 //background
 plane { -z, -1000 pigment { rgb 0 } no_reflection no_shadow }
#end

 translate <-0.5,0.4,1.5>

 scale 1000 //fix some accuracy problems in the mesh. Looks like pov's got a
hard coded threshold...
}

#declare BC = <pow(4/7,1/2.2),pow(5.5/7,1/2.2),1>;
sky_sphere {pigment {planar colour_map {[0 rgb
0.3*<pow(BC.x,4),pow(BC.y,4),pow(BC.z,4)>*1.5][1 rgb 0.7*BC*1.5]}}}

fog {
 fog_type 2
 colour rgb BC*0.3
 distance 100*100
 fog_alt 6*100
 fog_offset -7*100
}

fog {
 fog_type 2
 colour rgb (1-BC)*0.5
 distance 500*100
 fog_alt 15*100
 fog_offset -7*100
}

//use a bit of 3 point lighting, but let saved rad be the fill light
light_source { <3,2,-1>*10000, rgb <1,0.9,0.7>*0.8  //key
 #if (areaLights) area_light z*2000,y*2000,4,4 adaptive 1 orient jitter #end
}
light_source { <0.2,1,3>*10000, rgb 1.2*<1,0.9,0.7>*0.8  //highlight
 #if (areaLights) area_light x*10000,y*10000,4,4 adaptive 1 orient jitter #end
}


camera {
 right  -x*image_width/image_height
 up  y
 direction z*1
 angle           100

 scale 1000
}

//   End of code



Have fun
Norbert


Post a reply to this message

From: Stephen
Subject: Re: Help with Blobs
Date: 17 Oct 2012 15:48:37
Message: <507f0b95$1@news.povray.org>
On 17/10/2012 4:57 PM, Norbert Kern wrote:
> "Stephen" <mcavoys_AT_aolDOT.com> wrote:
>
>> >I must admit that the IRTC is a resource I seldom use.
> Of course it's a personal style question.
> Personally I always look first to existent codes.
>
> One good spline hourglass solution comes frm Tekno Frannansa (IRTC round
> Desert), which I changed a bit for a wallpaper of my own...

Thanks Norbert.
Looking at Tek's code has made me realise that it would be simpler to 
use one SOR for both the bulbs rather than mirroring one bulb.

-- 
Regards
     Stephen


Post a reply to this message

<<< Previous 9 Messages Goto Initial 10 Messages

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