_FlowAlongSrf Rhino vs MOI

Uno dei comandi utili in Rhino e’ _FlowAlongSrf che pero’ , a mio parere , non e’ stato completato.
Ecco il diverso comportamente del comando tra Rhino e MOI , e personalmente preferisco il risultato di MOI.

Allego il file , qualcuno riesce a dirmi come posso arrivare allo stesso risultato ?
Ho provato di tutto ( inversione delle normali ecc… ecc… ) ma niente da fare. Solo spostando il cilindro sotto il piano riesco a far si che si adagi sulla faccia superiore della semisfera, ma non a mantenere le pareti laterali del cilindro in verticale.
flow.3dm (384,5 KB)

A me viene così:

Non so quale sia più giusta, se l’operazione che restituisce Moi o Rhino (a parte il funzionamento del comando al contrario, cioè il cilindro dovrebbe orientarsi verso l’alto, non verso il basso).

Quella di Moi sembra più una estrusione (normale al piano orizzontale) di una curva su superficie con cap non piano (che riprende la curvatura della srf di destinazione), la risolve così.
L’operazione di Rhino invece tiene conto delle direzioni “normali” alla superficie di destinazione, che per forza di cose non possono risultare perpendicolari al piano orizzontale… il cilindro subirà necessariamente una leggera deformazione di rastremazione, sia che si adatti alla superficie superiormente che inferiormente.

Lascio a voi esperti di Rhino il compito di commentare e dare una qualche risposta più precisa.

In Moi si possono ottenere le pareti laterali sia normali alla superfice che normali al piano Z, e’ un opzione da settare o meno a discrezione dell’ utente

Nessuna delle due operazioni e’ corretta , si tratta sempre di approssimazioni.
Personalmente uso il comando quando devo modellare qualcosa che non richiede precisione ma solo estetica.

Questo è invece il risultato corretto, sia come operazione che come restituzione geometrica:


L’unico aspetto strano è quando Rhino ti dice di scegliere la “superficie base”: se clicco sulla srf base che ho preventivamente disegnato, realizza un volume adattato alla superficie al contrario; invece, se scelgo l’opzione “piano”, per 3 punti, per esempio, Rhino esegue correttamente l’operazione, col volume posto al di sopra della srf.
Trattasi di un difetto del comando?

Certo, sono adattamenti, ma geometricamente la soluzione più corretta è quella di avere le pareti laterali, come dici tu, non “perpendicolari” al piano orizzontale (quella sarebbe una semplice estrusione), ma “normali” alla superficie di destinazione (srf curva e non piana: in ogni punto x della superficie esisterà un vettore perpendicolare al piano tangente… ecc.); una deformazione in tal senso avverrà sempre.

Per ogni punto A, B… passerà un piano tangente alla superfice; quelle linee oblique sono quindi le “normali” ad ogni piano tangente, per ogni punto della superficie (nel nostro caso come luogo geometrico ci interessa la circonferenza)…

Piccolo aneddoto: esame di geometria descrittiva secondo anno di università. dovetti spiegare una condizione del genere ad un assistente che mi stava esaminando; sosteneva tutt’altro! Non solo, era convinto che disegnando una circonferenza in assonometria cavaliera il cerchio rimaneva tale (invece sappiamo che viene descritto come una ellisse, tende a deformarsi …)… mi mise 28 per tali ragioni, e rimase sempre perplesso… Sgarbi avrebbe detto: capra! capra! capra!

E’ un problema analogo a quello dibattuto qui


Solo che la’ si parlava di proiezione data una direzione e qui di trasformazione guidata dai parametri delle superfici.

Naturalmente a me piacerebbe avere entrambe le opzioni (normali alla superficie di riferimento costanti o no)
per entrambe le situazioni. :smile:

Quanto ad ottenere lo stesso oggetto con Rhino, certo in casi come questo e’ semplice perche’ l’oggetto ha spessore costante.
Ma con un oggetto di forma generica … credo si debba usare la Cage, come fatto da Pascal nello script per ‘proiettare’ gli oggetti. ( Linkato da Vittorio qui: Proiettare trama su superficie )
Ma suppongo che tu ti riferisca a una via piu’ rapida … e senza dover fare uno script simile a quello di Pascal …

Ciao !

EDIT
Ho visto adesso dal forum USA che conosci gia’ lo script di Pascal.
Come non detto :worried:
/EDIT

Ciao Mario, con il comando “Analizza Direzione” devi far coincidere le U e V nelle stesse direzioni delle due superfici iniziale e di arrivo e ti ritrovi con il cilindro posizionato sopra e non sotto.
ovviamente sarà deformato con la parete esterna del cilindro perpendicolare alla srf di arrivo.
Per Ottenere il risultato di Moi3d bisogna fare un offset della srf finale di un valore pari all’altezza del cilindro. Poi usi il comando “Estrudi Faccia Su Limite” e con la srf finale non offsettata ritagli la parte sotto del cilindro estruso sul limite. Ovviamente se al posto del cilindro hai un’altra forma non puoi utilizzare la procedure ultima descritta.
Ciao Paolo

La soluzione di MOI è carina ma mi sembra un’interpretazione molto personale di adattamento di qualcosa
lungo una superficie.
Credo che la soluzione di Rhino sia quella corretta, l’operazione di MOI è un altra cosa.
Fabio.

A tal proposito, una banale domanda.
Se clicco sul comando “analizza direzione”, e successivamente invertiU o invertiV, come faccio a capire se la superficie ha eseguito l’operazione, dato che non fa vedere alcun risultato di tipo visuale, per esempio?

Ciao Davide

Se passi sulla superficie col cursore, dopo aver invertito quanto serve, dovresti vedere la terna di freccette U,V,Normale.
La cosa piu’ comoda mi sembra restare col cursore sulla sup e invertire eseguendo le opzioni del comando da tastiera,
cosi’ hai un riscontro immmediato di cosa succede.
In certe situazioni i colori delle freccette possono essere poco visibili …

Ecco, non ci avevo mai fatto caso.
Mille grazie! :slightly_smiling:

Ho fatto una semplice prova. Mi sembra che l’operazione di Rhino sia più corretta di quella che darebbe MOI.

Non sono entrato nel merito della correttezza formale del comando, che in ogni caso rappresenta una approssimazione.
Ho solo fatto notare che MOI offre piu’ opzioni rispetto al comando di Rhino.

Ecco perche’ auspico che lo script di Pascal entri , come opzione, a far parte di tale comando.

Mario concordo appieno.
Al di là della correttezza o meno matematica, qualche settaggio in più del comando non guasterebbe
proprio.
A volte occorre fare un mucchio di operazioni perché il risultato ottenuto non è quello desiderato.

Fabio.

Beh che dire, concordo anch’io. In tanti altri “vecchi” comandi, qualche opzione in più non guasterebbe!
Comunque, a poco a poco, Rhino si sta arricchendo…