RE: [Algorithms] infinite precision spatial database
Brought to you by:
vexxed72
From: Crosbie F. <cr...@cy...> - 2003-12-21 13:50:11
|
> From: Mikael Hedberg > I think you're making a mistake in targeting "something 3D" as the > difficulty here. I have a feeling that if you could find a code that > really does what you want it to do in 1D, it can probably be extended. > I'd like to point to the following difficulties. Find a code that: > - guarantees non-closeness of far-apart things as well as > closeness of close things. > - has a closeness-concept independant of scale. > If you do that in 1D, I'm sure it can be extended to 3D. Thanks for very incisive and constructive point there Mikael. Indeed, it is not just that adjacent codes should have minimal difference (as Gray code, etc.), but that codes should have a pattern difference from the codes of their vicinities, proportional to their physical distance from them. This then reminds me of the wacky idea that we could consider that space did not have a rigid lattice-like addressability, but that it is associative, i.e. you can only locate anything in terms of things that exist, that empty space has no address and needs none. Perhaps a bit like navigating a dynamic tree structure - you might not be able to address uncreated branches, simply because they haven't been created yet. This would be where the location code fit the specific tree, rather than all potential trees. So we'd say "In the country over the channel, in the second big town down the river, just behind the first pub on the left, upstairs and underneath the first bedroom's wardrobe, in the small blue box, in the brown envelope, on the second sheet, etc.". So we could have a code that said "If you're interested in me, then you will also have been interested in the container I'm in, and so I can express my location with respect to my container" E.g.: Rouen="Container: France, Vicinity/Magnitude code: ee ww xx" Town Hall="Container: Rouen, Vicinity/Magnitude code: qq ii x" (relative to container) Naturally, there is a poor mapping from this scheme to physical space, but then it's probably not necessary - as long as the virtual world is depicted such that the viewer sees no discrepancy from their expectation then it doesn't matter. Well, rather, I should say that it may be possible to deduce a consistent position simply from proximity analysis. Because once the objects have arrived, their precise co-ordinates can be read directly from the object. So where were we? Imagine space is filled with bubbles. Big ones, small ones, intersecting ones, contained ones, solitary ones, empty ones, etc. Each bubble needs to express its positional relationship in terms of its neighbours and relatively nearby neighbours, and in terms of a bubble that contains them all. It doesn't need to specify any larger bubble, because this will have already been picked up in a prior search. So how could we encode this in a string? "@P #M $N n1 n2 n3 n4" @P means this is a bubble within a bubble of name 'P' #M means this is a bubble of magnitude 'M' (relative) $N means this is a bubble with name 'N' n1 means this bubble is near a bubble of name 'n1' Each of these are unique symbols in the particular context. So if I wanted to find all objects and/or bubbles of magnitude m in the universe 'u' I search for "@u #m". Hmmm. This is very similar to a postal address. Though, I think with the addition of proximity/neighbourhood information it would be more useful. List me all countries in the planet, and tell me the neighbours for each one. List me all the counties in this country, and tell me the neighbours for each one. List me all the districts in this county,... List me all the towns in this district etc. Ok, this is all very vague and hazy and I don't have anywhere near a definitive conclusion, but it seems just slightly interesting enough to bounce around a bit... I think the principle at work is that "If one is truly interested in knowing something then, by definition, one must already know something about its context, ipso facto the new knowledge can express itself in relation to its context". Thus spatial data never need express itself aboslutely, because it will only ever be requested in relation to its spatial context. In other words, objects need never be requested in terms of their co-ordinates, they are requested in terms of their context. Positional information is of the same utility in this process as colour information. |