2009-04-18 16 views
7

Estoy buscando una función o ejemplo para producir una lista de líneas que representen contornos a una altura específica dentro de un mapa de alturas.¿Cálculo de los contornos de un mapa de alturas 3D?

Eg,

Lines[] = GetContours(Heights[512,512], HeightValue) 

Dónde Heights es una matriz de 512x512 de valores de punto flotante, HeightValue es la altura a la que debe establecerse el contorno. Las alturas pueden contener varias líneas para esa altura específica (p. Ej., Una silla de montar o una cadena de islas)

¿Alguien tiene o sabe dónde obtener un algoritmo para generar esto?

Respuesta

1

Algoritmo:

a) Encuentre el cual polígonos tienen vértices anterior & debajo de la altura que le interesa

b) Formar intersección de los bordes de los polígonos con el avión para obtener líneas en el plano..

c) Une las líneas juntas en tiras.

1

Eche un vistazo a Srtm2Osm, una herramienta que he creado para generar contornos a partir de los datos SRTM de la NASA. Puedes encontrar el algoritmo en el código C#.

Cuestiones relacionadas