|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The algorithm used for the waves is described in:
http://www.first.gmd.de/persons/bwalter/html/report/report.html
and in an article from the german computer magazine 'PC Magazin', issue
12/2001.
The main idea is to superpose several sine waves (160 in this case) with
different frequencies and directions according to a certain distribution
function.
It is right now implemented as a heightfield, i already thought about
generating an isosurface function instead, but i'm not sure how slow this
would be with 160 sine functions.
The main problem is of course that there is no interaction with the walls
of the pool and generating a sufficiently large water plane with a
heightfield is problematic.
Christoph
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
Attachments:
Download 'waves5.mpg' (349 KB)
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Not too shabby! Would be nice to at least fake the interactions with the
environment...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Tony[B]" wrote:
>
> Not too shabby! Would be nice to at least fake the interactions with the
> environment...
Well, it's quite difficult to do this in a physically accurate way. Also
the technique in general is only meant to be realistic for deep ocean
water.
I have made another version with higher resolution, different scale and
viewpoint. The single steps are a bit large, but otherwise i think it's
much better.
Christoph
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
Attachments:
Download 'waves7.mpg' (348 KB)
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I think it is very realistic!!! It is true that there is no interaction with
the walls, but I still think it looks very good!!!
Congratulations!
Fernando.
"Christoph Hormann" <chr### [at] gmxde> wrote in message
news:3BF3F462.66F806EA@gmx.de...
>
> The algorithm used for the waves is described in:
>
> http://www.first.gmd.de/persons/bwalter/html/report/report.html
>
> and in an article from the german computer magazine 'PC Magazin', issue
> 12/2001.
>
> The main idea is to superpose several sine waves (160 in this case) with
> different frequencies and directions according to a certain distribution
> function.
>
> It is right now implemented as a heightfield, i already thought about
> generating an isosurface function instead, but i'm not sure how slow this
> would be with 160 sine functions.
>
> The main problem is of course that there is no interaction with the walls
> of the pool and generating a sufficiently large water plane with a
> heightfield is problematic.
>
> Christoph
>
> --
> Christoph Hormann <chr### [at] gmxde>
> IsoWood include, radiosity tutorial, TransSkin and other
> things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>
> I think it is very realistic!!! It is true that there is no interaction with
> the walls, but I still think it looks very good!!!
>
> Congratulations!
>
Thanks.
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The animations look really great.
> The algorithm used for the waves is described in:
>
> http://www.first.gmd.de/persons/bwalter/html/report/report.html
>
> and in an article from the german computer magazine 'PC Magazin', issue
> 12/2001.
I tried reading the article (after giving it a go with babelfish first) but
it's too
complicated for me. Would you mind sharing the .pov and possibly the .ini ?
> The main idea is to superpose several sine waves (160 in this case) with
> different frequencies and directions according to a certain distribution
> function.
I tried averaging 160 sine_wave gradients then rotating and scaling
semi-randomly
but the effect is nothing like with your approach. So how about atleast
giving the
rest of us atleast a clue
-Jide
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Jide wrote:
>
> The animations look really great.
>
Thanks.
>
> I tried reading the article (after giving it a go with babelfish first) but
> it's too
> complicated for me. Would you mind sharing the .pov and possibly the .ini ?
>
The heightfield is not generated with Povray so the POV-code won't help
you much. If i make a version using an isosurface i will post the code.
> > The main idea is to superpose several sine waves (160 in this case) with
> > different frequencies and directions according to a certain distribution
> > function.
>
> I tried averaging 160 sine_wave gradients then rotating and scaling
> semi-randomly
> but the effect is nothing like with your approach. So how about atleast
> giving the
> rest of us atleast a clue
Simply random waves does not work, you have to use the correct
distribution functions for frequency and direction to get it right.
The formulas are given in:
http://www.first.gmd.de/persons/bwalter/html/report/node6.html
http://www.first.gmd.de/persons/bwalter/html/report/node7.html
Christoph
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> The heightfield is not generated with Povray so the POV-code won't help
> you much. If i make a version using an isosurface i will post the code.
>
It's propably better that way for speed. I generated my height_field with
function 1000, 1000
and parse time was about 2 minutes IIRC (Athlon 1,4Ghz). 1000,1000 doesn't
get you a lot of smooth water :)
> > > The main idea is to superpose several sine waves (160 in this case)
with
> > > different frequencies and directions according to a certain
distribution
> > > function.
> >
> > I tried averaging 160 sine_wave gradients then rotating and scaling
> > semi-randomly
> > but the effect is nothing like with your approach. So how about atleast
> > giving the
> > rest of us atleast a clue
> Simply random waves does not work, you have to use the correct
> distribution functions for frequency and direction to get it right.
Yeah. I kind of suspected it from the result I got.
Anyway I'm eagerly waiting to see what you can do with this.
-Jide
Post a reply to this message
|
|
| |
| |
|
|
From: Christoph Hormann
Subject: Re: water waves simulation (349k)
Date: 21 Nov 2001 11:27:49
Message: <3BFBD605.EC38EA4@gmx.de>
|
|
|
| |
| |
|
|
Jide wrote:
>
> It's propably better that way for speed.
Probably not, rendering the isosurface will be much slower than the
heightfield.
> I generated my height_field with
> function 1000, 1000
> and parse time was about 2 minutes IIRC (Athlon 1,4Ghz). 1000,1000 doesn't
> get you a lot of smooth water :)
>
My animations used 256x256 and 512x512, generated with a separate program
that is faster than povray in this aspect (only a few seconds per frame)
The nice thing about an isosurface would only be that you don't need large
data files and it's possible to render arbitrarily sized water surfaces.
Christoph
--
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Christoph Hormann" wrote
> Jide wrote:
> >
> > It's propably better that way for speed.
>
> Probably not, rendering the isosurface will be much slower than the
> heightfield.
>
Yeah. I meant generating a hf is good for speed but after looking at my
post I see I messed it up.
-Jide
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |