open All Channels
seplocked EVE Technology Lab
blankseplocked Dynamic region map
 
This thread is older than 90 days and has been locked due to inactivity.


 
Author Topic

Eddie Knight
Caldari Provisions
Posted - 2007.11.26 16:23:00 - [1]
 

I need some help.

A while ago I created this for alliance use. We left the alliance so it is no longer classified, besides, all the info used is public.

What I hate about it is that GD is bad at anti-aliasing and SVG didn't work for everyone.

I'd like to take it one step further and make it completely dynamic so it will work "out-of-the-box" for any region. The problem is I need an algorithm to arrange the systems nicely (so jumps don't intersect) and also generate the constellation zones. The current version uses a png mask to hide the ugly region zones shapes. All the systems are also placed manually and it was a very time-consuming task and I will not do it again for all the regions :)

So, I want the next version to be able to auto-generate any region with nice, non-intersecting jumps, nice the constellation shapes (i was thinking of tangents to circles with the centers in each system) and auto-picking a color for all the alliances in those regions (this is the easiest part). Also, I want to use MySQL this time to make it run faster and be more flexible.

Question 1: What would be the best way to transform the coordinated in the DB dump to be used with GD/SVG (no negative coordinates)?

Question 2: Is there an algorithm that can place the systems in such a way that the links/jumps don't interesect while still keeping them as much as possible near their original position (the map you seen has them mixed together pretty wildly)

Question 3: Is there a good algorithm to generate the constellation shapes?

PS: If anyone wants the code I can provide it but you will have to spend a long time to make it work for any other region (new png mask, place all systems).

CCP Garthagk

Posted - 2007.11.26 17:34:00 - [2]
 

I think the best way to approach this sort of problem is to try to completely ignore the in-game placement of systems. Just go by the jumps and lay that out.

Of course, it'd be good to keep general alignments: i.e., north/south/east/west, just so people can refer to the cardinal points when they're talking about enemy fleet/gang movements. Most of the time in the security channels I've always just heard "enemy gang in XYZ-01" and such. Also, I think most of the maps I've seen that people have manually built have very little (to no) correlation to the in-game placement.

As to an algorithm to make this work, good luck with that. I imagine it can be done, but it's going to have to be an iterative one, and allow the user to decide "this is good" or not. You could then store the positions in your database for easy rendering next time.

There's some cents from this corner.

Kane Tabor
Posted - 2007.11.27 02:29:00 - [3]
 

I'd love to see what you've got so far. I've had some ideas bouncing around in my head about mapping some stuff (no code yet), but my hangup so far has been figuring out a layout. One thought I had was trying to use the Ombey maps, but maybe there's a way we could adapt your masks to be built from that PDF.

You can email me at kane.tabor@gmail.com

Eddie Knight
Caldari Provisions
Posted - 2007.11.27 08:10:00 - [4]
 

Thanks for your input.

It's not the most beautiful code but I tried to keep it organized. You can find the source here.

I started with Ombey's maps too but I decided to reorganize the systems better in order not to waste too much space and to remove intersecting links.

Btw, once you place the systems (this is the most time consuming job), making the mask is easy for each region and then you have to mark the zones but that's also pretty fast with the use of the debug function. You'll know what I mean when you see the code.

Thumbling
Posted - 2007.11.27 17:30:00 - [5]
 

Originally by: Eddie Knight
The problem is I need an algorithm to arrange the systems nicely (so jumps don't intersect)


You might want to look further into planar graphs. Maybe from there you find a suitable algorithm.

Eddie Knight
Caldari Provisions
Posted - 2007.11.28 08:02:00 - [6]
 

Thanks, I think that's what I needed.


 

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only