Linea perpendicolare retta/curva

con questa piccola definizione ho notato che succede una cosa imprevista
in pratica le 3 linee Rosse dovrebbero essere in verticale come quelle Verde
ho notato che questo succede quando il punto della linea SDL parte dallo 0

eseguendo un Bake infatti la prima linea Rossa ha la direzione inversa
GH interpreta a piacere la direzione essendo sullo 0 non ha riferimenti?

(GH e Rhino 5)

Manda la definizione Salvio!

1 Mi Piace

unnamed.gh (11,4 KB)

eccola, ho tolto quel piano che non serviva, ne sono 4 con esempi diversi
i due dove inizia la curva nel punto 0 sono quelli che non torna il risultato.

Salvio se nel parametro “t” del curve frame gli dai punti con tutte e tre le coordinate… mi pare più che altro un caso che funzioni …

Gia’. :slight_smile:
Sembra prendere il valore della X.
Poi certo il curvature frame di una retta … se lo puo’ solo inventare in qualche modo. :roll_eyes:

lo avevo collegato come nel primo esempio, con il componente Plane (P > t)

unnamed.gh (5,7 KB)

assodato che il Plane non serve e bisogna collegarlo nel modo giusto t > t

in questo caso il Plane restituisce tutte le coordinate ma. . . . (vedi foto del file qui allegato)

OK, non e’ specificato (almeno io non lo vedo), ma il componente Frame restituisce un piano basato su quello che credo si chiami piano osculatore, cioe’ il piano che contiene il cerchio che approssima la curva in quel punto.
In pratica l’asse X del piano definito da GH ‘punta’ verso il centro del ‘raggio di curvatura’ della curva … diciamo cosi’.

Tu al componente passi una retta.
Come fa GH a stabilire il piano in cui ‘ruota’ la curva se questa e’ rettilinea ?

David RuttenMcNeel

Jan '19

That component uses the local plane of the curve, which only exists if there’s some curvature. The bits where your plane goes horizontal must be fully linear.

Cambierei il titolo del post… :wink:

1 Mi Piace

grazie Emilio e Giuseppe per per spiegazioni,

premesso che essendo non esperto di Rh e ne tantomeno di Gh l’errore l’aspetto dietro angolo
quindi che sbaglio a creare una definizione è una probabile possibilità, la cosa che mi sembrava strana, era il fatto che questo accade solo quando “anche se è una retta” se l’inizio è nel punto 0
(in pratica anche sbagliando una definizione la stessa può funzionare bene in certe situazioni)

comunque avevo provato cambiando la retta con una curva e funzionava anche nel punto 0
poi:

unnamed2.gh (6,2 KB)

ho creato una curva in Rh che inizia dal punto 0 è funziona

mentre creando una curva in Gh anche se non parte da 0 la prima perpendicolare è inversa :thinking:

OK ci ho guardato dentro un po’ meglio.
Al netto del fatto che è bene collegare “t” -> “t”.
Credo che ci sia un risultato giusto e uno sbagliato.
Quello giusto è dove vedi invertita la prima retta
Quello sbagliato è dove le rette sono tutte dallo stesso verso o come nella tua ultima definizione, fatte in Rhino ed importate con parametro curve.
Spiego:
Il frame è legato alla curvatura (come ti aveva giustamente detto zio Emi.)
Nella definizione che allego ho messo molte più divisioni della curva e anche attivato il grafico di curvatura.
Nella definizione in basso in cui Gh costruisce la curva a partire dai Cv. Il grafico segna il punto di flesso dove la curvatura cambia segno. Questo si traduce in orientamento del piano (della normale del piano) che dopo il flesso cambia verso. SE vuoi una prova basta che inverti il verso della curva con flip (ho già messo il componente) e vedrai che le rette si invertono.
La stessa cosa non succede importando la curva. Stesso grafico ma il flesso non inverte le normali dei frames.
Quale sia giusto e/o quale sia opportuno sono cose potenzialmente diverse.
curvature-frames.gh (16,4 KB)

Scusa Giuspa, mi sa che non capisco … :confused:

La curva collegata a crv e’ internalizzata suppongo …

Non vedo differenze tra gli output delle due curve, cioe’ vedo le stesse linee, e quindi suppongo gli stessi frame

Emi, ho disabilitato l’uscita delle linee nella parte superiore. Devi riabilitare il componente così vedi la differenza.

Ciao Giuseppe, ci vuole per caso anche il “reparametrize” all’uscita del flip?

Siamo in due. :thinking:
Giuseppe scusa, nella definizione superiore assegno una curva, la importo.
Dove ha il flesso le normali mi si invertono lo stesso.

Avevo provato abilitando la preview dei soli componenti selezionati, e vedevo sempre le stesse linee.
Adesso ho provato, come hai detto, ad abilitare le linee della prima curva, ma mi sembra non cambi niente.

Perdonate, ragazzi belli, se non mi spiego bene. Aggiungo immagini di quello che fa la parte sopra con la stessa curva ma fatta in Rhino e la parte sotto costruendo la curva a partire dai punti che diventano Cv.


Aspetta, con il Reparameterize fa quello che dici.
Se lo togli non lo fa piu’

… Ma se il Reparameterize lo metti sul “crv”, torna tutto normale.
Pero’ non mi sembra molto ‘leale’ dare al Frame la curva non riparametrizzata ma i t riparamtrizzati, no ?
:smile:

1 Mi Piace

Bravo! Ma poi anche se lo rimetti non tornano tutte in basso come prima… :cold_face: :cold_face: :cold_face: :scream: :scream: :scream:
EDIT: vero, mancava il reparameterize iniziale alla curva sopra. Mi ero imbrogliato da solo.

… Per spiegare anche ai principianti di GH ( come me :smile: ):

Stavamo disegnano i frame di un certo punto della curva … in un punto diverso.
Giusto ?