Nuovo Rebuild Rhino WIP

Ciao a tutti,
ho scaricato la versione WIP e ho iniziato curiosando con il comando _Rebuild.
Ho fatto qualche confronto con la versione 7.
Qui, ad esempio, sono partito da una curva di grado 3 con 100 punti di controllo e l’ho ricostruita con 10 punti, sempre con grado 3.

Al di là delle nuove opzioni disponibili (che in questo caso non ho utilizzato), la differenza nel risultato della ricostruzione è davvero interessante.
Con il “vecchio” comando la deviazione massima è di 2,60 mm, mentre con il “nuovo” scende a 0,49 mm .
Probabilmente dipende dalla curva di input ma, la posizione dei CV, varia davvero di poco.
La logica di ricostruzione è stata resa decisamente più efficiente, complimenti a McNeel.

Ho notato queste cose:

  1. la versione 7 re-parametrizza la curva in base al numero dei knot span :thinking:
  2. la WIP mantiene la parametrizzazione della curva originale.
  3. il vettore dei nodi mi pare rimanga invariato

Difficile capire cosa sia cambiato, facendo una ipotesi azzardata, spero non proprio strampalata, potrebbe essere che il fitting sia passato da uniforme a localizzato?
E in tal caso con quale criterio “locale” non saprei proprio …
Ho fatto una seconda prova per vedere se l’ipotesi, almeno dal punto di vista grafico regge: ho usato una curva con due tratti quasi rettilinei strettamente raccordati tra loro.
Il vecchio rebuild mostra un grosso limite nel punto di forte curvatura, quello nuovo se la cava decisamente meglio.

2 Mi Piace

Benvenuto nel mondo di ELMO!!!

:grin:

1 Mi Piace

Però non ho capito come funziona la sezione “Rebuild to tolerance”

Mi aspettavo un comando simile al vecchio _RebuildCrvNonUniform ( che io uso tantissimo perchè gli si imposta una tolleranza e lui si arrangia a distribuire i punti nella maniera più intelligente possibile, anche meglio del _FitCrv)

Ciao Thomas, ti dico la verità: quella tolleranza lascia perplesso anche me.
Online non ho trovato nulla, magari su Discourse USA?
A intuito, direi che non si riferisce al massimo errore di ricostruzione, ma forse a un parametro interno di fitting. :thinking:

Guardando il vettore dei nodi, mi sembra uniforme, quindi tenderei a escludere un legame con il _RebuildCrvNonUniform.
Personalmente è un comando che non uso quasi mai perché preferisco una struttura diversa della curva, ma è una questione di approccio: se l’obiettivo è dare priorità alla forma assoluta piuttosto che alla pulizia della struttura, resta comunque un’opzione valida.

“tolleranza”… ci devo guardare perchè sono state cambiate talmente tante cose (ad iniziare dal nome) che non ricordo.

Quello che è certo: La ricostruzione è con vettore dei nodi uniforme ed è allo studio la possibilità di utilizzare un vettore arbitrario, quindi copiare la struttura di una curva di riferimento. RH-82865

Io personalmente il _RebuildCrvNonUniform lo uso molto.. ho impostato i punti a 5000 in modo che “lavori” solo per tolleranza.. Le curve vengono leggere e con i punti di controllo solo dove servono (più fitti dove la curvatura è stretta e più radi dove la curvatura è più ampia) , rispetto al FitCrv, che tende a distribuire i punti in maniera più omogenea.

Non avendo la versione aggiornata, posso fare una ipotesi. La tolleranza è riferita alla massima deviazione tra gli estremi delle bezier che costituiscono la nuova curva. Provate ad eseguire il comando ConvertToBeziers e misurate la deviazione massima degli estremi delle cuve bezier rispetto alla curva originale. Se risultano minore di 0.1 allora è quello il significato … anche se non ne capisco l’utilità. Dovrebbe essere max deviation l’unico parametro significativo per decidere.
Oppure più semplicemente a tolleranza è riferita alla massima deviazione degli edit points della nuova curva rispetto all’originale? Provate.

Ciao

3 Mi Piace

Ciao Sergio, mi pare non sia nessuna delle ipotesi fatte.
Ti allego un file per sicurezza, se vuoi controllare anche tu.
Dall’alto:

  • curva originale
  • curva ricostruita per punti di controllo (10)
  • curva ricostruita per tolleranza 0 (10 cv)
  • curva ricostruita per tolleranza 10 (10 cv)

Elmo WIP.3dm (68,5 KB)

Ciao Fabio

hai ragione. Nel caso il buon Giuseppe ci aggiornerà.

Sergio

1 Mi Piace

Ma che sciccheria la nuova gestione delle toolbar! :smiling_face_with_three_hearts: