Viewshed complete!

AIM:

Continue development of 3D viewshed implementation.

CONDUCT:

  • A fair bit of bug hunting but less than before!
  • Previous partial implementation extended to full implementation for 2D height grid.

RESULTS:

Viewshed fully implemented for 2D height grid (Not strictly speaking 3D as it only considers ground height and not above ground obstacles such as overpasses etc but as 3D as we require)

10.5 million data points calculated in < 6 seconds.

A 3D isometric view of a complete viewshed overlayed on terrain with a moving observer position
The final fully functional viewshed visualised showing ground level visibility
Isometric 3D view of visualisation of the viewshed showing where a standing individual would be seen. Identical animation to previous gif to contrast
The same viewshed and animation showing visibility of a target object up to 1.8m (ie. Where a standing individual would be seen). No additional processing required for this step vs. previous data.

Query from created viewshed includes checking if a point is visible (defaults to small tolerance at ground level) and if a point is visible if a target is a certain height above the ground. Due to the way the algorithm works, there is no difference in time between these queries and multiple queries of different heights can be made with no requirement for additional processing.

TIME SPENT:

2 hours (47 hours running total)

DISCUSSION:

Well that feels bloody great!

A major component of the preliminaries done; integrating with a flowfield pathfinding implementation should be comparatively easy now then on to the plan development!

I will put a more technical post up in future with the details of the implemented algorithm but for now…. A pretty solid sense of satisfaction.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s