Punti in quadrature su curve

Hehe … si’, ma quello c’e’/ci sara’ … :grinning_face_with_smiling_eyes:

Ti preoccupa la velocita’ dello script ?

Di solito e’ piu’ un problema per GH (che ricalcola come un matto :grinning_face_with_smiling_eyes:) che per Rhino.

Comunque anche C#, dai :wink: … intanto puoi usare RhinoCommon e poi meglio che ReDim Preserve sara’, no ? :grinning_face_with_smiling_eyes:

… Unica alternativa, almeno per ora, Python (sul 7 IronPython, per Rhino 8 CPython) … che pero’ credo ti dia una certa allergia … :wink: :grinning_face_with_smiling_eyes:
Purtroppo per te e’ quello che piace in RMA :neutral_face:… e riesce anche a connettersi in qualche modo col divino dotNET … tanto con Rhino sempre li’ si casca ormai. :wink:

Sto provando ‘accorciando’ il knot vector per calcolare la spezzata, cioe’ tengo solo i nodi nel dominio della curva …
Dice che potrebbe andare o ci vedi qualche cavolata galattica ? :slight_smile:

Poi a essere pignoli dovrei evitare di cercare il quad a fine curva per le curve chiuse credo …

Ti rispondo come prima da cell… Non conosco come si trattino le curve chiuse periodiche in termini di punti e knot. Io le tratterei tutte come clamped … ma non sembra vada bene per gli standard prefissati … :upside_down_face:

OK, provo poi a finire lo script e vedere se funziona.
Se no gli faccio convertire la curva in non periodica prima del calcolo … :wink:

Ho provato a replicare in GH lo script dell’inarrivabile Sergio, ma mi ritrovo un punto in più.
serg2 b.gh (22,0 KB)
img1

3 Mi Piace

Ciao Leopoldo

Per ora non riesco a concentrarmi per capire come funziona la definizione, sorry, con GH fatico sempre :blush: … ma sembra che funzioni bene ! :grinning:

Pare che invece lo script VBS non trovi quel punto.
Direi che lo script in casi come questo puo’ mancare un punto.

@Sergio_Alessi , forse serve aggiungere un punto lungo la tangente a inizio/fine curva, per avere una ulteriore terna di punti da testare, credo che cosi’ dovrebbe trovarlo … che dici ?

curva-quad.3dm (31,4 KB)

ciao Leopoldo,
finalmente ho capito come funziona il tuo sistema, io creavo direttamente i rettangoli usando due punti :man_facepalming:

lo script finale mi è chiaro quello che invece non comprendo è il fatto che dopo esserti trovato i punti,
(a metà def) poi nella parte finale ti ritrovi con 3 punti da gestire con lo script? mi manca il motivo. . . .

ps

  1. ma con “shatter” avresti ottenuto lo stesso risultato di “point trim curve” ma senza il dominio giusto?
  2. la funzione “indexof” ho letto la descrizione ma mi sfugge il risultato che riporta da un testo a 6 :thinking:

edit:
a me con un paio di prove fatte tra “RhScript” e “Extreme Parameters” un punto non mi corrispondeva
mentre con l’ultima def di Leopoldo ho dovuto modificare i decimali da 3 a 4 per ritrovarmi tutti i punti

tutto ciò al fine di…?

1 Mi Piace

Lo “shatter” non divide la curva in segmenti.
Vediamo se riesco a spiegarmi, ho messo qualche didascalia nella definizione.
Tenete presente e che in queste definizioni non ho usato il componente “equality” ma il componente “similarity”, anche se con una tolleranza molto bassa.
serg2 c.gh (31,3 KB)

Quest’altra definizione prevede la possibilità di modificare il piano di riferimento.
quad points l.gh (22,2 KB)

ok Leopoldo grazie per la spiegazione ora è più chiaro :+1:

è normale che poi alla fine i punti finali del “list item 1 centrale” non combacino con quelli del cull pattern?
non mi sembra che ci sia qualcosa che cambi, a meno che non mi sfugge qualcosa verso il merge. . . .

:thinking: :thinking:

strano perché così mi fu consigliato di usarlo, essendo che mi serviva propro dividere la curva in segmenti.

Ho confuso.
Shatter divide la curva.
Ho usato “point trim curve” perchè fornisce anche i domini dei segmenti.

1 Mi Piace

Se il caldo non ha fuso tutto nella mia capoccia: il problema si manifesta quando il punto di minima/massima coincide con un knot.

Si, effettivamente sembra così.

Il post di leo è abbastanza succinto e chiaro, ottimo per reportare il problema, volendo.

1 Mi Piace

Giuseppe scusa se preciso:

in realtà sono 2 problemi (anche 3), infatti la domanda era se fossero collegati/connessi:

bug3

il primo è con una curva aperta dove Leopoldo posizionando i CV in modo simmetrico usando la def di Riccardo che costruisce una derivata compare il problema. (infatti già ne parlò anche David Rutten)

dev.gh (6,1 KB)

invece quest’altro caso riguarda una curva chiusa dove la def Gh tramite metodo script si cerca di trovare i Quad della curva che avendo sempre dei CV posizionati in un certo modo salta un Quad (Rhino invece si)

nonQuad2

NonQuad2.gh (7,0 KB)

in quest’altro caso invece è l’incontrario, sempre la stessa def con altra curva, stavolta trova tutti i Quad mentre questa volta è Rhino che con la stessa curva il Quad indicato dalla freccia non viene trovato

https://mcneel.myjetbrains.com/youtrack/issue/RH-69504
Sarà visibile a discrezione dello sviluppatore che prende in carico.

1 Mi Piace