Se due curve coincidono in un estremo, entro la tolleranza impostata in Rhino, sono continue, anche se formano uno spigolo.
NON c’è discontinuità.
Il concetto interessante, credo, sta nel grado della continuità.
La continuità che interessa a noi è quella geometrica, indicata appunto con la lettera G seguita da un numero che ne indica il grado.
Nel caso citato siamo in presenza di una così detta continuità di posizione, indicata con G0, le curve si toccano ma senza particolari velleità e presentano, come detto, uno spigolo più o meno evidente.
In Rhino comunque non è opportuno affidarsi all’occhio, vedi il comando _Gcon.
A rigore esiste anche la continuità matematica, indicata con la lettera C, sempre seguita da un numero che ne indica il grado.
La continuità matematica è una proprietà “forte”, nel senso che se abbiamo Cn avremmo di sicuro anche Gn ma non il viceversa.
Per molte modellazione G0 è una continuità non sufficiente, occorre salire di grado.
Il passo successivo è la continuità G1, detta anche di tangenza.
Il nome deriva dal fatto che le due curve, oltre a toccarsi in un estremo (G0), hanno anche la stessa tangente nel punto di intersezione.
La tangente per le “nostre” curve, è data dalla retta passante per gli i primi due punti di controllo della curva … ne consegue che possiamo mettere facilmente in continuità di tangenza due curve spostando i primi due punti di controllo di ogni curva in modo che giacciano sulla stessa retta.
Ovviamente il primo punto di entrambe deve coincidere (G0).
Di solito, per modellazioni freeform, si cerca un grado di continuità superiore, il G2.
Questa condizione è detta continuità di curvatura perché le due curve, nel punto di intersezione, hanno anche la stessa curvatura, vedi il comando_Curvature.
Se disegni due curve e usi il comando _BlendCrv per raccordarle, puoi vedere in maniera molto rapida e interattiva cosa cambia imponendo le varie continuità … occhio che nelle impostazioni del comando non troverai l’indicazione G0 G1 G2 ma “posizione” “tangenza” e “curvatura”.
Oltre invece trovi G3 e G4 che sarebbero Jerk e Snap (mi pare).
L’interfaccia, secondo me, è poco chiara.
Come nomenclatura io conosco solo G5 (Crackle) e G6 (Pop), ma potremmo procedere all’infinito.
Per le nostre curve possiamo dire che la continuità interna è sempre pari al grado della curva meno uno … una curva di grado tre ha continuità due ecc.
Se quindi ambiamo ad una continuità di curvatura (G2), è opportuno lavorare con curve di grado tre.
Oppure, se stiamo ricostruendo delle curve che abbiamo unito, ricostruire con grado tre, utilizzando il numero di punti di controllo minimo per avere una curva che si discosti dall’originale di una quantità tollerabile dai dati progettuali.
Non per complicare le cose ma, per essere un pochino più precisi, ci sono delle curve che hanno continuità interna piena … curva di grado tre con continuità interna G3 ecc.
Sono le curve di Bezier che puoi disegnare tranquillamente con il solito comando _Curve (curva per punti di controllo) avendo l’accortezza di utilizzare un numero di punti di controllo esattamente pari al grado più uno … curva di grado tre con quattro punti di controllo ad esempio.
Se usi un numero inferiore di punti di controllo non sono sufficienti e reggere il grado dell’equazione.
Se ad esempio usi _Curve chiedendo grado tre e clicchi su tre punti di controllo, Rhino la curva te la disegna, ma se controlli il grado sarà due.
Quindi la Bezier la potremmo vedere come il minimo sindacale per avere un certo grado della curva.
La curva di Bezier può capitarti se sai come disegnarla o anche accidentalmente, basta rispettare la regola di cui sopra.
Ma queste curve hanno (almeno) un limite intrinseco che è legato proprio alla regola: se disegni una curva con 12 punti di controllo ti ritroveresti con un’equazione di grado 11 che non è molto salutare.
Rhino usa un metodo di lavoro differente.
Come sai, ti permette di fissare il grado dell’equazione e puoi cliccare su quanti punti di controllo desideri.
I questo caso non disegni più una curva di Bezier ma una Basis Spline.
Ma come fa la Basis Spline a mantenere fisso il grado?
Lo fa pagandone un prezzo, quello di inserire al suo interno dei nodi (Knot).
Nulla di grave, occorre solo tenere presente che in quei punti, la continuità interna viene ridotta della molteplicità del nodo.
Con Rhino, a meno di casi davvero particolari o a meno di non giocarci, la molteplicità dei nodi interni è sempre uno.
Quindi, se disegno una curva con grado tre, nella peggiore delle ipotesi (Basis Spline) mi ritroverò con una curva con continuità interna tre a tratti che scenderà a due in corrispondenza dei nodi interni.
Ma, come detto, una continuità G2 è più che adeguata per la maggior parte delle modellazioni.
Se qualcuno ha esigenze particolari o è di naso fino, si può salire di grado senza nessun problema.
Ho letto, velocemente il tuo post.
Se le curve sono costruite bene non dovrebbe servire nessun controllo ulteriore.
Le superfici verranno fuori quasi da sole e idem per le poli-superfici chiuse.
Come ti hanno giustamente detto, puoi unire più curve e ricostruirle con grado (almeno) tre.
Se non erro ho letto, sempre in un tuo post, che utilizzi spesso _NetworkSrf come comando di surfacing.
Nulla di male ma, dal punto di vista della qualità topologica delle superfici, è il peggior comando che puoi utilizzare.
Fornisce superfici spesso inutilmente complesse.
Inoltre realizza la continuità sui bordi nelle ultime file di punti di controllo - questo comporta spesso andamenti delle superfici indesiderati e sgradevoli.
So bene che attira molto come comando, quando riesce dà una superficie unica che, di solito, rende sereno il neofita, io ne ho fatto indigestione.
Certo ha la spettacolare capacità di creare superfici con continuità G2 ben su quattro bordi.
Ma questo non accade praticamente mai, non perché il comando sia limitato, ma perché è un terno al lotto trovare quattro superfici esistenti che possano essere geometricamente collegabili con continuità G2.
Di solito uso il comando per creare superfici di supporto, che poi scarto, per lavorare contemporaneamente su poli-superfici, ad esempio per posizionaci dei loghi o dei motivi.
Oppure per creare dei buchi in una superficie esistente e richiuderli perché in quella zona ho bisogno di maggiore complessità (più punti di controllo) – rendo quindi più complessa la superficie solo nella zona in cui mi serve.
Spero di non avere fatto confusione, ho scritto di getto ma l’argomento meriterebbe parecchia attenzione e sicuramente maggior tempo.
Sicuramente persone esperte potranno dirti molto di più.
PS grande Charles!