Soluzioni per modellare il terreno

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Cerco di esplicitare meglio il problema. Considerate questa sezione.
Se tu vuoi rappresentare l'andamento del terreno costituito da una serie di sezioni come quella nell'immagine da te postata, dovrai fornire piu' punti al programma. Cioè non solo quelli costituiti dai vertici, ma molti altri ancora. Questo perchè l'algoritmo che crea il modello digitale del terreno tenderà a raccordare i punti tra loro. Ecco perchè con i programmi di fotogrammetria non si hanno di questi problemi, perchè creano il modello digitale dalla nuvola di punti (e i punti in questo caso sono tanti). In pratica piu' è complesso cio' che devi rappresentare e piu' punti dovrai fornire al programma. Altrimenti quello tenderà a raccordare semplificando ( e ci darà un risultato insoddisfacente). Nei terreni quasi pianeggianti invece, il programma se la cava bene. Ma è naturale.

Percio', se non vuoi la nuvola di punti, dovrai procedere tu, durante il rilievo, a fornire piu' punti possibile affinchè il programma ti disegni un qualcosa simile ad una gradonata. Ad esempio (sempre prendendo in considerazione l'immagine che hai postato) anzichè fornire i punti dei soli vertici , aggiungine altri vicino a ciascun vertice. Vedrai che il programma ti disegnerà un qualcosa molto simile ad una gradonata. Piu' ne aggiungi e piu' sarà preciso nel rappresentarla graficamente.
Cio' in fase di rilievo è dispendioso, pero' è l'unica maniera.
 
Ultima modifica:

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Ho ottenuto un primo risultato.

Se rinuncio a lavorare coi DTM e se rappresento la gradonatura solo a mezzo di semplici polilinee 3D, a patto di inserire un offset 3D pari 0.000001, in planimetria vedo una sola linea e nel profilo della sezione (estratta in modo automatico) vedo un solo punto. Il gradino in sezione viene disegnato correttamente.

Contro: devo rinunciare ai DTM ed al calcolo del volume di scavo per intersezione di DTM.

Pro: ho planimetria e sezioni già pronte per le tavole di stampa. Potendo disporre di molte sezioni con un click posso calcolare con quelle i volumi di scavo.
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Comunque l'algoritmo che si incarica di creare il dtm incontrerà sempre delle difficoltà qualora il terreno presenti delle gradonature. Questo a prescindere dalla bontà o meno del programma usato.
Per le gradonature il discorso è molto simile al discorso del chamfer.
Se noi facciamo il chamfer dei lati di un cubo... avremo una figura geometrica piu' o meno vicina alla forma originaria del cubo a seconda del valore delle interazioni che diamo al comando chamfer. Con un numero alto di interazioni la figura risultante sarà piu' simile al cubo di partenza rispetto ad un chamfer con 1 sola interazione.
Piu' o meno lo stesso discorso delle figure in basso.

Anche facendo la triangolazione dei punti a mano, piu' punti aggiungi laddove vuoi che vi siano gli spigoli netti delle gradonature e meglio è.
A questo punto la domanda è: vale la pena affrontare questo lavoro? Io non conosco la complessità del rilievo che intendi rappresentare. Certo che se è molto complesso allora è un lavoraccio farlo a mano.
Oggi i computer sono potenti, e gestiscono senza particolari problemi le nuvole di punti (anche dense). Percio', perchè privarsi delle nuvole dei punti? Con un dtm generato da nuvole di punti non incontreresti le difficoltà che dici di incontrare.

E comunque potresti sempre semplificare le mesh eliminando i punti superflui dalla nuvola e costruendo tu le mesh semplificate.
 

Allegati

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Percio', perchè privarsi delle nuvole dei punti? Con un dtm generato da nuvole di punti non incontreresti le difficoltà che dici di incontrare.

E comunque potresti sempre semplificare le mesh eliminando i punti superflui dalla nuvola e costruendo tu le mesh semplificate.
Io, abitualmente, lavoro col drone. Quindi arrivo già alla nuvola di punti, alla mesh ed all'ortofoto.

Come faccio a costruire una nuvola/mesh semplificata che tenga conto soltanto dell'orografia del terreno da cui generare il relativo dtm ? Non credo il software possa "capire" cosa includere e cosa no.

Ecco perché procedo alla digitalizzazione manuale delle caratteristiche che mi interessano. Come se eseguissi il rilievo topografico muovendo il mouse sullo schermo al posto che lo strumento in campagna.

Anche perché, ad un certo punto, comunque devo ricondurmi a delle tavole classiche di progetto (planimetrie e sezioni 2d) da stampare e presentare agli enti.
 

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Vi mostro il risultato migliore a cui sono arrivato (applicando un offset verticale 0.001).

Vista 3D.
1.jpg

Vista in planimetria. Si vede una sola linea. Perfetto.
2.jpg

Sezione automatica. Si vede una sola linea. I gradini sono verticali e disegnati correttamente. Perfetto.
3.jpg

Ora, partendo da questo tipo di impostazione e di elaborati di output, che per quello che è il fine del mio lavoro sono perfetti così, se si riuscisse in qualche modo a modellare un 3D su queste polilinee sarebbe la ciliegina sulla torta, altrimenti ne faccio a meno.

Stavo pensando... non esiste qualche programma che permette di vincolare il DTM a passare da certi punti ? In modo tale da forzare la faccia verticale ed il piccolo gradino orizzontale ?
 
Ultima modifica:

Tristan

Moderatore Civil 3D
Membro dello Staff
Professione: Application Engineer
Software: Autodesk Civil 3D, Revit e altre amenità
Regione: Trentino
Con Civil3D in pochi minuti...

Immagine 2020-12-31 093527.png
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
non esiste qualche programma che permette di vincolare il DTM a passare da certi punti ? In modo tale da forzare la faccia verticale ed il piccolo gradino orizzontale ?
I programmi in lisp che si trovano sul web, non lo fanno (per quella che è la mia esperienza). Normalmente fanno un ottimo lavoro... i problemi per questi programmi sorgono quando vi è da fare la triangolazione dei punti che identificano una superficie verticale o quasi. Non interpretano nella giusta maniera i punti, vanno avanti comunque, e danno un risultato non soddisfacente. Io credo che per ottenere un risultato soddisfacente, in quei casi, abbiano bisogno di piu' punti ubicati proprio dove le geometrie si complicano.

Probabilmente altri programmi tipo il Civil 3d, come indicato da Tristan permettono di porre dei vincoli a determinati punti. Non li conosco e non saprei dire. Bisognerebbe vedere qualche tutorial sul web.

Tornando alla nuvola dei punti, tempo fà vidi un tutorial per la semplificazione delle nuvole, che teneva conto anche dell'eliminazione dei punti generati dalla vegetazione. Non ricordo se era il Cloud Compare o altro. Vedo se riesco a rintracciare quel tutorial e lo posto.
 
Ultima modifica:

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Con Civil3D in pochi minuti...
Probabilmente altri programmi tipo il Civil 3d, come indicato da Tristan permettono di porre dei vincoli a determinati punti. Non li conosco e non saprei dire. Bisognerebbe vedere qualche tutorial sul web.
Come hai fatto ? Pensi si possa replicare con software meno "impegnativi" (economicamente) ?

Tornando alla nuvola dei punti, tempo fà vidi un tutorial per la semplificazione delle nuvole, che teneva conto anche dell'eliminazione dei punti generati dalla vegetazione. Non ricordo se era il Cloud Compare o altro.
Anche se riuscissi a semplificare la nuvola e ad estrarre da lì il DTM, comunque avrei soltanto la situazione attuale. Nel momento in cui devo progettare nuovi gradoni sbatterei di nuovo sullo stesso problema.

La soluzione definitiva del mio problema sta in ciò che ha postato Tristan...
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Come faccio a costruire una nuvola/mesh semplificata che tenga conto soltanto dell'orografia del terreno da cui generare il relativo dtm ? Non credo il software possa "capire" cosa includere e cosa no.
I programmi di fotogrammetria mettono a disposizione tools per eliminare punti piu' in dettaglio.
Vi sono anche delle utilità per creare dei piani, costituiti da nuovi punti. In pratica generano nuove nuvole di punti che identificano questi piani.
Tutti i programmi di fotogrammetria consentono di calcolare scavi e riporti, il che significa che sono in grado di acquisire nuovi punti di progetto. Come lo facciano, e come riescano a gestirli è ancora da scoprire anche per me.
Quando facevo lavori topografici io questi programmi non esistevano, percio' anche io, come te, sto' cercando di capire meglio. Io costruivo i dtm aiutandomi dapprima con qualche lisp e poi scoprii' il Surfer di cui ho accennato prima, il quale consentiva di fare belle presentazioni del rilevato.

Per il resto mi aiutavo con Autocad. Ottenuto il dtm tagliavo le superfici laddove vi era da intervenire. Manufatti o geometrie piu' complesse le disegnavo con Autocad, e qualche volta creavo dei volumi di sterro o di riporto, come se fossero dei solidi ai quali assegnavo colori diversi, giusto per averli a portata di vista comodamente.
Sicuramente i nuovi software consentono di gestire, tutto al loro interno, i lavori di cui stai parlando tu.

Questo è un tutorial su come eliminare la vegetazione, utilizzando Cloud Compare.
 

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Il video che hai linkato mette a fuoco, bene, alcuni dei problemi in cui solitamente ci si imbatte a valle del rilievo col drone ed a monte delle successive fasi progettuali che ruoteranno attorno quel rilievo.

Per quanto mi riguarda reputo meglio, piuttosto che impelagarmi in lunghe e complesse pulizie della nuvola, semplicemente digitalizzarne le caratteristiche salienti (come se stessi eseguendo un rilievo topografico sulla nuvola) ed esportare quelle in un banale .dxf; questo modo di operare per due ragioni:

1) nei casi che tratto, la rappresentazione a curve di livello non ha molto senso; dopo che ho perso una vita per avere una nuvola rappresentativa del terreno, per tirar fuori da quella nuvola una planimetria dovrei comunque procedere ad una digitalizzazione manuale, per cui tanto vale digitalizzare direttamente sulla nuvola "sporca" avendo cura di prendere i punti "buoni" (come un rilievo topografico classico). Nei rari casi in cui mi servono le curve di livello, sulla nuvola realizzo una sorta di piano quotato (come un rilievo topografico classico), avendo cura di evitare vegetazione o altri elementi di disturbo, e da quell'insieme di punti genero le curve di livello.

2) ammesso di riuscire a pulire la nuvola, il DTM da esso derivante sarà "troppo" preciso; ovvero esso terrà conto di tutta una serie di peculiarità che, per le successive elaborazioni, non solo sono irrilevanti ma creano problemi... del tipo... le pareti di roccia saranno a 88, a 89, a 91, a 92, invece che a 90... le superfici dei gradini non avranno perfettamente la stessa quota uniforme... sulle pareti ci saranno una serie di imperfezioni (rotture, rientranze, piccole scarpate...)... per quelle che sono le finalità, tutti questi elementi vanno ignorati ed inseriti in un modello che le semplifichi... altrimenti ci si perde...

Ma prendi anche l'esempio del link... una vita per pulire un output banale con 2 alberelli (i casi reali sono molto più complessi)... che ci sarebbe voluto a tirare qualche polilinea a ricalcare la strada e mettere una serie di punti sul terreno per generare le curve di livello da piano quotato ?

In ogni caso per quelle che sono le mie esigenze, il punto di partenza deve esser per forza un file .dxf con punti e polilinee 3D, che rappresenti, in modo fedele ma "semplificato", l'orografia a gradoni già presente e su cui poter andare a progettare i prossimi gradoni, tirando fuori sezioni e calcolando i nuovi volumi.
 
Ultima modifica:

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
A quanto sopra detto, per maggiore precisione, aggiungo che, in realtà, io la digitalizzazione non la eseguo neppure sulla nuvola (appena aumenti lo zoom su una nuvola di punti beccare spigoli ed elementi precisi è un casino) bensì, più comodamente, sulla mesh (derivata dalla nuvola) con spalmata sopra la texture fotografica.

In questo modo anche le operazioni di "ricalco" sono veramente facili. Ricalcare con precisione (soprattutto elementi "di taglio") sopra una nuvola è impossibile a mio avviso.
 

Tristan

Moderatore Civil 3D
Membro dello Staff
Professione: Application Engineer
Software: Autodesk Civil 3D, Revit e altre amenità
Regione: Trentino
Come hai fatto ? Pensi si possa replicare con software meno "impegnativi" (economicamente) ?
Con qualsiasi software topografico che permetta di gestire le discontinuità (vincoli)
 

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
Ringrazio tutti dei consigli.

Ho provato ad imporre le discontinuità ed effettivamente si riesce a "forzare" il software a seguire certi piani.

In configurazioni reali (tipo una montagna di 200.000 mq con profili di partenza irregolari) è richiesto tempo extra per imporre i vincoli e aggiustare qualche sbavatura post elaborazione; il DTM così generato non ha la duttilità e la flessibilità tali da favorire simulazioni "in tempo reale". E' una mera rappresentazione e poco altro più.

Per queste ragioni ho deciso che opererò su insiemi di polilinee 3D generate con un offset tale (0.001) da essere interpretato correttamente dalla funzione di generazione automatica della sezione. Su uno schermo ho il mio 3D composto da queste polilinee e sull'altro schermo ho le sezioni in tempo reale. Modifiche in pianta ed in sezione sincronizzate in tempo reale.

Gli elaborati finali sono una planimetria (quotata in automatico) a linea unica e delle sezioni dove le linee sono di fatto uniche ed ortogonali.

Credo che sia il giusto compromesso tra tutti i fattori (tempo, costi, ergonomia, risultato finale).
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
A quanto sopra detto, per maggiore precisione, aggiungo che, in realtà, io la digitalizzazione non la eseguo neppure sulla nuvola (appena aumenti lo zoom su una nuvola di punti beccare spigoli ed elementi precisi è un casino) bensì, più comodamente, sulla mesh (derivata dalla nuvola) con spalmata sopra la texture fotografica.
Se la nuvola è stata creata correttamente significa le che foto sono state allineate dal programma, percio' andare ad estrarre i punti salienti (quelli che ti permetteranno di tirare le polilinee) non è difficile.
Tempo fà volli testare lo Zephir 3d per ricavare una semplificazione di una piccola rampa di scale. Volevo praticamente individuare quei punti che mi avrebbero consentito di creare il modello semplificato di quella rampa, (facendo a meno della nuvola di punti) in pratica cio' che vorresti ottenere tu dal tuo lavoro.
Scattai una serie di foto alla rampa e le feci elaborare al programma che le allineo'.
A quel punto bastava che io selezionassi un punto (dalle foto direttamente) qualsiasi perchè il programma me lo riproponesse nelle altre foto nelle quali quello stesso punto era visibile, chiedendomi conferma. Questo gli serviva per fare delle triangolazioni del punto.
Ricordo che era possibile, una volta selezionati i punti salienti, creare delle superfici piane.

Essendo giusto un test non mi preoccupai di salvare il lavoro nell'hardisk esterno. Questo comporto' che quando, poche settimane fà, il disco interno ando' in crash persi il lavoro.
Pero' ho trovato un post quà nel forum dove parlavo di quel test.

Questo è lo screenshot. Il programma ha elaborato le foto, le ha allineate, ha creato la nuvola densa, e a quel punto ho potuto fare quel lavoro di cui parlavo, cioè individuare i punti salienti della rampa.
I punti 3 e 1 identificano con precisione gli spigoli di una delle pedate della rampa. E cosi' ho proceduto per tutti gli altri punti, che ho unito con una linea (sempre da Zephir) ottenendo un dxf e facendo a meno della mesh ottenuta dalla nuvola densa (che puo' essere troppo pesante, in effetti)
Immagino che per "ricalco" tu intenda questo tipo di operazione. I programmi di fotogrammetria consentono di fare questo lavoro. Ma è necessario che il programma elabori le foto e le allinei, cosi' è lui che, una volta che tu individui un punto nella foto egli lo ritrovi in tutte le altre in cui quel punto è visibile.
 

Allegati

Ultima modifica:

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
@Tristus

Faccio un pò di ordine.

Si parte da un insieme di foto scattate in un certo modo e le si allinea ottenendo la nuvola di punti sparsa. Tale nuvola di punti, a causa di una serie di errori (anche grossi) legati al fatto che il drone monta un GPS consumer grade ed una fotocamera consumer grade, deve essere correttamente dimensionata e scalata. Per fare ciò individui nelle foto dei punti, distribuiti con un certo criterio, che hai avuto cura di segnare in modo evidente e misurare con una strumentazione topografica (stazione totale o GPS). Solitamente una volta che li indichi in un paio di foto il programma riesce ad indentificarli in automatico in tutte le foto. A questo punto correggi gli errori e procedi con la generazione delle nuvola di punti vera e propria, della mesh e della texture che puoi spalmarci sopra. Infine puoi tirare fuori anche una ortofoto.

Una volta che hai fatto tutto ciò, le ultime versioni di alcuni software di fotogrammetria ti permettono di digitalizzare direttamente sul modello tridimensionale con sopra la texture ad alta definizione. Quindi banalmente usi entità geometriche elementari per ricalcare ciò che ti interessa ed esportarlo in un dxf.

Io opero così. La nuvola di punti è un casino e non mi interessa perderci la vita a pulirla. Ovviamente se il lavoro riguardasse la generazione di un DTM fedele, allora si dovrebbe per forza passare da lì.
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Cio' che distingue un dtm generato da un programma di fotogrammetria (capace di elaborare migliaia di foto) da un dtm generato da un rilievo topografico piu' tradizionale (stazione totale o gps) consiste piu' che altro nel numero di informazioni contenute nella mesh finale. L'ideale (per il topografo che vuole fare a meno del surplus di informazioni) sarebbe quello di ottenere un dtm simile a quello che otterresti con un rilievo classico eseguito con stazione totale. Dove i punti sono molto distanziati tra loro rispetto ad un dtm generato da fotogrammetria dove il programma cerca di ottenere un punto quasi ad ogni pixel delle foto.

A questo punto potresti fare qualche test, ovvero regolare le impostazioni del programma di fotogrammetria (dopo aver fatto le correzioni di cui hai parlato prima)... forzandolo a generare il dtm tenendo conto di un numero inferiore di punti. Anzichè milioni, forzarlo a utilizzare molti meno punti. Per vedere se il risultato è soddisfacente. A quel punto anche il lavoro di pulitura verrebbe semplificato.
E comunque, prima di elaborare la nuvola densa, si dà sempre una "sgrossatura" per eliminare le informazioni che non servono. Di solito è una operazione che non richiede parecchio tempo.

Poi naturalmente sarebbe il caso di dare uno sguardo ad altri programmi come il civil 3d. Ma in ogni caso servono input per la generazione del dtm.
Siccome usi il drone, dovrai per forza passare per i programmi di fotogrammetria adoperando la strumentazione di terra per dare precisione sulle coordinate di tutto l'insieme.

Percio' io, come tentativo per trovare una soluzione, propongo dei test nei quali provare a generare la mesh via via con un numero di punti inferiore rispetto alle impostazioni di default del programma
 

morpheuz

Utente poco attivo
Professione: Scienziade
Software: Computer Aided Design
Regione: Italia
forzandolo a generare il dtm tenendo conto di un numero inferiore di punti.
Il topografo, sul campo, ha una intelligenza umana e piazza lo strumento nei punti caratteristici. Il software di fotogrammetria non possiede tale intelligenza.

E' possibile processare un numero inferiore di punti, ma tali punti non saranno scelti in base alla loro importanza alla fine della ricostruzione di un output finale di cui si ha coscienza.
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Il topografo, sul campo, ha una intelligenza umana e piazza lo strumento nei punti caratteristici. Il software di fotogrammetria non possiede tale intelligenza.
E' verissimo, pero' puoi arrivare ad un compromesso col software. Fargli capire che non ti serve una rappresentazione del suolo troppo dettagliata.
Già con un punto ogni mq (o 1 punto ogni 50 mc quadrati) riusciresti comunque ad avere una rappresentazione del suolo che potrebbe soddisfarti. Dipende poi dalla complessità di cio' che vuoi rappresentare graficamente.
Dove ci sono gradoni o manufatti, o comunque geometrie complesse, puoi intervenire inserendo tu i punti che servono ad identificarle con precisione. Oppure nel caso di un punto (o piu' punti) particolare.
Il lavoro di "decimazione" dei punti della mesh lo farei alla fine, tenendo sino alla fine la nuvola densa qualora questa servisse per l'identificazione dei punti piu' salienti.
Oppure decidere sin dall'inizio quanti punti dovranno essere utilizzati per la generazione della mesh.

Un metodo che varia da lavoro a lavoro, naturalmente. In ogni caso è bene fare dei test.

Personalmente non vedo altre soluzioni. Anche se tu volessi adoperare un programma tipo Civil 3d, questo avrebbe bisogno di input per generare le mesh, percio' saresti punto e a capo, a meno che uno non decida di procedere con un rilievo tradizionale con prisma o gps
 
Ultima modifica:

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Oppure potresti fare un'altra cosa: creare la mesh dalla nuvola densa. A questo punto avresti una rappresentazione veritiera del suolo dalla quale estrarre solo i punti che interessano. Una mesh "pesante" della quale ti disferai non appena avrai scelto, uno per uno, direttamente dalle foto (credo si possano scegliere direttamente dalla mesh stessa) i soli punti che vorrai mantenere come buoni.
 

Tristus

Utente attivo
Professione: Geometra
Software: Autocad, 3ds Max
Regione: Sardegna
Altra soluzione potrebbe essere quella di far elaborare la nuvola densa al programma di fotogrammetria per ottenere il piano a curve di livello.
E dal piano di curve di livello ottenere un dtm senza mesh da nuvola densa.

Quello che non so' è se i programmi di fotogrammetria consentono di creare un dtm dalle sole curve di livello (come invece fà il programma Topos)

Rimane in piedi il problema delle geometrie complesse, ma quelle si possono risolvere dalla nuvola densa estraendo i punti salienti e costruendo di conseguenza le mesh che compongono dette geometrie