ho cercato come riparametrizzare una curva con Py in Gh ed ho trovato alcuni esempi
il primo es:#1 l’ho provato funziona e testato
poi per caso spulciando nel menù ho trovato proprio questo metodo/funzione “Reparameterize”
il secondo es:#2 sembra che chieda un valore numerico e se tra le () inserisco lo 0 o 1
output torna solo Vero o Falso ma pare che non serve per riparametrizzare la curva?
ps per visualizzare “Reparameterize” nel menù serve associare una curva al componente Python poi sull’input col tasto Dx menù Type hint selezionare Curve oppure nel codice usare il coercecurve come foto
guarda la formula: lambda(t)=c*t/((c-1)*t+1)
se poni c=0 restituisce false perché lambda vale sempre zero per ogni valore di t…
Valori di c minori di 1 restituiscono punti distribuiti verso l’inizio della curva.
Valori di c maggiori di 1 restituiscono punti distribuiti verso la fine della curva.
E se c=1?
In sostanza la nuova curva è simile all’originale (non uguale!) ma la distribuzione
dei punti è funzionale al coefficiente c. Se calcoli i punti sulla curva originaria suddividendo
uniformemente il dominio e noti che i punti sono “sbilanciati verso la fine” della curva,
inserendo c<1 la nuova curva restituirà punti (sempre valutati suddividendo uniformemente
il dominio) “meno sbilanciati verso la fine” della curva.
La prima viene chiamata formalmente riparametrizzazione ma di fatto non comporta nulla.
quindi per l’esempio #1 Dominio, mi confermi che non cambia nulla ma reimposta solo il dominio curva.
per la spiegazione counque non comprendo a cosa serva, essendo che il risultato è un bool True/False
0 sempre falso per il resto qualsiasi numero torna True ma non posso usare il risultato come nuova curva
(alla fine non mi ritrovo con una curva riparametrizzata ma solo con un valore booleana sbaglio?)
Come dice la documentazione che mostri ( vedi anche qui: NurbsCurve.Reparameterize Method (rhino3d.com) ) quel metodo serve a riparametrizzare la curva (come cambia lo ha spiegato Sergio).
Ma il metodo non definisce nuove curve, semplicemente modifica la curva che tu gli passi.
E restituisce un valore booleano per dire se la parametrizzazione e’ andata a buon fine.
Riporto qui cosa dice la documentazione:
Nel tuo esempio, se il metodo restituisce True, ti riparametrizzata la curva in crvs
Pero’ se tu il risultato lo assegni alla stessa variabile crvs … perdi la curva per strada. .
Non hai piu’ modo di recuperarla.
Se vuoi utilizzare la curva riparametrizzata non devi sovrascrivere crvs.
val = 0 Curva non riprarametrizzata
val < 1 Curva riprarametrizzata con punti verso la fine
val > 1 Curva riprarametrizzata con punti verso inizio
val = 1 Curva riprarametrizzata mantenendo gli stessi punti (come col comando in Rhino)