Results 1 to 8 of 8
Like Tree1Likes
  • 1 Post By Hai-Etlik

Thread: Best way for gigantic map

  1. #1
      Sandman is offline
    Guild Applicant
    Join Date
    Aug 2014
    Posts
    3

    Default Best way for gigantic map

    So, I am starting a world map for a project from zero. As it will be based on a hexagonal grid tile I will still work on the tilesets.

    The problem is that I am aiming for something gigantic. A planet that is 1,3 times bigger than the Earth, and I want to cover it completely with hexagon tiles that are 10Km² each.

    As it would be almost impossible to draw entirely in only one file in any program because of resolution and memory limitations, how would be my best approach to archieve this goal?

    Also, I am aiming to use pixelart graphics for the tiles and information on them, something like the images on my Hello topic.

  2. #2
      syris is offline
    Guild Member syris's Avatar
    Join Date
    Aug 2014
    Posts
    51

    Default

    I'd probably recommend doing quadrants, it could be a bit tricky once you're working where the edges would meet, but four image files might be a bit more manageable than one enormous one...
    After they're completed, you could make smaller copies of each quadrant to combine into a functional "full world" map that would let you see what it all looks like when combined, albeit, with a bit of graphical loss from the size reduction...
    Anyway, that's my two cents.

  3. #3
      Azelor is offline
    Guild Expert Azelor's Avatar
    Join Date
    Jul 2008
    Location
    Québec
    Posts
    1,139

    Default

    How big are you hexagons ? I think you could make them smaller. By using a code of colors instead of numbers.
    How big is you file in pixels ?

  4. #4
      waldronate is offline
    Software Dev/Rep Gracious Donor waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    1,669

    Default

    Earth is roughly 6137 km in radius (it's an oblate spheroid, but we'll assume spherical for arithmetic simplicity). For a world that's 4/3 the size of earth (assuming you want a 4/3 ratio on the radius), that's roughly 8183 km in radius, 51413 km in circumference, 280487629 sq km of surface area. If you actually want a 10 sq km hex and not a hex 10 km across, that's 28048763 hexes, or a raster about 5300 hexes on a side. Not a huge size for an editing program that understands hex tiles, but it's a big picture if you're using something like the GIMP where each hex spans a lot of pixels.

    Another problem is that hexes don't perfectly tile a sphere. Look at a soccer ball as an example: there are pentagons on there. One thing that you might consider is using a dodecahedral map like the classic Traveller world maps. That map puts the pentagons where the triangles meet and split hexes in half along the edges ( Icosahedral WorldMap Generator » Inkwell Ideas is an example).

    For whole-world things and hexes, you really need to take map projection into account if you're using a spherical world. The icosahedral projection mentioned above is pretty close to equal-area and works reasonably well when it comes to splitting up the map (just chunk the map down into the major triangles).

  5. #5
      Hai-Etlik is offline
    Guild Expert Gracious Donor Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,129
    Blog Entries
    1

    Default

    By "1.3 times bigger" do you mean 1.3 times linearly (radius, diameter, circumference) quadratically (surface area, cross sectional area), or cubically (volume, mass(assuming the same density)). The "bigger" also suggests you might mean adding 1.3 times the Earth (making the result 2.3 times Earth in whatever quantity) It's safest to just stick with "times" by itself.

    As waldronate said, you can't tile a sphere entirely with hexagons. You need exactly 12 pentagons to close it up. If you want the shapes reasonably regular, then a pentagon will have an area of about 5/6 that of a hexagon. You will also be restricted by having to use discrete cells which means you have only a fairly coarse level of control over the number of cells in the grid.

    Working it out you get this: http://mathb.in/19514
    Last edited by Hai-Etlik; 08-27-2014 at 12:43 AM.
    SJS likes this.

  6. #6
      Sandman is offline
    Guild Applicant
    Join Date
    Aug 2014
    Posts
    3

    Default

    Quote Originally Posted by syris
    I'd probably recommend doing quadrants, it could be a bit tricky once you're working where the edges would meet, but four image files might be a bit more manageable than one enormous one...
    After they're completed, you could make smaller copies of each quadrant to combine into a functional "full world" map that would let you see what it all looks like when combined, albeit, with a bit of graphical loss from the size reduction...
    Anyway, that's my two cents.
    I thought about doing quadrants. First I would draw the entire map in a small version, then I would separate it in quadrants, sectors and such, and I try to replicate the smaller parts each in the bigger version. The I would just zoom out and try to compare to see if they match. Thanks for the support on the idea, at first that couldn't be viable, but now that I think it should be my best try.

    Quote Originally Posted by Azelor
    How big are you hexagons ? I think you could make them smaller. By using a code of colors instead of numbers.
    How big is you file in pixels ?
    The problem is that I am starting from ground zero, I have not worked the hexagons nor the tiles, so I don't have an exact number. But I was planning on making them slightly bigger and makeing the quadrants a bit smaller, like 50x50 hexes. I also already worked color codes in my previously map.

     


    Red is a signal that there is a combat happening in that Hex, gray is a signal that there are structures built there, and that pink one is depicting if any natural or unatural event is happening there. But I didn't like what I did.

    Quote Originally Posted by waldronate
    Earth is roughly 6137 km in radius (it's an oblate spheroid, but we'll assume spherical for arithmetic simplicity). For a world that's 4/3 the size of earth (assuming you want a 4/3 ratio on the radius), that's roughly 8183 km in radius, 51413 km in circumference, 280487629 sq km of surface area. If you actually want a 10 sq km hex and not a hex 10 km across, that's 28048763 hexes, or a raster about 5300 hexes on a side. Not a huge size for an editing program that understands hex tiles, but it's a big picture if you're using something like the GIMP where each hex spans a lot of pixels.

    Another problem is that hexes don't perfectly tile a sphere. Look at a soccer ball as an example: there are pentagons on there. One thing that you might consider is using a dodecahedral map like the classic Traveller world maps. That map puts the pentagons where the triangles meet and split hexes in half along the edges ( Icosahedral WorldMap Generator » Inkwell Ideas is an example).

    For whole-world things and hexes, you really need to take map projection into account if you're using a spherical world. The icosahedral projection mentioned above is pretty close to equal-area and works reasonably well when it comes to splitting up the map (just chunk the map down into the major triangles).
    Yeah, I was talking about circumference, sorry for not being specific, I was just lazy. And the hex is 10Km across also. I also don't have any program that understands hex tiles, so I think I will be doing this in GIMP. I do not care about the time it will take me to finish the entire world map, though. This, alongside the universe around it is a life project to me. I found something that using the Icosahedral WorldMap, as well as a normal rectangular map is a must do, so I will need to work in a way to have both maps. Thank you for the idea and for the clarification.

    Quote Originally Posted by Hai-Etlik
    By "1.3 times bigger" do you mean 1.3 times linearly (radius, diameter, circumference) quadratically (surface area, cross sectional area), or cubically (volume, mass(assuming the same density)). The "bigger" also suggests you might mean adding 1.3 times the Earth (making the result 2.3 times Earth in whatever quantity) It's safest to just stick with "times" by itself.

    As waldronate said, you can't tile a sphere entirely with hexagons. You need exactly 12 pentagons to close it up. If you want the shapes reasonably regular, then a pentagon will have an area of about 5/6 that of a hexagon. You will also be restricted by having to use discrete cells which means you have only a fairly coarse level of control over the number of cells in the grid.

    Working it out you get this: Geodesic tiling of a sphere of radius $r$ with $h$ hexagons between pentagons - MathB.in
    That is a lot of math, and as a language student and enthusiast I am nowhere good at it. But I see your the point. As waldronate said I am using a 4/3 ratio of the Earth circumference, with a slight less density.
    The problem with using pentagons is that I am developing this for being used in a wargame, and pentagons would ruin some of the visuals of the game. Doing the planet sphere would be something very cool, but is not mandatory for me, so I think I won't have to force the use of pentagons. Other than that I could use the entire map without the hex grid as a texture in a 3D planet model and have the texture to stretch to cover it entirely, would be difficult as I never modeled or even used a 3D program, but possible I think.

  7. #7
      Hai-Etlik is offline
    Guild Expert Gracious Donor Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,129
    Blog Entries
    1

    Default

    Quote Originally Posted by Sandman View Post
    Yeah, I was talking about circumference, sorry for not being specific, I was just lazy. And the hex is 10Km across also. I also don't have any program that understands hex tiles, so I think I will be doing this in GIMP. I do not care about the time it will take me to finish the entire world map, though. This, alongside the universe around it is a life project to me. I found something that using the Icosahedral WorldMap, as well as a normal rectangular map is a must do, so I will need to work in a way to have both maps. Thank you for the idea and for the clarification.
    A hex 10 km face to face is very different from a hex with an area of 10 square km



    Quote Originally Posted by Sandman View Post
    That is a lot of math, and as a language student and enthusiast I am nowhere good at it. But I see your the point. As waldronate said I am using a 4/3 ratio of the Earth circumference, with a slight less density.
    The problem with using pentagons is that I am developing this for being used in a wargame, and pentagons would ruin some of the visuals of the game. Doing the planet sphere would be something very cool, but is not mandatory for me, so I think I won't have to force the use of pentagons. Other than that I could use the entire map without the hex grid as a texture in a 3D planet model and have the texture to stretch to cover it entirely, would be difficult as I never modeled or even used a 3D program, but possible I think.
    The math is pure arithmetic. Nothing but addition, subtraction, multiplication and division (and a couple of squares which are really just more multiplication). What I used to come up with it was a bit more advanced than that, but simply plugging in values and working it out shouldn't require anything beyond the most primitive 4 function calculator.

    When you unfold the icosaheadron the pentagons will end up as hexagons the exact same size as the other hexagons, except that they have a wedge chopped out of them, or are cut into several pieces. Take a look at the inside corners of the example map waldronate linked to to see what I mean. If you fold the wedge closed, the two half edges line up and form one straight edge, hence a pentagon.

    For cells with an apothem of about 5 km (distance from centre of the cell to the middle of an edge) on a planet with a radius 4/3 that of earth. You would want 904 hexes in line between pentagons. That gives a total of 8,190,252 cells. The actual apothem is 4.9996848279 km which I expect ought to be close enough for you. The area of a hexagon is about 102 square km while a pentagon is 85 square km. This is a bit bigger than if they were flat.

    If your hexes are 50 px wide, then an unfolded icosaheadral map works out to 248,875 x 117,562 px
    Attached Thumbnails Attached Thumbnails Best way for gigantic map-use3157.png  
    Last edited by Hai-Etlik; 08-27-2014 at 11:16 PM.

  8. #8
    Guild Novice
    Join Date
    Jul 2012
    Posts
    18

    Default

    For very large images ( 12 GIG and up - yes i work with some data sets that can be 24 to 32 Gig in size)
    i use Nip2
    it will open a image that is 32 bit float and is 131,072 x 65,538 pixels with no problem
    VipsWiki
    the blog on it
    libvips and nip2

Posting Permissions

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