Archived

This topic is now archived and is closed to further replies.

revearz

Ship waves

Recommended Posts

Hello, Just wondering if anyone has any idea about generating ship waves? I''ve tried looking on the net but there is not much out there. Any thoughts would be greatly appreciated.

Share this post


Link to post
Share on other sites
Thanks for the reply. I read up on the pdf http://web.riudon.ac.th/~siri/Wp-chap4.pdf) on Kelvin wakes and have a couple of questions. From what I can comprehend, as a ship passes through a point P, it generates a circular wave with radius increasing according phase speed c = gravity / wave frequency. Unfortunately, I couldn''t picture how these circles add up together to form the ship wakes as in Figure 12 (pg 27) of the pdf. Let''s say a ship is moving in a straight line and has generated 20 circular waves behind it, how would I combine them? Are points of dependence the points that contribute to the kelvin wakes? Thanks.

Share this post


Link to post
Share on other sites
Hi, Does anyone know how to superposition circular waves? For regular sin waves, you just add them up but I''m stump on circular waves. Any help would be greatly appreciated.

Share this post


Link to post
Share on other sites
i just searched the web and found the same papers here:

http://weaver.dwave.net/etal/mitocw/1.138j/f00/lecture-notes/index.html

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
This paper is directly applicable, and will give a good understanding of the physics. The key idea is to precompute a correct convolution kernel. They have two types of kernels, a circular one for instantaneous level changes (e.g., raindrop), and two wedge-shaped ones for steady changes. These wedge-shaped kernels can be thought of as precomputing the time evolution of the circular kernel over deltat, for source movement along a given trajectory. Simple idea, but it saves you a lot of work (!) since otherwise getting pleasing Kelvin wakes would require too small time steps. Of course, the convolution technique is not computational cheap for decent resolution grids, however.

"A convolution-based algorithm for animated water waves" - Loviscach (Eurographics 2002 short presentation)

(This paper is linked to in the forum FAQ, but the link appears to be dead. Google couldn''t quickly find a link to this paper, but it is definitely out there. Try looking around http://www.eg.org/EG/DL ?)

After reading the above paper, you''ll probably be worried about the 90s per frame on 500MHz P3. Then read the following paper, where he gets 6 fps on 2.5 GHz P4. (There is a color picture of what I suppose must be the same program at http://www.heise.de/ct/Redaktion/jl/projects.html .) I haven''t read this paper yet, but an interesting idea is blur the ship''s profile in the Fourier domain to eliminate small wavelenth waves. This then allows much larger time steps; he ends up using a time step that is 3/fps (i.e., one step every three frames), with cubic interpolation between.

"Complex water effects at interactive frame rates" - Loviscach (2003) At http://www.l7h.cn/publications/publications.html

Perhaps this paper should be added to the forum FAQ?

Share this post


Link to post
Share on other sites
In Total Annihilation, each ship spawned a pair of particles every frame or so at the stern, and gave them initial velocities such that they would move slowly apart, perpendicular to the ship''s orientation. As a ship moved, it would naturally leave behind a wake of these particles.

Particles also faded with time.

Maybe you can do a similar thing in 3d. Rather than having visible particles, have "bumps" in the heightmap that move outward and gradually fade.

Share this post


Link to post
Share on other sites
Hello,

Regarding Loviscach''s paper, I have read it but do not quite understand the convolution kernel. Where is the formula derived from? Also, it seems that Loviscach''s method generates waves for a fix dimension. If one is to render an infinite ocean with ship waves, is there a way to modify the algorithm provided?

Share this post


Link to post
Share on other sites