Linea perpedicolare

Non è bello ciò che è bello ma è bello bello bello.
Lucio

approfondimento sull’argomento:

facendo alcune prove per ottenere delle linee perpendicolari con il metodo postato da Emilio, di sicuro voi già lo sapevate ma ho scoperto che ottenuto i punti per tracciare una retta fra due linee la linea di congiunzione è perpendicolare partendo da una curva ma potrebbe non esserlo se si parte dall’altra curva con gli stessi punti.

lo so che si tratta di geometria e non programmazione ma credo che potrebbe fare la differenza saperlo…

Parliamo sempre di rette parallele ?

eeee no stavolta anche se di poco ma ovviamente non erano parallele, proprio per questo avevo pensato di fare questa prova per avere una conferma e mi sono stupito del risultato poi riflettendoci ovviamente se si inizia dall’altra parte “l’angolo penso” essendo diverso e quindi anche il risultato per lo meno credo sia l’angolo.

In questo caso, come dicevi all’inizio della discussione, in Rhino c’e’:

_Line _Perpendicular _2Curves

Ma in rhinoscriptsyntax non so … tu conosci qualcosa ?

beh un metodo fu fatto tempo fa con i vettori in VBScript bisognerebbe adattarlo al rhinoscriptsyntax ma non credo dovrebbe essere complicato farlo.

nel frattempo ho provato con _2Curves anche con rette non parallele e qui non mi funziona, ma
comunque per la domanda del post come già detto mi funziona con “CurveClosestPoint e EvaluateCurve”

anche se ora no saprei se conviene continuare con questo thread o farne uno nuovo, essendo che dopo aver creato questa linea con “CurveClosestPoint e EvaluateCurve” ho notato che mi tocca estenderla ovviamente come già in precedenza ho detto: “che ci vuole” ed ho usato rs.ExtendCurve ma non mi funziona :triumph: sempre errore: “NotImplementedException” mentre se uso rs.ExtendCurveLength invece quest’ultima funziona…
se la soluzione è semplice potrebbe andare bene anche in questo thread la risposta altrimenti la posto come nuova inserendo maggiori dettagli ditemi voi come meglio fare ? ? grazie sempre per l’aiuto

Parere personale: meglio uno nuovo
Su questo forum i thread sono abbastanza pochi, e’ facile ritrovarli.
Invece a cercare tra le risposte di un thread lungo, io fatico …
:slight_smile:

ahahahah per la serie anche l’occhio vuole la sua parte… meglio far vedere più movimenti :slight_smile:

PS ma se fanno piacere molti thread bastava che me lo dicevi ho tante domande a volte non le faccio perchè alcune possono sembrare “sempliciotte” ne ho una proprio sul comando che hai citato _2Curves poi posterò :slight_smile:

Se le due rette sono sghembe (cioè non parallele) esiste solo una linea perpendicolare a tutte e due le rette.
Vittorio

Vittorio questo lo credvo anch’io solo che mi è capitata una situazione dove due rette non parallele non hanno una perpendicolare che li unisce. ho provato con “_2Curves” ma il risultato fallisce sempre…

se volete vi posto il file con le due rette.

PS strano ho fatto una prova con gli osnap e funziona, con il comando invece non funziona
ma quindi il comando funziona solo con rette parallele?

La situazione che tu descrivi credo sia quella in cui se una delle due rette giace sul piano di costruzione e se l’altra retta è parallela al piano di costruzione e non attraversa l’altra retta vista dall’alto. Vedi esempio allegato.
Linea perpendicolare.3dm (2,6 MB)

ma quindi il comando “_2Curves” se non rispetta questa condizione fallisce…

quindi vedendole dalla scheda top è come se si intersecassero tra di loro.

Tra due rette sghembe esiste una e una sola retta incidente e perpendicolare ad entrabe.
Qui però non stiamo parlando di rette ma piuttosto di segmenti di retta.
E’ chiaro che potrebbe “mancare” la parte di retta da cui tracciare la linea ortogonale, come ha disegnato Vittorio.
Se prolunghi il segmento in maniera opportuna ecco che compare la normale.
Fabio.FZ_Linea perpendicolare-3.3dm (2,6 MB)

ciao Fabio
quindi confermi ciò che dicevo.

beh altro spunto di riflessione differenza tra rette e segmenti:
quindi quando menzioni rette anche sghembe comunque parli di due linee che proseguono all’infinito…

PS infatti avevo fatto delle prove con il codice postato sopra da Emilio per capire come funzionasse “LineClosestPoint” e se nella variabile Div inserisco GetPoint è la linea di destinazione è più corta
di quella di partenza mi aggiunge lo stesso il punto come se la curva fosse prolungata

fab

linea selezionata è quella “corta” (destinazione) l’altra è la linea di partenza “lunga” e clicco estremità destra
il punto viene aggiunto come dicevo prolungando in teoria la lunghezza della linea selezionata.

Dubitavi forse che i codici di Emilio potessero non funzionare? :wink:
Pensa che per trovare la linea dell’esempio io mi sono dovuto costruire due piani e tre rette!

Dal punto di vista geometrico la retta è infinita, l’esistenza della ortogonale discende da un teorema di cui non ricordo il nome che attaccherà di certo con “date due RETTE sghembe”.

Fabio.

per carità lungi da me questo pensiero anzi…
il codice di Emilio era nato per un’altra situazione da me posta poi andando a vedere esempio dell’help che richiedeva dei punti ho pensato a questa prova da fare per capire la differenza con gli altri comandi citati.

grazie Fabio per la spiegazione :slight_smile:

Eh … cari ragazzi … se fossi in grado di scrivere programmi anche solo decenti …
non farei il disegnatore-tuttofare con relativo stipendio deprimente …

Comunque grazie per la stima … :slight_smile:

mi sa che nelle linee perpendicolari mi sfugge qualcosa…

ma se i due estremi di una linea hanno come valore x lo stesso valore usando il comando:
_Line _Perpendicular _PointOnCurve mi dovrebbe funzionare in modo corretto?

Immagine

sono due linee “non parallele” ma che hanno i loro punti estremi con la stessa coordinata x

ora quella selezionata riesco ad usare _Line _Perpendicular _PointOnCurve l’altra invece no

c’è un modo per risolvere?

Ma nemmeno

_Line _Perpendicular _2Curves

funziona ?

In ogni caso, lo vuoi fare a mano o da script ?