Linea due lati

wauu ragazzi come sempre, grazie per tutto questo supporto :+1:

ciao Giuseppe, immaginavo che Galapagos era perfetto per questa situazione, ma mi sa che questa volta debbo passare, essendo che questa procedura mi potrebbe capitare anche di doverla eseguire su un foglio di carta, quindi mi servirebbe trovare il metodo più semplice possibile per poterlo replicare
ps ma prima o poi dovrò imparare ad usarlo, (spero nel tuo aiuto) come dire:
meglio imparare a procurarsi il cibo, che chiedere di essere sfamato giusto :smiley:

ciao Segio, come detto a Giuseppe, mi serve prima capire un metodo per poterlo rifare anche su carta, e se non erro, il tuo è diverso da quello di Emilio e Fabio giusto? cercherò di capire quali operazioni hai eseguito nel caso volendo posso convertire in codice Py e poterlo usare anche in GH
grazie anche a te :wink:

ciao Fabio, ho inserito l’ultima tua formula nell’espressione in Gh, ma come immaginavo mi da errore, credo sia la differenza d’uso nei simboli che è diverso. credo sia " | " e " +/- " danno problemi

Emilio, in genere sono più capace nella pratica che nella teoria sta volta è l’incontrario
ho provato anche usando solo Rh a mettere in pratica la tua teoria che quella di Fabio
ma nel mio caso non riesco ad ottenere il vostro risultato, il problema è nella geometria?
PROVA.3dm (11,9 KB)
ho allegato file in modo che si possa verificare qualche problema
ps la linea da creare deve essere inversa tipo come \ (e non /)

grazie Leopoldo per la definizione, non mi dire nulla ma forse bisogna modificarla “ancora” :frowning:
sperando che si possa ottenere il risultato che intendo

OK, Salvio, poi ci guardo. :slight_smile:

La direzione della linea non la decidi tu.
E’ data da rette e punto iniziali.

EDIT:

Per la cronaca :wink: … ho fatto una prova ha funzionato.

Ciao Salvio, con “|a|” intendo il modulo di a (valore assoluto).
Con “+/-” intendo che ci sono due soluzioni, una sommando e una sottraendo la quantità che segue il segno, lo puoi fare sicuramente con due operazioni separate.
Una soluzione è banale e non va bene per te, è il segmento che unisce il punto con l’intersezione delle rette, credo che con GH sia semplice distinguerla e scartarla.

Emilio appena puoi, potresti postare il file con la procedura che hai fatto? thanks

ok Fabio, per il valore assoluto, non ero sicuro
allora per l’altra operazione va bene sia il + che il -
uno da la soluzione voluta e l’altra è da scartare quindi.
adesso provo come hai detto, sperando che quel mezzo neurone che mi era rimasto non si sia bruciato :rofl: :rofl:

Sì, diciamo che devono esserci sia la soluzione con il più che quella con il meno.
Sono le soluzioni che derivano da un’equazione di secondo grado e devono per forza essere due, al massimo coincidenti se il termine interessato dal “+/-.” è nullo.

Parliamo della definizione di Leopoldo.

Ovviamente non ho i tuoi dati, ho fatto un test con due rette e un punto, linkandoli nella definizione,
poi ho aumentato il valore in basso (che era 5) fino a che GH ha trovato l’intersezione

Emilio, ho provato la definizione di Leopoldo, ma c’è un “ma”

infatti, avevo intuito che c’era un inghippo che non mi tornava

comunque tenendo in considerazione questo, la def funziona :+1:

…hummmm…ni… :wink:
Nel senso che se metti la domanda sulla sezione Gh si suppone che il “metodo di soluzione” sia afferente a Gh e tutti i componenti disponibili.
Ma avendo “fiutato qualcosa” ho fatto appunto la domanda PRIMA di mettermi all’opera :smile:
Meglio dirlo prima che vuoi andare (anche) di carta e matita (metodo geometrico) così chi si scavezza a pensare metodo analitico e matematico… si astiene.
Mi pare tu abbia la soluzione grazie a Leopoldo dunque.

1 Mi Piace

capisco cosa intendi Giuseppe, ma infatti la soluzione di Leopoldo è una definizione di Gh,
che però comprende obbligatoriamente un calcolo matematico anche usando carta e matita giusto?

Ciao Salvio, ho provato a scrivere la definizione in GH.
Non è il massimo immagino (spero almeno non sia penosa) ma mi pare funzioni.
Una soluzione è quella che cerchi, l’altra è banalmente il segmento che unisce il punto con l’intersezione delle rette.
Ti rammento che, per semplificare i calcoli (visto che li avevo fatti a manina), ho traslato tutto il sistema in modo che il punto sia l’origine degli assi.
Se così non fosse i calcoli si complicano un pochino ma il concetto non cambia.

Retta Salvio.3dm (30,0 KB)

Retta Salvio.gh (7,9 KB)

ciao Fabio, e grazie per la definizione :wink:

ottima soluzione “point to number” non conoscevo questo componente :+1: (io usavo lo split testo)

mi servirebbero qualche spiegazione Fabio, sia sulla definizione, ma anche vedo delle differenze tra ciò che hai postato e ciò che credevo di aver capito fino adesso osservando gli altri esempi tipo:

nella tua definizione, ti ricavi i punti con l’intersezione tra le due rette A e B con la retta che passa per l’asse Y, mentre fin’ora si parlava che dal punto in cui si congiungono le due rette A e B deve partire una linea passante per il punto P che nel tuo caso lo hai fatto corrispondere al punto di origine, e da quel punto bisognava traciare una retta perpendicolare a quest’ultima (vedi le due linee selezionate) e con la retta perpendicolare che bisognava trovare i due punti di intersezione con le rette A e B.
ora non so se il tuo sistema è diverso come procedura, ma il risultato finale della definizione sono due rette che si intersecano nel punto di origine formando due coni giusto?

Penso tu ti confonda, Salvio.

Non e’ che si parlasse di quello ‘finora’ . :slight_smile:
Se ne parlava nella mia soluzione.

Hai ricevuto 3 soluzioni diverse.
Quelle di Fabio e di Sergio per via analitica, cioe’ basate interamente su di un calcolo algebrico
( spero di non dir cavolate, ne poi i nostri amici cervelloni mi cazziano, giustamente :smile: ).
La mia soluzione parte da un ragionamento geometrico e cerca di ridurre i calcoli algebrici al minimo,
cosi’ riesco a farli anch’io. :roll_eyes: )

Fabio, giustamente, ha postato la definizione che utilizza il suo metodo per ricavare la retta.
Se vai a vedere le sue spiegazioni originali, vedrai che combaciano con quanto fa la definizione.

si Emilio, infatti lo avevo menzionato che si trattasse di un metodo diverso,
ma guardando il risultato finale non comprendevo la soluzione

poi forse ci sono arrivato, ricordando che Fabio aveva detto che una sola linea è quella giusta:

Annotazione 2020-09-05 131940

ok grazie Emilio per la precisazione

adesso provo ad inserire i miei riferimenti di curve e punti :ok_hand:
ps lo so che la matematica non’è un’opinione, e che 2+2 fa sempre 4
giusto per chiarezza, ma con entrambi i metodi, il risultato finale è sempre lo stesso?

Neppure io. :smiley:

Il mio è stato una approccio analitico.
Ho scritto le equazioni delle due rette in forma esplicita (risolta cioè rispetto a Y), Y = mX+Q
Dove Q indica il punto di intersezione della retta con l’asse Y (che io ho simulato con la retta verticale passante per l’origine) ed “m” (detto coefficiente angolare) è la tangente dell’angolo che la retta deve formare con l’asse X.
Ho scelto la forma esplicita perché il tuo quesito era “si potrebbe calcolare matematicamente l’inclinazione …“, il nostro coefficiente angolare m dà appunto l’inclinazione …
Essendo le due rette arbitrarie ho lasciato i valori indicati dalle rispettive variabili, “Qa” ed “ma” per la prima retta, “Qb” e “mb” per la seconda retta.
Poi, con lo stesso criterio ho scritto l’equazione di una generica retta passante per l’origine, Y=mX.
Il termine Q, in questo caso è nullo visto che la retta intercetta l’asse Y nell’origine … dovendo fare i calcoli di solito conviene mettersi nelle condizioni migliori, e gli zeri sono un toccasana.
In definitiva ho tre rette generiche:

Y=maX+Qa fornita dall’utente
Y=mb
X+Qb fornita dall’utente
Y=m*X calcolata di conseguenza

La prima cosa che imponiamo è che le rette si debbano intersecare, quindi mettendo a sistema la generica retta passante per l’origine, prima con la retta a, poi con la retta b, otteniamo le coordinate del generico punto di intersezione:

Xa=Qa/(m-ma) Ya=mQa/(m-ma)
Xb=Qb(m-mb) Yb=m
Qb(m-mb)

Abbiamo quindi le coordinate dei punti di intersezione con le due rette.
Poi dobbiamo imporre che le distanze tra il nostro punto (l’origine) e questi due punti siano uguali.
La distanza tra il punto Pa(Xa,Ya) e il nostro punto P(X,Y) = P(0,0) vale:

Dista= Sqr((X-Xa)^2 + (Y-Ya)^2) se ci pensi è semplicemente il teorema di Pitagora.

Analogamente avremo che Distb vale Sqr((X.Xb)^2+(Y-Yb)^2)

Uguagliando le due equazioni imponiamo in sostanza tutte le condizioni che vogliamo siano soddisfatte dalla nostra retta generica (ma passante per l’origine).
Dal discorso è chiaro che dobbiamo ottenere un’equazione in cui la variabile è il coefficiente angolare m necessario per tracciare la retta e che tutte le altre variabili le dobbiamo inserire sulla scorta delle due rette che andiamo a considerare di volta in volta.
Tirando le somme (uguagliando le distanze) si ottiene un’equazione di secondo grado nel senso che la nostra variabile “m” compare elevata al quadrato, da qui le due soluzioni.

Una generica equazione di secondo grado Y=aX^2 + bX +C

ha come soluzioni

Y= (-b +Srq(b^2-4ac))/2a

Y= (-b -Srq(b^2-4ac))/2a

Le soluzioni insomma sono date dall’equazione finale che ti ho postato che permette semplicemente di calcolare il coefficiente angolare della nostra retta una volta definiti i valori delle altre due (Qa Qb ma mb).
Ho usato GH per calcolare il coefficienti, come ti ho spiegato e come puoi vedere dalla definizione.
Li ho sparati nella formula e ho tracciato le rette relative alle due soluzioni ruotando una retta orizzontale dell’angolo così calcolato.
Tutti gli altri metodi che ti hanno proposto mi sembrano validi, ce ne saranno parecchi altri.

2 Mi Piace

Direi di si’
Per quanto capisco io, questo problema ha una sola soluzione.

Si, e’ quella verde qui sotto (da file e definizione di Fabio)

Fabio, ho adattato la definizione con le mie due linee A e B collegandole fino ad ottenere un cono
ed ho inserito il punto P modificando sia la linea dell’asse Y che il piano di rotazione in base ad esso

ho misurato il tutto sia con le modifiche appena dette che non, ma come sembra non risultano uguali

Annotazione 2020-09-05 181158

la stessa distanza deve essere partendo dal punto che ho inserito (in questo caso passa sull’asse X)
rispettivamente per le due intersezioni, tra le due rette A e B e la retta generata con la definizione

Retta Salvio2.gh (10,7 KB)

dove sbaglio?(allego il file con le modifiche fatte ed ho memorizzaro tutte le geometrie nei componenti)

Prova a sostituire le due rette e il punto nella mia definizione.
line P.gh (10,9 KB)

Ciao Salvio, nella tua definizione mi pare tutto corretto … per me non è semplice metterci mano, GH non lo conosco proprio.
Credo sia un problema di come vengono misurati gli angoli.
Se nella prima retta inverti il segno (dell’angolo intendo) tutto funziona.

Salvio, faccio un tentativo: ho modificato la def. di Fabio.
Mi sembra che funzioni, almeno con le curve che hai postato … con altre non saprei. :confused:

Retta-Salvio-B.gh (11,0 KB)

Il punto da linkare e’ sotto alle due linee, a sinistra, quello attaccato al comp. Neg

1 Mi Piace

Piccolo aggiustamento:

Retta-Salvio-B.gh (17,8 KB)