2009-04-18 15 views
7

Sto cercando una funzione o un esempio per produrre un elenco di linee che rappresentano i contorni a un'altezza specifica all'interno di una heightmap.Calcolo dei contorni di una mappa altezza 3D?

Es,

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

Dove Heights è una matrice 512x512 di valori in virgola mobile, HeightValue è l'altezza alla quale il profilo deve essere disegnato. Le altezze possono contenere più linee per quell'altezza specifica (ad esempio una sella o una catena di isole)

Qualcuno ha o sa dove ottenere un algoritmo per generare questo?

risposta

2

Quello che stai effettivamente cercando di fare è disegnare una linea iso.
vedere my question about tempo fa.
The link given in una delle risposte è stato molto utile.

+0

Il collegamento alla tesi è morto (404). – IAbstract

1

Algoritmo:

a) Trovare che i poligoni hanno vertici sopra & sotto l'altezza che ti interessa

b) si intersecano i bordi di quei poligoni con il piano per ottenere linee sul piano..

c) Unire le linee insieme a strisce.

1

Dai uno sguardo allo Srtm2Osm, uno strumento che ho creato per generare contorni dai dati SRTM della NASA. Puoi trovare l'algoritmo nel codice C#.

Problemi correlati