Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 22

Thread: Rivers using Heirarchical Poisson Disc and Delaunay Triangulation

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Guild Journeyer gilgamec's Avatar
    Join Date
    Mar 2009
    Location
    Colonia Claudia Ara Agrippinensium
    Posts
    130

    Default

    I've given this a try and I'm curious how you're handling the triangulation near the coastline. Not creating points outside the landmass gives triangulations like this:
    poisson-edge-problems.jpg
    This in turn gives rivers that reach the coastline at very oblique angles. Are you continuing the triangulation beyond the coasts but truncating the triangles? If so, how do you handle altitudes of these triangles? Is there some other solution I've missed?

  2. #2
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    Quote Originally Posted by gilgamec View Post
    I've given this a try and I'm curious how you're handling the triangulation near the coastline. Not creating points outside the landmass gives triangulations like this:
    poisson-edge-problems.jpg
    This in turn gives rivers that reach the coastline at very oblique angles. Are you continuing the triangulation beyond the coasts but truncating the triangles? If so, how do you handle altitudes of these triangles? Is there some other solution I've missed?
    Yes I'm continuing outside the coastline. At the start, any nodes inside the land are unconnected and anything outside is connected, then I find the set of unconnected nodes adjacent to connected ones, select one at random, find the set of connected nodes adjacent to it, and select one at random, then join the two and move the newly joined node to the the connected set, and all of its adjacent nodes (that aren't connected) to the set of potential selections for the next iteration. There's no concept of elevation involved, just weight functions applied to the random selections. The final output has the rivers sticking out past the coastline. I currently fix this by applying the coastline as a clipping path in Inkscape although it shouldn't be hard to do the clipping operation in my generator, and I'll probably add that when I add a raw data output capability (shapefile, etc)

  3. #3
    Guild Journeyer
    Join Date
    Sep 2013
    Location
    San Francisco
    Posts
    125

    Default Going with the Flow!

    Very interesting! For just (semi-)randomly picking directions, this generates some nice results. I am also watching this thread to see how far you can take this!

    There's no concept of elevation involved...
    I would hesitantly disagree, and say that your hydrological divides could be an abstraction of elevation data (ridge lines?). I am now wondering if there is some way of processing elevation data so that this can read it as just a set of ridge lines/break lines/divides.

  4. #4
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    Quote Originally Posted by RedKettle View Post
    Very interesting! For just (semi-)randomly picking directions, this generates some nice results. I am also watching this thread to see how far you can take this!



    I would hesitantly disagree, and say that your hydrological divides could be an abstraction of elevation data (ridge lines?). I am now wondering if there is some way of processing elevation data so that this can read it as just a set of ridge lines/break lines/divides.
    The ridgelines are certainly meant to represent topography in a highly abstract way, as are some of the selection weightings. I'd hesitate to use the term "elevation" though. In geography "elevation" is specifically the distance between the ground surface and the datum (essentially "sea level" in non-geography speak). There's no vertical distance quantity anywhere in my algorithm which is why I say it has no concept of elevation.

  5. #5
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    The precipitation is now a raster file rather than a perlin noise generator. So the collecive inputs to the algorithm look like this
    input.png

    And the output looks like this
    stipple.png

  6. #6
    Guild Grand Master Azélor's Avatar
    Join Date
    Jul 2008
    Location
    Québec
    Posts
    3,363

    Default

    What are the colours for, blue is wet and red is drier ?

  7. #7
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    Quote Originally Posted by Azelor View Post
    What are the colours for, blue is wet and red is drier ?
    Yep, it's a pseudocolour ramp for easier visualization. The underlaying data is a greyscale 8 bit PNG with a world file for georeferencing.

  8. #8
    Guild Journeyer TK.'s Avatar
    Join Date
    Jan 2015
    Posts
    119

    Default

    uhhh... for the really stupid people like me...what software is this?

  9. #9
    Administrator Redrobes's Avatar
    Join Date
    Dec 2007
    Location
    England
    Posts
    7,269
    Blog Entries
    8

    Default

    I believe this is his own software that he has written. I have written something like it too as have several others. Its an interesting little problem to try to automatically calculate the probable river paths, which is hard to map, based on some simple inputs like rough height maps, which is a lot easier to manually do. It makes making a map much easier and more realistic than if you arbitrarily draw on the rivers where you think they might be. The physics of where water should be is generally pretty well known although its complicated by the infinitely detailed and complex terrain of real world ground and weather. But you can do a pretty good job of it. Another harder problem that we have had a go at and nobody has really had great results yet is that of automatically placing buildings for a town that look right. To get it to look right you need to grow the town much like you need to grow the rivers. Just plonking them down in some random way doesnt cut it. People tend to build where it needed, and sometimes knock buildings down and put up new ones based on what has grown there so far. But for now, rivers is something we can have a crack at and get some plausible results from and this particular technique is something Hai Etlik is exploring.

  10. #10
    Guild Journeyer TK.'s Avatar
    Join Date
    Jan 2015
    Posts
    119

    Default

    @Redrobes Thanks for the reply! I see... yeah, I encountered that problem with city buildings when I tried my first city map. Saw that would take a huge amount of time to get buildings individually and manually, so tried an automated approach without much success.

Page 2 of 3 FirstFirst 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •