Anamorfosi conica di una scena mitologica,
Olanda, XVIII secolo. Museo di Leida.
Il programma KIRCHER
Camillo Trevisan      trevisan@iuav.it

Il programma KIRCHER consente di generare anamorfosi speculari su generiche superfici DXF, definite da un massimo di 5400 3Dfacce e usando superfici speculari anch'esse generiche e definite da un massimo di 5400 facce 3D.

Copyright Camillo Trevisan, luglio 1997.
Download freeware Kircher, versione italiana (150 kB)

Le entità da proiettare sono contenute in un file di tipo DXF di grandezza indefinita.
Vengono proiettate le entità i cui punti appartengono ai gruppi DXF 10..17 (per la coordinata X dei punti che definiscono le entità stesse), 20..27 (Y), 30..37 (Z).
Possono dunque essere proiettate 3Dfacce, linee, punti, polilinee 3D (fare riferimento al manuale AutoCAD per l'identificazione completa delle entità trasformabili).
Non saranno trasformate correttamente le entità arco e cerchio, che dovrebbero essere approssimati con polilinee 3D.
Le entità Mesh e i blocchi devono essere "esplosi" ripetutamente per ottenere le singole entità primitive che li compongono.
Per trasformare solidi e regioni (versione 13 e successive) è necessario esportarli in formato 3DStudio (comando 3DSOUT, usando i parametri di default), e importarli nuovamente in AutoCAD con il comando 3DSIN. Le entità importate, una volta "esplose", saranno nella forma di 3Dfacce e pertanto risulteranno trasformabili.
Tuttavia, in questo caso, potranno comparire linee di tassellazione e spigoli di facce che in realtà non dovrebbero essere visibili.
Per renderle invisibili usare il comando EDGE.

Il programma opera nel modo seguente:

L'occhio dell'osservatore è posto nel Centro di Proiezione (CP). Senza l'interposizione dello specchio (in questo caso un mezzo cilindro), si può tracciare una retta che passa per il CP e per ogni punto dell'oggetto (PO). Se invece si interpone lo specchio, il raggio visivo (in rosso) viene riflesso con angolo pari a quello di incidenza (in giallo); angolo calcolato rispetto alla normale alla superficie riflettente. Il raggio riflesso inciderà a sua volta su di una superficie, definendo in tal modo la proiezione anamorfotica del punto PO.

Mario Bettini, Apiaria universae philosophiae mathematicae, Bologna 1642.
L'occhio del cardinale Colonna, arcivescovo di Bologna.
Anamorfosi per specchio cilindrico.

L'osservatore, posto nel punto E e supponendo trasparente lo specchio, vede l'occhio CDB sovrapposto all'anamorfosi GHI.
Ponendo l'occhio dell'osservatore nella sua posizione simmetrica rispetto allo specchio A e considerando questo come riflettente, l'osservatore stesso vedrà costruirsi sullo specchio l'immagine CDB, riflessa di GHI.

Le facce che definiscono la superficie speculare (da 1 a 5400) sono anch'esse contenute in un file di tipo DXF e possono assumere qualsiasi giacitura nello spazio: essere contigue a formare una superficie curva oppure ondulata o a cuspide, sovrapposte o staccate tra loro.

Il programma KIRCHER trasforma ogni faccia 3D del file DXF della superficie speculare in una o due facce triangolari di area non nulla (l'area viene considerata nulla quando il semi-perimetro della faccia triangolare è inferiore a 0.00001 unità del disegno oppure se l'area è inferiore a 0.00001 unità al quadrato).
Come già detto, il programma cercherà, per ogni punto delle entità da proiettare, la prima faccia della superficie speculare che contiene il punto di intersezione con la retta che unisce il Centro di Proiezione al punto dell'Oggetto.

Se nessuna faccia è intersecata dalla retta, l'utente viene avvertito e il programma memorizza il punto originario.
È dunque da verificare in AutoCAD (mediante il comando VISTAD [DVIEW]) che, dal Centro di Proiezione, gli oggetti siano completamente contenuti all'interno della superficie speculare.

È anche necessario che, per ogni punto dell'oggetto da proiettare, vi sia una ed una sola faccia della superficie speculare intercettata dalla retta che unisce il punto dell'oggetto stesso e il Punto di Vista: in caso contrario il programma userà la prima faccia utile che incontra.
Ad esempio, nel caso si usi uno Specchio conico è dunque necessario cancellare una metà del cono, nella fattispecie quella definita dalle facce che non sono rivolte verso il PV.
Lo stesso vale per una superficie conica o sferica.

Dato che le entità dell'oggetto vengono proiettate su di una superficie, non sarà possibile, in AutoCAD, usare il comando NASCONDI. Pertanto è utile, prima di creare il file DXF contenente le entità dell'Oggetto, attivare il comando VISTAD, usando lo stesso punto di Mira e di Vista che sarà poi usato per il rendering finale; eseguire quindi il comando NASCONDI ed infine attivare il comando DXFOUT, seguito dall'opzione E (per entità) alla quale si risponderà selezionando le facce in vista. Le facce nascoste rispetto a quel punto di Vista e a quella direzione di vista saranno pertanto escluse dal file DXF, anche se resteranno visibili le facce nascoste solo parzialmente.

È importante che anche la superficie che conterrà l'anamorfosi sia sufficientemente estesa, in modo da poter intercettare tutte le rette riflesse dallo Specchio: in caso contrario (se non vi è alcuna intersezione tra le facce di questa superficie e le rette riflesse) verranno mantenute le coordinate originarie del punto e l'utente verrà avvertito con il messaggio: "NNN punti non proiettati".

È infine da notare che verranno evidentemente trasformate solo le coordinate dei punti che definiscono gli oggetti, indipendentemente dalla forma e dalla giacitura delle superfici (sia dello Specchio, sia dell’anamorfosi). In altre parole, se la superficie dello Specchio o del piano anamorfotico è curva, con ogni probabilità un segmento rettilineo dell’oggetto sarà raccolto sulla superficie dell’anamorfosi come curvo e non rettilineo. Ma il programma KIRCHER, trasformando solo le coordinate del punto iniziale e di quello finale e mantenendo invariata la topologia (l’indicazione di "segmento definito tra due punti") produrrà inevitabilmente un segmento e non una curva, come dovrebbe essere.

Per definire correttamente le deformazioni subite da un oggetto, nel caso di superfici curve dello Specchio o del piano anamorfotico, è pertanto necessario suddividere le entità iniziali in sub-entità: maggiore sarà la suddivisone, più accurato sarà anche il risultato finale.

Il programma Cartesio è in grado (comando Triangolazione, menu Trasformazioni) di generare automaticamente, solo per facce3D, sub-entità di dimensione variabile.
Esempio di anamorfosi speculare ottenuta con specchio piano e superficie dell'anamorfosi anch'essa piana.

Esempio di anamorfosi speculare ottenuta con specchio conico e superficie piana dell’anamorfosi (da notare che, in questo caso, la trasformazione ha riguardato tutte le facce degli oggetti e non solo quelle visbili dal PV). Da notare anche che i segmenti rettilinei degli oggetti rimangono tali nella trasformazione.

Per una analisi approfondita ed un'ampia bibliografia sulle anamorfosi speculari si veda:


Visitatori dal 02/05/2000 


Per inviare messaggi:

Come ha trovato la pagina dedicata al programma KIRCHER?


Usi questo spazio per suggerimenti e miglioramenti del programma KIRCHER:


Se ha una pagina WEB, qual'è la sua URL?


Il suo nome?


La sua Email?




Homepage Camillo Trevisan  
Homepage Istituto Universitario di Architettura di Venezia (IUAV)
Homepage Dipartimento di Progettazione Architettonica IUAV