Would like to get your advices on building a hierarchical systems which are interconnected...

Started by
2 comments, last by Alberth 6 years, 10 months ago

I have designed a hierarchical navigation interconnected system/subsystems in which

there are basically two major types of objects in put inside, first being infrastructures, like buildings, factories

and open-spaces like gardens, roads etc and framework types, like suburbs, cities and continents.... no planets, galaxies, xynoverse

haha

Each of them contains exactly one navigation system and they contain various needed navigation data.

I then would calculate a hierarchical costs between them by using the pivots of the system's bounding box.

But It has one minor problem, when I say add a suburb to the system, I name it the GlobalWorld,

after adding in the open spaces, the infrastructures would overlap with them, or basically sit on them,

so I can't calculate the abstract costs on them. But it is a very naturally simple case to place infrastructures on top of

open-spaces, how should I do it right? I know the correct way should be putting roads beside the infrastructures,

but can I do it this way?

[attachment=36061:q.png]

Thanks

Jack

Advertisement

"place infrastructures on top of open-spaces" says you have 3 dimensions, you have 2 things at the same position where one has priority over the other. I think in the long explanation before, you silently assumed a 2D world, where all objects are separate from each other.

The structure of the navigation system looks like a red harring to me, its shape is convenient in finding the object, you could also technically use a list, although that would be probably be unwise due to performance.

If my interpretation is true, then yeah, trying to fold 3D-like behavior into a 2D environment is trickly :P Simplest in this case is to stick with the 2D idea, and remove any open space so there is room for the new structure. That way everything lives again in its own set of coordinate space.

The other idea is to move away from 2D, and have a 3D setup instead. You can express that in the hierarchy. Anything placed on top of other things basically replaces the area of all underlying nodes that it fully or partly covers. The new node then tries to use the new object first, if the navigation is outside its area, it forwards the call to the underlying child node.

In this case, the underlying nodes should probably be made aware that they are only used partly, but I cannot decide that, I have too little knowledge about how you use the navigation system.

Let's clarify it a bit, When I want to move an agent from A to B,

I really want it to leave the premise of A and go out of the door, walk on the pathway or sidewalk... whatever, what you call it,, and enter premise B.

Since A to B is 5 meters in length, P0 to P1 is 6 meters in length + 1 meter to enter from the pathway to premise B,

The Agent will choose to directly move from P0 to P2....

Let's say the "front" door is facing down of the block

Sorry, my drawing looks a bit wack...

You can assume block A and B are right next to each other, so there are no entrances/exits between them

[attachment=36062:q2.png]

Thanks

Jack

How is your explanation clarification related to "place infrastructures on top of open-spaces"?

Navigation is something entirely different from adding or changing the navigation structure, as far as I can see.

This topic is closed to new replies.

Advertisement