Come Creare Modelli Tridimensionali di Conchiglie e altri Molluschi

Questo articolo è la traduzione di un recente instructable in lingua inglese creato in collaborazione con mio figlio Leonardo sul sito Instructables teachers (https://www.instructables.com/How-to-Generate-and-3D-Print-Seashells-and-Other-M). Sull’argomento ho già scritto un altro breve articolo (anche questo in lingua inglese) nel passato, tuttavia, visto il considerable interesse ricevuto dall’instructable ( che ha vinto anche un premio runner-up nella competizione “made with math”) ho deciso di farne una traduzione per i lettori italiani del mio blog.

Daughter of stone and the beautifying tide,
With what wonder you fill boys’ minds

La conchiglia Marina di Alceo,
Translation of Salvatore Quasimodo, Greek Lyrics, 1940.

Fin dall’antichità, l’elegante forma delle conchiglie ha affascinato bambini e adulti. Queste meravigliose ed elaborate sculture di carbonato di calcio sono variazioni di un comune tema matematico: la spirale logaritmica tridimensionale. Alla loro visione, le affascinanti geometrie spiralizzanti stimolano direttamente i circuiti matematici del nostro cervello che suscitano il piacere intellettuale della loro forma e simmetria. Il poeta Alceo dei citati versi e il geniale artista Sandro Botticelli (nel suo capolavoro “La nascita di Venere”) sono rimasti così affascinati dalla bellezza dell’elegante alcova calcarea dei molluschi da prendere ispirarazione per le loro opere di poesia e arte. Ma l’interesse per la formulazione matematica della geometria delle conchiglie ha dovuto attendere la prima metà del XIX secolo. Il primo tentativo di tradurre la geometria della natura in linguaggio matematico si deve al matematico inglese Reverendo H. Moseley (1801-1872) che basandosi su misurazioni della forma di diversi esemplari di conchiglie formulò un modello matematico basato sulla spirale elicoidale. Questo primo tentativo, fu seguito da altri lavori di biologi e matematici. Nel 1917, il grande biologo e matematico scozzese D’arcy Wentworth Thompson descrisse in dettaglio queste ricerche nel suo capolavoro On Growth and Form [1]. Un importante stimolo alla modellistica matematica della forma della conchiglia arrivò nel 1960, quando l’uso dei primi computer elettronici permise di calcolare e rappresentare queste forme. Un importante contributo è stato dato da Raup nei suoi celebri articoli sulla prestigioso giornale Science [2] dove ha introdotto il concetto di spazio morfologico nella descrizione delle forme delle conchiglie dei molluschi. La rivoluzione dei personal computer alla fine degli anni ’70 segnò un altro importante sviluppo nella modellazione matematica delle forme naturali. L’uso della grafica al calcolatore ha permesso di migliorare i modelli matematici originali aggiungendo sofisticazioni per tenere conto delle diverse forme nella storia naturale delle conchiglie. Questi modelli sono stati usati per studiare varie classi di molluschi e gasteropodi e, in alcuni casi, è stata fornita anche dalla descrizione del programma usato per la rappresentazione grafica dei modelli.

Uno dei modelli più completi è stato pubblicato da M.B. Cortie nel 1989 [3]. Il modello utilizza 16 parametri per descrivere non solo la forma complessiva, ma anche i dettagli strutturali della superficie variegata di alcune specie di conchiglie. Il modello del Cortie ha unificato tutte le proprietà introdotte nei modelli precedenti, in funzioni matematiche che descrivono le coordinate x,yz per la generazione della superficie della conchiglia di facile implementazione computazionale.

In questo articolo presentiamo un programma scritto in C++ con grafica basata su libreria OpenGL che implementa il modello di Cortie utilizzando una semplice interfaccia che permette la variazione dei parametri. Il modello esporta la superficie generata in formato STL utilizzabile per la stampa 3D o per essere importata in altri programmi per la modellazione 3D.

IL MODELLO MATEMATICO DI CORTIE

Il modello matematico proposto da Cortie si basa sulla traslazione e sulla scalatura del profilo dell’apertura del guscio della conchiglia lungo la curva elico-spirale. Nella Figura 1a è mostrata una rappresentazione schematica della curva elico-spirale. L’avvolgimento della spirale è funzione della distanza dal centro nel piano x-y e lungo la direzione z (traslazione elicoidale).

Figura 1a: Modello del Cortie dei i gusci di molluschi basato sulla elico-spirale.

Le figure da A a D mostrano la sequenza di trasformazione matematica utilizzata nel modello per derivare le coordinate finali della superficie del guscio. Le coordinate finali sono calcolate per punti campionati lungo la coordinata (s) che rappresenta la forma dell’ apertura del guscio e la traslazione lungo l’elico-spirale.

La combinazione di tutti e tre i passaggi (A,B,C) corrisponde all’equazioni mostrate in Figura 1b [D]. Il significato di alcuni parametri è indicato nella stessa Figura 1a.

Figura 1b: Modello del Cortie dei i gusci di molluschi basato sulla elico-spirale: rappresentazione matematica delle coordinate cartesiane.

PARAMETRI USATI NEL MODELLO

NC: numero di curve di apertura ripetute lungo l’elico-spirale.

alfa: angolo equiangolare della spirale.

beta: angolo tra l’asse z e la linea dall’origine locale dell’apertura all’origine xyz.

ts: angolo di partenza per l’elico-spirale.

te: angolo finale per l’elico-spirale.

A: distanza dall’origine principale all’origine locale dell’apertura a theta=0.

a: raggio maggiore dell’ellisse a theta=0.

b: raggio minore dell’ellisse a theta=0.

PARAMETRI PER LA FORMA DELL’APERTURA

NS: numero di lati della curva di apertura.

phi: angolo di inclinazione dell’asse maggiore dell’ellisse dal piano orizzontale.

mu: angolo di inclinazione sopra la curva di apertura.

omega: angolo di rotazione azimutale della curva di apertura.

sm: angolo in cui inizia la curva che genera l’apertura.

sx: angolo in corrispondenza del quale termina la curva di generazione dell’apertura.

PARAMETRI PER LA SCULTURA DI SUPERFICIE (GOMBE SULLA CURVA DI APERTURA)

NM: numero di gobbe lungo l’apertura.

P: posizione della gobba in funzione dell’angolo s.

W1 larghezza della gobba lungo la curva di apertura (direzione s).

W2: larghezza della gobba lungo la curva elicoidale (direzione t).

L: altezza della gobba a theta=0.

SIMMETRIA DELL’HELICO_SPIRAL

D: Simmetria dell’elico-spirale.

= 1, avvolgimento destrale,

=-1, avvolgimento sinistro).

Una descrizione completa del modello la trovate nell’articolo originale di Cortie, o su siti dedicati come quello di J. Picado.

Il Programma in Linguaggio C++

Il modello matematico è stato implementato in linguaggio C++ utilizzando le librerie OpenGL, GLUT e GLUI. Il codice del programma si può scaricare dal sito dell’instructable.

Il programma è stato sviluppato usando un MacBook Pro provvisto di sistema operativo macOS (versione 10.14.6) e può essere compilato utilizzando il comando:

g++ ShellmodelsCortie.cpp -o ShellmodelsCortie -framework opengl -framework cacao -framework glut -lglui -Wno-deprecato

Il programma è stato compilato anche sul sistema operativo Linux, in questo caso è necessario modificare gli headers come segue

#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glui.h>

Per la compilazione si è usato il seguente commando:

g++ ShellmodelsCortie.cpp -o ShellmodelsCortie -lGL -lGLU -lglut -lglui-std=c++11

Si noti che il comando presuppone che la libreria grafica GLUI sia installata nelle directory di sistema. La libreria GLUI non è sempre presente nelle distribuzioni del sistema operativo Linux. In questo caso, si deve dapprima procedere alla sua installazione.

Il programma consiste in una semplice interfaccia utente in cui i parametri del modello possono essere digitati o modificati utilizzando gli spinner (nei quadrati rossi nella Figura).

Il modello può essere ruotato direttamente premendo e spostando il dito sul touch pad (o utilizzando il mouse) sulla finestra del display e zoomando avanti/indietro utilizzando il fattore di scala nel pannello di controllo.

Il modello può essere rappresentato come wireframe o solid surface utilizzando i pulsanti di opzione sul pannello di controllo (nel riquadro blu). Per decorare la superficie vengono utilizzate bande colorate casuali. L’opzione Directrix viene utilizzata per mostrare il centro della geometria di ciascuna apertura (in giallo) e una forma di apertura in una data posizione lungo la spirale elicoidale. Questa opzione può essere utilizzata per controllare l’effetto dei parametri della forma dell’apertura.

Infine, è possibile selezionare modelli di molluschi predefiniti selezionandoli da un elenco (in quadrati viola).

Nel pannello di controllo si trova anche il pulsante per esportare il modello come file STL che può essere importato in un programma di grafica 3D per ulteriori modifiche. Il file STL può essere convertito in formato gcode per ottenere una stampa in 3D della conchiglia. I modelli mostrati nel sito dell’Istructable sono stati ottenuti usando il programma PusaSlicer con ottimi risultati. Si noti che il file STL non è ottimizzato e fornisce solo le coordinate della superficie della shell. Il programma PrusaSlicer corregge diversi errori, tuttavia l’orientamento della forma rispetto al paino di stampa è importante per ottenere buoni risultati. Per evitare artefatti (come l’omissione di strati), l’apertura della conchiglia deve essere orientata verso l’alto, come nella figura che segue.

Esempi di stampe 3D ottenute usando una stampante Creality 3D Ender 5 Pro, sono fornite nel sito dell’Instructable.

Spero che il programma possa essere utile e suggerimenti su come migliorarlo saranno sempre ben accetti!

Per finire, ringrazio per l’aiuto mio figlio Leonardo, e per il supporto Francesco e Halina.

RIFERIMENTI BIBLIOGRAFICI

  1. D’Arcy W. Thompson. On Growth and Form. (2nd edition 1944).
  2. David M. Raup,” Computer as Aid in Describing Form in Gastropod Shells”, Science 138.3537 (1962): 150-152. Raup, D. M., and A. Michelson. “Theoretical morphology of the coiled shell.” Science 147.3663 (1965): 1294-1295. See also the description in Richards Dawkins. Climbing Mount Impossible (1996).
  3. M. Cortie, Models for mollusk shell shape, South African Journal of Science, vol. 85, pp. 454–460, 1989.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.