I am in the process of developing a tool for a game called MechWarrior: Online which defines a map of an area of space called the Inner Sphere. Essentially, this map is a set of points (planets) on a Cartesian plane. Each planet can be owned by a different faction, typically represented on the map by a colour. I can colour the various planet points as different colours, but ideally what I'd like to do is show an area of influence (circle) for each faction by using something like a GeometryGroup
to help with the simplification of the geometry object that using 2,240 points' circles will produce before rendering it to a Silverlight Canvas.
However, I'm not even sure that this is a good idea or the right way to approach this problem from an algorithmic standpoint, specifically because where there are overlaps of influence at the faction "borders", how do I deal with the overlaps to effectively show a reduced area of influence for both factions in the resulting geometry?
Edit for clarity:
Thank you for the responses so far - colour interpolation was not what I meant, tho it is similar in principle.
The image above shows two faction planets (one red point, one blue point) and their areas of influence (one red circle, one blue circle). In the top image, it shows the areas of influence (territory) and their overlap. The bottom image shows how I would like to resolve the overlap.
This is the simplest example I can think of and it may be that expanding this out over multiple planets would work to get the result I am looking for, but it could become computationally expensive as if you have n planets in one faction and n planets in another, you could end up with a Big O notation value of n squared at the minimum for two factions due to the required number of comparisons for checking intersection and there are actually 10 factions each with a minimum of two neighbours, so it's more than n squared anyway.
I am not sure of what effect doing a 1 to n faction iteration while doing a search for planets in influence diameter range (i.e. intersection range) would have on that n squared value however, as it's impossible to predict deterministically how many planets will be in range to each other planet. I am assuming that it's unlikely to be very many.
Aucun commentaire:
Enregistrer un commentaire