Linea perpendicolare retta/curva

No Fabietto, il componente precedente aveva già riparametrizzato la curva. Ha visto bene Emi, ho fatto casino io mettendo e levando il reparameterize in giro.
La sostanza della spiegazione però rimane. Giusto avere normali che seguono il “segno” della curva.

Deve esserci coerenza fra il dominio e i punti in cui valuti il parametro. Ho fatto casino invece di aiutare… :upside_down_face:

Anche imparare a usare il Reparameterize e’ utile. :slight_smile:

EDIT

Per quanto ti riguarda, oserei dire che Salvio e’ riuscito a confondere anche te !

:smile:

Ce n’è di roba qui da imparare! :grinning:

Nono povero Salvio…ho fatto tutto da solo! :smile:

grazie Giuseppe per fortuna c’è chi mi difende ahahahah :smile: :smile:

ragazzi mi fa picere che ho aperto una discussione costruttiva (spero. . . .)

solo una cosa però: ma alla fine non esiste una definizione giusta per tutte le situazioni?

  1. per una curva importata da Rh bisogna riparametrizzarla

  2. invece una retta sia importata da Rh che creata in Gh non bisogna riparametrizzarla

  3. mentre ho provato a creare in Gh una curva con “Nurb Curve”
    e anche riparametrizzandola le rette non vanno tutte nello stesso verso

anzi (non so se avete notato) come detto importando una curva creata in Rh la definizione funziona
mentre se la si crea in Gh facendo anche un “Bake” e la importi anche in questo caso non funziona

Emilio ma nella foto postata come fai a verificare che i punti sono diversi se una è parametrizzata?

edit:
non vorrei fare un karakiri: ma mica “Nurb Curve” per caso lavora diversamente da quello di RH?
oltre alla domanda posta sopra, ho notato che c’è differenza dal creare una curva tra Rh e Gh.

Non mi risulta.

Come gia’ detto, il frame in questione per una retta non e’ definito (e GH ne prende … uno a caso :wink: … Potrebbe anche dipendere da arrotondamenti, non so )

E’ quello che abbiamo visto prima con la definizione di Giuseppe. Dipende solo dal verso di curvatura.

Come sopra. Funziona.

La frase e’ sbagliata, scusate. :roll_eyes:
I frame ovviamente sono al posto giusto.
Sono le rette orientate secondo l’asse Z del frame che sono disegnate nel punto sbagliato.

Confronta i numeri nei due Panel.
Un Panel indica il valore del parametro dove calcoliamo il frame, e quindi la direzione della curva.
L’altro Panel indica il valore del parametro dove disegniamo la retta.
Sono diversi.

Oppure, attacca un Panel ai frame nella definizione di Giuseppe e guarda dove si trovano:

Che differenza ?

queste sono curve identiche in RH e importate in GH e funziona con quella parametrizzata

in che senso: “Dipende solo dal verso di curvatura.” che non’è possibile ne prevedere il senso delle rette in una curva? e nel caso come si potrebbe far in modo che le rette siano nello stesso verso?

Funziona nel senso che le rette hanno lo stesso verso ?
E’ perche’ hai riparametrizzato solo l’ingresso a Divide.
Prova a riparametrizzare direttamente l’uscita da crv.

E’ possibile, infatti vedi che dove la curva ‘gira a destra’ le rette hanno un verso, dove ‘gira a sinistra’ hanno il verso opposto.
E’ cosi’ che funziona il componente Frame.

… Non ci sono ancora riuscito … sono molto niubbo con GH … :roll_eyes:
:smile:

aaaa era questo il discorso che avete fatto prima tra parametrizzare la curva o i punti
(che parametrizzare la curva invece sui punti il risultato cambia)

certo non so dietro questo comportamento quale spiegazine c’è, ovviamente chi ha programmato i componenti conosceva tutto questo? (credo). quindi bisogna imparare anche a riparametrizzare?

wauu, mi vuoi dire che ho trovato un qualcosa che non si può fare? anche con alternative al frame?

Chi ha fatto i componenti (David) li ha fatti in modo che tu possa usarli come meglio credi.
Se noi gli diciamo di fare cavolate … GH fa il suo lavoro e le fa.

Nel caso specifico, se dici a GH di disegnare in un punto della curva la normale calcolata in un altro punto, lui lo fa.
Potrebbe essere proprio quello che vuoi, oppure puo’ essere una svista.
Sono cavoli nostri, non di GH.

No, solo qualcosa che io non sono capace di fare … almeno per ora.
Forse trovero’ un modo, non so.
Forse ce lo dira’ qualcuno come si fa (speriamo :wink: ).

(Se fosse Python non ci sarebbero problemi, va beh … :smile: . Ma e’ un modo diverso di ragionare :slight_smile: )

I punti non si riparametrizzano. I punti sono solo una posizione dove verifichi il parametro. Vero anche il discorso inverso: hai un parametro e vuoi trovare dove quel parametro si trovi sulla curva.
Ovvio che serve una regola comune, cioè stessa parametrizzazione per tutti. Reparameterize impone un dominio convenzionale con 0<=t<=1.

ciao Emilio, grazie della spiegazione. ultimamente sento parlare spesso della “normale”
che se ho capito bene sarebbe la direzione visualizzata col comando “Dir” giusto?

a parte questo che andrò ad approfondire ritenendolo importante come argomento
essendo che non comprendo il fatto che dividendo una curva, perchè la calcola in un’altro punto?

ciao Giuseppe, mi ero spiegato male. volevo dire:
attivare “Reparameterize” sul componente dividi curva per “punti” invece che sul componente curva

ps a parte i discorsi tecnici di voi esperti che per quanto li ritenga interessanti mi sfuggono dalla vera comprensione facendo già un bel po fatica a seguirvi :blush: in pratica non posso creare una perpendicolare da una retta come avviene in Rh con il comando “Linea Perpendicolare” senza incorrere al fatto che se sposto il punto di inizio della retta la perpendicolare cambia?

ps ecco perchè avevo messo il Plane essendo che senza la direzione era lateralmente

unnamed3.gh (11,2 KB)

Mi sono espresso male, scusa …
Intendevo la normale al piano generato da Frame, cioe’ l’asse Z del piano, che in effetti e’ quello che usa Line.
( Line chiede un vettore, ma tu gli dai un piano, allora lui suppone che tu intenda l’asse Z del piano )

Il comando Dir sulle curve mostra la tangente alla curva.
Sulle superfici mostra i 3 assi del piano tangente alla superficie. Quello bianco e’ l’asse Z, cioe’ la normale alla superficie.

Lui fa quello che gli dici.
Se hai una curva con dominio da 0 a 100 e gli dici ‘dammi il parametro del punto medio’, lui ti da’ 50.
Se tu adesso riparametrizzi la curva in modo da avere un dominio da 0 a 1 e gli dici di calcolare il punto (o il frame) al valore t=50, lui lo calcola, solo che t=50 non e’ piu’ il punto medio, ma un punto molto distante, in effetti oltre il dominio della tua curva.
Queste cose le puoi verificare in pratica.
Metti uno Slider da cui ricavi il parametro (t) e fai disegnare il relativo punto sulla curva, vedrai che variando il valore del parametro il punto si sposta (ovviamente).

In Rhino gli indichi tu da che parte disegnarla spostando il mouse.

In GH bisogna indicarlo in qualche altro modo

Qui c’e’ una definizione che potrebbe disegnare le rette sempre dalla stessa parte.
Ma e’ da provare su curve 3D.
E comunque bisogna impostare un numero di punti sufficiente perche’ possa funzionare.
( Cioe’ ogni volta che curva ‘cambia direzione’ deve calcolare almeno un punto )

(Probabilmente e’ in ogni caso inutilmente complicata … naturalmente. :grinning: )

curvature-frames-2.gh (13,4 KB)

Salvio, guarda la parte bassa della definizione acclusa. Come vedi ci sono molti tipi di frames e fanno cose diverse.
frames-stesso-verso.gh (16,6 KB)

ok grazie della condivisione la provo sicuramente :+1:

si infatti adesso ho afferrato, è lo stesso discorso fatto con Giuseppe sul dominio 01 di una curva.
(questa cosa è una bella gatta da pelare quindi)

allora avevo capito bene quando l’avevi spiegato già tempo indietro :smile:

beh, ora non so proprio tecnicamente come funziona, ma se non erro lo fa in automatico RH prendendo come riferimento la vista sulla quale sto lavorando o sbaglio?

ps ma giusto una curiosità: perché viene chiamata la “normale”? come mai questo nome?

E’ un sinonimo di perpendicolare.

Non direi.
Basta non mischiare la curva originale e la curva riparametrizzata.
Nel tuo problema delle rette normali non credo che ci sia bisogno di riparametrizzare.
Affrontiamo un problema alla volta ! :grinning:
Quando servira’ riparametrizzare ne parleremo … :smile:

ahahahah Giuseppe, dicevo io perche non la chiamano “perpendicolare” :rofl: :rofl: oh Jesus

eeee Emilio diciamo, ma in effetti non’è proprio cosi, spiego:
oltre che precedentemente aver già provato l’ultima soluzione postata da Giuseppe

preciso anche che posso “solvolare” (come già detto) a questo “inconveniente”
essendo che inizialmente non me ne ero nemmeno accorto essendo che capita sul punto 0

infatti nell’ultima definizione che ho postato la retta che mi interessa cambia posizione della Z
fino a quando la retta è inclinata la “normale” è giusta, mentre quando arriva sullo 0 cambia
invece in entrambe le ultime definizione questo non accade ma rimane perpendicolare al piano

osservando la mia foto del post 34 la “retta è inclinata” e le normali sono perpendicolari ad essa
ed è questo lo scopo da ottenere, e con la mia definizione iniziale funzina bene tranne nel caso in cui la retta inizia nel punto 0 per questo ho postato la domanda credevo che era una errore nella mia definizione una cosa semplice, non avrei mai pensato di andare ad aprire il vaso di pandora.

grazie a tutti per tutti i suggerimenti e spiegazione date siete unici e sopratutto se riuscite a far capire le cose ad una testa dura come la mia signifca che siete “Eccezzziunale… Veramente” :wink:

ps aggiungo giusto un pensiero fatto in questo momento:
ma se creo la retta che parte dal punto 0 ed uso la definizione di Giuseppe che mi porta le normali perpendicolari e il risultato poi lo trasformo inclinando sia la retta che le normali funzionerebbe?