Visualizzazione post con etichetta Reverse Engineering. Mostra tutti i post
Visualizzazione post con etichetta Reverse Engineering. Mostra tutti i post

lunedì 2 luglio 2012

La soluzione evolutiva

Siamo sempre alla ricerca delle geometrie strutturanti (piano di simmetria) di un prodotto di design equilibrato, Nel caso in esempio la scocca del vecchio telefon a disco S62.
Nella generalità dei casi, la costruzione del “bounding box”, termine inglese con cui i software chiamano il parallelepipedo limite, non è un’operazione immediata. Infatti, lo strumento informatico, per sua natura limitato, costruisce il bounding box con le facce sempre parallele ai piani coordinati di costruzione. Una soluzione di questo tipo, per la scocca, da luogo ad un poliedro completamente inadeguata agli obbiettivi prefissati poiché identifica delle geometrie strutturanti non in aderenza con quelle della forma analizzata.

La variabile su cui operare è la posizione del piano di costruzione, ma per far ciò è necessario relazionare la variabile alla condizione limite che si vuole raggiungere, quella che permette di ottenere il più adeguato bounding box per il quale uno dei piani di simmetria è coincidente con quello della scocca del telefono.


Attraverso un disegno esemplificativo bidimensionale, sono presentate alcune riflessioni riguardanti la ricerca del miglior rettangolo limite, per il quale l’asse di simmetria è coincidente con l’asse di simmetria della figura inscritta. In queste immagini è proposta la semplificazione sul piano del problema nello spazio. La prima immagine in alto, mostra la forma casualmente posizionata rispetto ad un sistema di assi cartesiani dove l’asse x è rosso e l’asse y è verde. Il rettangolo limite si pone, per costruzione, parallelamente agli assi coordinati identificando una superficie interna di pertinenza.

Leggiamo l’area del poligono il cui valore deve essere preso esclusivamente come indice di paragone, che risulta pari a 34756 mm2. La seconda immagine vede il sistema cartesiano ruotato intorno all’origine, permettendo al rettangolo limite di far aderire il suo lato lungo al lato destro del trapezio inscritto. Leggiamo nuovamente l’area del poligono rosso e ci rendiamo conto che il valore è diminuito a 27463 mm2. Nell’ultima immagine in basso, abbiamo ulteriormente ruotato il sistema cartesiano in modo da avere l’asse x parallelo alla base del trapezio. Il rettangolo limite che si forma, è quello da noi cercato, in quanto il suo asse di simmetria, coincide con l’asse di simmetria del trapezio. L’area del poligono ottenuto è di 25757 mm2, la più piccola sino ad ora rilevata. Ma continuando a ruotare il sistema cartesiano, notiamo che il valore numerico riprende a crescere, di conseguenza la condizione di rettangolo limite con area più piccola in assoluto, è quella che soddisfa le nostre esigenze. Trasponendo la soluzione nello spazio digitale, possiamo affermare con certezza, che nel caso della scocca, il bounding box migliore sarà quello con il volume minimo.
La variabile sulla quale operare è quindi l’orientamento del piano di costruzione; l’obbiettivo da perseguire è il minimo ingombro del bounding box. Possiamo sfruttare lo strumento Grasshopper, per creare una definizione che metta insieme condizioni geometriche e condizioni computazionali, per la ricerca dell’orientamento del piano che determini il minor volume.

In basso l'algoritmo che rende variabile il piano di costruzione riferimento del parallelepipedo limite, entita che sarà ruotata in funzione di tre gradi di libertà, quelli di rotazione intorno gli assi coordinati, sin quando il bounding box non sarà il più piccolo.


Attraverso i tre slider, è possibile manipolare la rotazione attorno i tre assi sin quando non otteniamo il più piccolo box limite. Ovviamente l'algoritmo deve essere automatizzato, e ciò avviene grazie al risolutore evolutivo Galapagos. I genomi da manipolare sono i tre gradi di libertà, il Fitness da perseguire, il minimo volume.



In sintesi: Il parametro di partenza è la rappresentazione numerica della scocca, intorno a questo si costruirà il bounding box  ovviamente orientato in relazione al piano di costruzione corrente. Identifichiamo per comodità l’origine del piano di costruzione nel baricentro della mesh  e costruiamo una definizione che consenta al piano di ruotare liberamente nello spazio, concedendo come gradi di libertà le tre rotazioni principali. Gli sliders identificano i range di rotazione intorno ai tre assi coordinati e vanno da zero a 180°, l’intero angolo piatto. Solo adesso si introdurrà la componente evolutiva, collegata agli sliders  e ad un lettore di volume del bounding box. La scocca del telefono, innesca un processo reiterativo in cui vengono variati i valori degli sliders e volta per volta, vengono letti i valori dei volumi. Andando avanti con la reiterazione i valori dei parametri variabili vengono posizionati nell’intorno di quei dati che forniscono il volume più basso, dando vita ad un processo asintotico che sempre più si avvicina al valore ottimale del parallelepipedo di ingombro minimo. Il percorso, essendo asintotico, non ha termine, ma grazie alla tolleranza posseduta dal software, superato un certo valore di precisione, il dato ottenuto sarà considerato esatto.

Le immagini mostrano il processo con il quale, attraverso il bounding Box si è trovato il piano di simmetria.

martedì 18 ottobre 2011

Corso Rh + Gh: Esito delle giornate di studio


Dal 12 al 15 Ottobre si è tenuto nello studio 4PLAN il corso di modellazione avanzata con Rhinoceros e parametrizzazione con Grasshopper. Le giornate di studio sono state caratterizzate da una incrementale conoscenza della rappresentazione matematica partendo dalle curve free-form sino ad arrivare alla modellazione di superfici complesse. Questo tipo di rappresentazione si è messo a confronto con la rappresentazione numerica, entrando nell'intimo del significato delle Mesh. Per poter meglio comprendere i diversi modelli si è trattato il caso del Reverse Engineering di una forma per calzature: dalla sua rappresentazione stl si è passati al modello NURBS.

Dopo un primo approccio che spiegasse l'essenza di uno strumento generativo quale Grasshopper, si è passati subito ad un esercizio complesso che raccontasse come nuovi ingredienti, entrano in maniera dirompente nella generazione delle forme: primo tra tutti la matematica nella sua forma più pura. Da qui l'esercizio di una forma tubolare che segue l'andamento di una spirale matematica. La sezione del tubo varia in funzione della distanza da terra, generando una forma complessa, costruibile solo attraverso una riduzione dell'oggetto in pannelli.
Si è poi andato oltre utilizzando la cavalletta, per la risoluzione di un morbida parette di mattoni. I problemi da risolvere vedevano la necessita di non permettere ai singoli elementi di autointersecarsi e la possibilità di rarefare la parete attraverso una variazione dei giunti lungo i ricorsi orizzontali.
Per concludere il discorso si è voluto parlare della tassellazione creativa di una superficie, attraverso la costruzione del diagramma di voronoi nello spazio, innescando il ragionamento sul dominio delle superfici e la loro gestione nello spazio.


Definizione della forma tubolare

giovedì 6 ottobre 2011

Mirror Geometry: ecco il piano e l'asse di simmetria!


In questo video si raccontano le potenzialità di un cluster che sto mettendo a punto parallelamente al mio progetto di ricerca sul Reverse Modeling nel design.
Le idee sono coltivate in maniera continuativa sempre grazie al confronto con il prof. A. Casale ed il prof. G.M. Valenti del corso di Disegno Industriale di Roma SAPIENZA.

  

domenica 2 ottobre 2011

MirrorGeometry per Grasshopper: prove tecniche di RM


Nell'applicazione delle procedure per il Reverse Engineering, il primo problema che sorge è quello dell'individuazione dell'asse o del piano di simmetria della Mesh acquisita con scanner laser 3D. La conoscenza di queste geometrie è fondamentale per diversi motivi: la loro individuazione permette di orientare il prodotto nello spazio digitale distinguendo un sopra ed un sotto, un fronte ed un retro, una destra ed una sinistra. Nello specifico, la presenza di un piano di simmetria permette il passaggio da Mesh  a Nurbs, lavorando solo su una metà dell'oggetto, per poi specchiarlo in un secondo momento; mentre l'asse di rivoluzione, consente, una volta intercettata la generatrice attraverso un opportuno piano, di costruire la superficie di rivoluzione appoggiandoci all'asse rilevato.

La ricerca che sto svolgendo mi ha portato alla definizione di una componente di Grasshopper in grado di estrapolare il piano di simmetria o l'asse di rivoluzione da Mesh adeguate.
Come dati di input sono richiesti la Mesh del prodotto da ricostruire matematicamente e un dato di tolleranza (B) funzionale all'accuratezza della Mesh acquisita; come dati di output abbiamo una stringa (Str) che evidenzia ulteriormente il tipo di dato rilevato (piano di simmetria o asse di rivoluzione) e la geometria ricercata (Geo), utile al proseguimento delle azioni di RE.

Nelle immagini del post, i modelli adoperati sono Mesh frutto di tassellazione, essendo la componente Mirror Geometry ancora in fase di sviluppo. 
mc

domenica 11 settembre 2011

Prove di Reverse Engineering.....


Quello che vediamo spaccato a metà è l'acquisizione allo scanner laser 3D di un esemplare dell' S62 (quindi un modello mesh), vecchio telefono dato alle famigie dalla SIP. La volontà è quella di ricostruire attraverso una rappresentazione NURBS la parte anteriore dell'involucro, rappresentato in figura per mezzo della mesh di acquisizione.
Primo passo è  individuare le pezze che suddivideranno l'oggetto per ospitare superfici quadrilatere. La superficie non presenta spigoli, quindi luoghi i discontinuità, motivo per cui i bordi delle pezze dovranno ricalcare parti in cui vi è una forte variazione della superfici (smussi), questo permetterà di creare una rete primaria di curve  (griglia nera in figura) che disegnerà l'oggetto nelle pezze principali, da dividere ulteriormente in maniera tale da definire sempre quattro lati per tutte le superfici.

Prendiamo in considerazione una delle pezze, quella anteriore, come già dichiarato. Una volta date le informazioni ai bordi, è necessario informare la parte interna del dominio. Attraverso  Grasshopper, riesco a creare un piccolo algoritmo che mi disegna sulla mesh la rete di curve utili a dare le informazioni interne alla superficie da ricostruire matematicamente (il comando è superficie da rete di curve).

Il risultato non è dei migliori, ma sono in grado di migliorarlo avendo identificato le variabili utili alla risoluzione del problema.