HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: PGON con fori 4  (Letto 1938 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

marcomasetti

  • Newbie
    ...sono qui da poco, il mio miglior amico è il pulsante RICERCA
  • *
  • Post: 183
PGON con fori 4
« il: 27 Luglio 2012, 20:20 »
Per complicare ulteriormente le cose, ho realizzato un esercizio dove ogni piano presenta due gruppi di finestre.  Ogni gruppo presenta proprie dimensioni e proprie distanze in orizzontale,  mentre in verticale le distanze tra i piani sono costanti.   Per costruire questi oggetti occorre scrivere in forma parametrica le distanze, poi ragionare sulla forma in cui si esprime la variabile relativa alla simmetria seriale dei gruppi.  Naturalmente non sempre si indovina al primo colpo, ma il tipo di groviglio che appare sul computer ci aiuta a scoprire dove abbiamo commesso l’errore.   Con pazienza e tenacia appare poi la figura nel suo ordine, come l’abbiamo immaginato.  E’ di fondamentale importanza disegnare schizzi con le variabili espresse in lettere, utilizzando valori bassi delle costanti che definiscono il numero di oggetti.  La soddisfazione consiste nel verificare che il calcolatore traduce in immagini il nostro pensiero, ma non ammette errori, nemmeno di un segno.  In questo caso le misure sono riferite ai centri delle finestre.
Da notare che la simmetria seriale in orizzontale segue il valore: w*(2*L3+(n-1)*L4+(m-1)*L2)

!inizio script per EXTRUDE
La=  !larghezza fori 1 (alternati esterni)
Lb=  !altezza   fori 1
Lx=  !largh, fori 2 (alternati interni)
Ly=  !altezza   fori 2
L1=  !distanza bordo a centro foro estremo
L2=  !interasse fori 1 (ai lati)
L3=  !interasse tra gruppo fori 1 e fori 2
L4=  !interasse fori 2
h1=  !quota centro primo piano fori
h2=  !interasse verticale fori
h3=  !altezza da quota ultimo centro fori a top > MAX (Lb,Ly)
m=   !numero fori 1 (alternati esterni) per gruppo per piano
n=   !numero fori 2 (alternati interni) per gruppo per piano
k=   !numero gruppi fori (fori totali=k*(m+n)+m) per piano
o=   !numero piani
dz=  !apri percorso del valore dz
L=2*L1+(m-1)*L2+k*(2*L3+(m-1)*L2+(n-1)*L4)  !lunghezza totale parete
h=(o-1)*h2+h1+h3                                                    !altezza totale parete

PUT 0, 0 , 0
PUT L, 0 , 0
PUT L, h , 0
PUT 0, h , 0
PUT 0, 0 ,-1
!fine contorno esterno

for j=0 to o-1
for w=0 to k
for i=0 to m-1
xc=L1+i*L2+w*(2*L3+(n-1)*L4+(m-1)*L2)
yc=h1+j*h2
PUT xc-La/2,yc-Lb/2,0
PUT xc-La/2,yc+Lb/2,0
PUT xc+La/2,yc+Lb/2,0
PUT xc+La/2,yc-Lb/2,0
PUT xc-La/2,yc-Lb/2,-1 !chiusura finestra tipo 1
next i
next w
for w=0 to k-1
for i=0 to n-1
xc=L1+(m-1)*L2+L3+i*L4+w*(2*L3+(n-1)*L4+(m-1)*L2)
yc=h1+j*h2
PUT xc-Lx/2,yc-Ly/2,0
PUT xc-Lx/2,yc+Ly/2,0
PUT xc+Lx/2,yc+Ly/2,0
PUT xc+Lx/2,yc-Ly/2,0
PUT xc-Lx/2,yc-Ly/2,-1 !chiusura finestra tipo 2
next i
next w
next j

EXTRUDE nsp/3, 0, 0, s, 55, get (nsp)

Più complesso è scrivere il percorso di un grafo che attraversi tutti punti, in analogia con l’esercizio precedente, presento una soluzione (le  variabili sono sempre le stesse):

BASE

VERT 0,0, 0
VERT L,0, 0

for j=0 to o-1

VERT L,h1-Lb/2+h2*j, 0

for w=0 to k-1

for i=0 to m-1
VERT L-L1+La/2-i*L2-w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L-L1-La/2-i*L2-w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
next i

for i=0 to n-1
VERT L-L1+Lx/2-(m-1)*L2-L3-i*L4-w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Ly/2+h2*j, 0
VERT L-L1-Lx/2-(m-1)*L2-L3-i*L4-w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Ly/2+h2*j, 0
next i

next w

for i=0 to m-1
VERT L+La/2-i*L2-L1-k*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L-La/2-i*L2-L1-k*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
next i


addy dy !permette di aprire il varco, per evidenziare il grafo
for w=0 to k-1 !linea superiore

for i=0 to m-2
VERT L1-La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L1-La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4)+L2,
h1-Lb/2+h2*j, 0
next i
i=m-1 !ultimo segmento è L3 invece di L2 e pertiene all’altro foro
VERT L1-La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L1-Lx/2+i*L2+w*(2*L3+(m-1)*L2+(n-1)*L4)+L3,
h1-Ly/2+h2*j, 0

for i=0 to n-2
VERT L1+(m-1)*L2+L3-Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3+Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3+Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3-Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4)+L4,
h1-Ly/2+h2*j, 0
next i
i=n-1 !ultimo segmento è L3 invece di L4 e pertiene all’altro foro
VERT L1+(m-1)*L2+L3-Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3+Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3+Lx/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Ly/2+h2*j, 0
VERT L1+(m-1)*L2+L3-La/2+L4*i+w*(2*L3+(m-1)*L2+(n-1)*L4)+L3,
h1-Lb/2+h2*j, 0

next w
for i=0 to m-2
VERT L1-La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L1-La/2+L2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
next i


i=m-1
VERT L1-La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1+Lb/2+h2*j, 0
VERT L1+La/2+i*L2+k*(2*L3+(m-1)*L2+(n-1)*L4),
h1-Lb/2+h2*j, 0
VERT L,h1-Lb/2+h2*j, 0
del 1
next j

VERT L,h+dy, 0
VERT 0,h+dy, 0 !tot=o*(6*nf+1)+4, dove nf=k*(m+n)+m=numero fori per piano
 
pen 21
for i=1 to o*(6*(k*(m+n)+m)+1)+3
EDGE i,i+1,-1,-1,0
next i
EDGE o*(6*(k*(m+n)+m)+1)+4,1,-1,-1,0

for i=1 to o*(6*(k*(m+n)+m)+1)+4 !fronte (top)
put i
next i
PGON nsp, 0, -1, get (nsp)

BODY -1

In teoria si potrebbero creare parecchi sottogruppi di finestre per ogni piano e pure organizzare i piani in ulteriori gruppi: il procedimento è lo stesso.  L’architettura utilizza spesso questo modo di organizzare gli elementi in gruppi e sottogruppi, un po’ come nella teoria dei frattali.   Funzionavano così anche le scenografie dei Bibiena, con celle spaziali inserite in altre celle.  Il calcolatore permette di suddividere e moltiplicare gli elementi, ma la complessità delle forme che ideavano architetti, scenografi e decoratori del passato non può essere tradotta in forme matematiche, con semplici equazioni.

Gli esercizi di riferimento sono:
rect nxm fori3.gsm
rect nxm fori3 _EXTRUDE.gsm
rect nxm fori3 _EXTRUDE2.gsm