POV-Ray : Newsgroups : povray.binaries.images : Bathtub - take 2 Server Time
1 Aug 2024 16:25:45 EDT (-0400)
  Bathtub - take 2 (Message 16 to 25 of 65)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Thomas de Groot
Subject: Re: Bathtub - take 2
Date: 17 Dec 2008 03:55:27
Message: <4948be7f@news.povray.org>
"Trevor G Quayle" <Tin### [at] hotmailcom> schreef in bericht 
news:web.49480bd26655db1881c811d20@news.povray.org...
> The water surface is f_ridged_mf(x,y,z, 0.1, 3, 7, 0.7, 0.7, 2) plus 
> procedural,
> hand placed ripples.  It is not a normal though, but actually a 
> heightfield.
>

I am not entirely sure if this function is really natural to a bathtube or 
any confined water surface, up to a certain scale. I think that wave and 
ripple are dominant, and often combined together. As an example, here 
follows the code I am currently experimenting with. The scaling is optional 
but can be used for fine-tuning the whole. Frequency and turbulence are the 
main parameters. Note also the difference in the rotation.

// start of code
#declare Bigripple =
normal {
  waves 1
  frequency 6
  turbulence 0.8
  scale <0.5, 0.2, 0.2>*0.5
  translate -100*z
  rotate -30*y
}

#declare Smallripple =
normal {
  ripples 1
  frequency 3
  turbulence 0.5
  scale <0.35, 0.25, 0.25>*0.2
  translate 100*z
  rotate -10*z
}

#declare RippleNorm =
normal {
  average
  normal_map {
    [0.9 Bigripple]
    [0.8 Smallripple]
  }
}
// end of code

Thomas


Post a reply to this message

From: Trevor G Quayle
Subject: Re: Bathtub - take 2
Date: 17 Dec 2008 21:10:00
Message: <web.4949b0236655db18c67b294d0@news.povray.org>
"clipka" <nomail@nomail> wrote:
> "Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
> > > I spit out a few quick examples with different environments.
> > > Excuse the aliasing, I know it can be painful!
>
> Of these, I'd take the bottom left one.


Post a reply to this message


Attachments:
Download 'btub2.jpg' (130 KB)

Preview of image 'btub2.jpg'
btub2.jpg


 

From: clipka
Subject: Re: Bathtub - take 2
Date: 17 Dec 2008 21:55:00
Message: <web.4949bb3e6655db18abad780@news.povray.org>
The hose seems too thin to me.


Post a reply to this message

From: Cousin Ricky
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 01:55:00
Message: <web.4949f2a26655db1885de7b680@news.povray.org>
"alphaQuad" <alp### [at] earthlinknet> wrote:
> Here's a Cousin Ricky norm and the one I did for the Lego pool.
> not in that order
>
> #declare n_surface = normal {
>          function { f_ridge (x, y, z, 0.1, 1.0, 7, 0.7, 0.7, 0) } 2
> //   function { f_ridged_mf (x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) } 2
> }

I got the 2nd function from Christoph Hormann's water tutorial.

The "2" on the end is mine, though.  A plane with a surface normal is not
realistic near the horizon.  I was spurred to investigate when the real-life
sea outside my car window looked nothing like my render.  An isosurface (or
height field) looked a lot more like the real thing.  The "2" was an attempt to
compensate for the difference without giving up the speed advantage of a plane.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 03:40:33
Message: <494a0c81$1@news.povray.org>
"Cousin Ricky" <ric### [at] yahoocom> schreef in bericht 
news:web.4949f2a26655db1885de7b680@news.povray.org...
> "alphaQuad" <alp### [at] earthlinknet> wrote:
>> Here's a Cousin Ricky norm and the one I did for the Lego pool.
>> not in that order
>>
>> #declare n_surface = normal {
>>          function { f_ridge (x, y, z, 0.1, 1.0, 7, 0.7, 0.7, 0) } 2
>> //   function { f_ridged_mf (x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) } 2
>> }
>
> I got the 2nd function from Christoph Hormann's water tutorial.
>
> The "2" on the end is mine, though.  A plane with a surface normal is not
> realistic near the horizon.  I was spurred to investigate when the 
> real-life
> sea outside my car window looked nothing like my render.  An isosurface 
> (or
> height field) looked a lot more like the real thing.  The "2" was an 
> attempt to
> compensate for the difference without giving up the speed advantage of a 
> plane.
>

Hm. I am not entirely convinced, although your function looks better than 
Christoph's. I have some doubts about the use of f_ridge for ripples/waves 
anyway. I prefer (for the time being) my own method (see above) with wave 
and ripple patterns. Using judiciously the ripple origin, you can even make 
interference patterns with that. Anyway, in most cases, ripples look like... 
ripples and waves look like... waves in nature.

Thomas


Post a reply to this message

From: Trevor G Quayle
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 10:40:00
Message: <web.494a6a0a6655db1881c811d20@news.povray.org>
"clipka" <nomail@nomail> wrote:
> The hose seems too thin to me.

Yes it is quite thin, it would not be an enjoyable shower...
That's the way it is in the model already unfortuneately.  Perhaps I will
manually rework it or change the shower configuration altogether

-tgq


Post a reply to this message

From: alphaQuad
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 11:10:01
Message: <web.494a74056655db18fa0a4d5b0@news.povray.org>
"Cousin Ricky" <ric### [at] yahoocom> wrote:
> "alphaQuad" <alp### [at] earthlinknet> wrote:
> > Here's a Cousin Ricky norm and the one I did for the Lego pool.
> > not in that order
> >
> > #declare n_surface = normal {
> >          function { f_ridge (x, y, z, 0.1, 1.0, 7, 0.7, 0.7, 0) } 2
> > //   function { f_ridged_mf (x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) } 2
> > }
>
> I got the 2nd function from Christoph Hormann's water tutorial.
>
> The "2" on the end is mine, though.  A plane with a surface normal is not
> realistic near the horizon.  I was spurred to investigate when the real-life
> sea outside my car window looked nothing like my render.  An isosurface (or
> height field) looked a lot more like the real thing.  The "2" was an attempt to
> compensate for the difference without giving up the speed advantage of a plane.


Thank you for adding that. Reflection was solid 30-40 yards away,
at a low angle, in the outdoor pool image. For a high angle on a small body,
surface norms would do fine... if I understand this ...


Post a reply to this message

From: alphaQuad
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 18:10:00
Message: <web.494ad7956655db18e157c2430@news.povray.org>
did anyone mention
global_settings { number_of_waves Count }


#declare RippleNorm =
normal {
  average
  normal_map {
    [0.9 Bigripple]
    [0.8 Smallripple]
  }
}

3.5.11.35  Waves
When used as a normal pattern, this pattern uses a specialized normal
perturbation function. This means that the pattern cannot be used with
normal_map, slope_map or wave type modifiers in a normal statement.


OK now I'm just a little ichy ... grain of salt eh?


Post a reply to this message

From: Trevor G Quayle
Subject: Re: Bathtub - take 2
Date: 18 Dec 2008 19:05:01
Message: <web.494ae5176655db18c67b294d0@news.povray.org>
"alphaQuad" <alp### [at] earthlinknet> wrote:
> did anyone mention
> global_settings { number_of_waves Count }
>
>
> #declare RippleNorm =
> normal {
>   average
>   normal_map {
>     [0.9 Bigripple]
>     [0.8 Smallripple]
>   }
> }
>
> 3.5.11.35  Waves
> When used as a normal pattern, this pattern uses a specialized normal
> perturbation function. This means that the pattern cannot be used with
> normal_map, slope_map or wave type modifiers in a normal statement.
>
>
> OK now I'm just a little ichy ... grain of salt eh?

Not an issue for me anyways.  I convert to functions, and combine functions and
use a function pattern.  The main reason for this is beacuase I use it in a
heightfield rather than as a normal, but it should work either way.

-tgq


Post a reply to this message

From: alphaQuad
Subject: Re: Bathtub - take 2
Date: 19 Dec 2008 02:05:01
Message: <web.494b47636655db18ab3d2ec40@news.povray.org>
"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote:

> I am not entirely sure if this function is really natural to a bathtube or
> any confined water surface, up to a certain scale. I think that wave and
> ripple are dominant, and often combined together. As an example, here
> follows the code I am currently experimenting with. The scaling is optional
> but can be used for fine-tuning the whole. Frequency and turbulence are the
> main parameters. Note also the difference in the rotation.
>
> // start of code
> #declare Bigripple =
> normal {
>   waves 1
>   frequency 6
>   turbulence 0.8
>   scale <0.5, 0.2, 0.2>*0.5
>   translate -100*z
>   rotate -30*y
> }
>
> #declare Smallripple =
> normal {
>   ripples 1
>   frequency 3
>   turbulence 0.5
>   scale <0.35, 0.25, 0.25>*0.2
>   translate 100*z
>   rotate -10*z
> }
>
> #declare RippleNorm =
> normal {
>   average
>   normal_map {
>     [0.9 Bigripple]
>     [0.8 Smallripple]
>   }
> }
> // end of code
>
> Thomas

Today I tried to find a suitable replacement for my Lego water:
 <web.49472c24399f7e1d778c150@news.povray.org>

I could not. I was able to make some watery chrome.

I'd love to see someone find something better than f_ridge for the Lego pool. I
doubt anyone can.

If you want to try, legoworld_pool.pov is in the legolib zip here:
http://home.earthlink.net/~openuniverse/


here's the norms you posted:

global_settings {
number_of_waves  1
RippleNorm 01
Bigripple 02
Smallripple 03
}

global_settings {
number_of_waves  2
RippleNorm 11
}


Post a reply to this message


Attachments:
Download 'thomasnorms.jpg' (604 KB)

Preview of image 'thomasnorms.jpg'
thomasnorms.jpg


 

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

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