diff --git a/2014-03-21/images/Thumbs.db b/2014-03-21/images/Thumbs.db new file mode 100644 index 0000000..b03caf6 Binary files /dev/null and b/2014-03-21/images/Thumbs.db differ diff --git a/2014-03-21/python/exercise1.py b/2014-03-21/python/exercise1.py index ec9810a..8f26a38 100644 --- a/2014-03-21/python/exercise1.py +++ b/2014-03-21/python/exercise1.py @@ -9,7 +9,7 @@ quadrati_orizzontali=STRUCT([quadrato,T(1)(2.5)]*3+[T(1)(12),quadrato]+[T(1)(2.5),quadrato]*2) quadrati_verticali=STRUCT([quadrati_orizzontali,T(2)(2.5)]*3+[T(2)(12),quadrati_orizzontali]+[T(2)(2.5),quadrati_orizzontali]*2) -#creo i quadrati bianchi +#creo i quadrati bianchi quadrato_bianco=T([1,2,3])([10.5,1.5,0.1])(PROD([Q(3.5),Q(3.5)])); quadrati_bianchi_orizzontali=STRUCT([quadrato_bianco,T(1)(19.5)]*2) quadrati_bianchi_verticali=STRUCT([quadrati_bianchi_orizzontali,T(2)(19.5)]*2) diff --git a/2014-03-21/python/exercise4.py b/2014-03-21/python/exercise4.py index f7948dd..6a875dd 100644 --- a/2014-03-21/python/exercise4.py +++ b/2014-03-21/python/exercise4.py @@ -2,7 +2,7 @@ col=Color4f([(0.78),(0.04),(0.084)]) -####################### ES 4 ################### +####################### ES 4 ################### #SCALA def creaRampa (lung) : @@ -23,21 +23,6 @@ def creaBaseSupporto (lung): ########################### - - - - - - - - - - - - - -#################### - colonna_rossa3D=COLOR(col)(INSR(PROD)([Q(1.5),Q(10),Q(1.5)])) colonne_orizz_rosse3D=STRUCT([colonna_rossa3D,T(1)(2.5)]*3+[T(1)(12),colonna_rossa3D]+[T(1)(2.5),colonna_rossa3D]*2) colonne_vertic_rosse3D=T([1,3])([9,9])(STRUCT([colonne_orizz_rosse3D,T(3)(2.5)]*3+[T(3)(13),colonne_orizz_rosse3D]+[T(3)(2.5),colonne_orizz_rosse3D]*2)) diff --git a/2014-04-11/images/1379660848030.jpg b/2014-04-11/images/1379660848030.jpg new file mode 100644 index 0000000..382ba1b Binary files /dev/null and b/2014-04-11/images/1379660848030.jpg differ diff --git a/2014-04-11/images/20100501_lego_chinapavilion01es.jpg b/2014-04-11/images/20100501_lego_chinapavilion01es.jpg new file mode 100644 index 0000000..e056269 Binary files /dev/null and b/2014-04-11/images/20100501_lego_chinapavilion01es.jpg differ diff --git a/2014-04-11/images/416040.jpg b/2014-04-11/images/416040.jpg new file mode 100644 index 0000000..96a2fc6 Binary files /dev/null and b/2014-04-11/images/416040.jpg differ diff --git a/2014-04-11/images/Screenshot 2014-04-11 23.01.59.png b/2014-04-11/images/Screenshot 2014-04-11 23.01.59.png new file mode 100644 index 0000000..baec79d Binary files /dev/null and b/2014-04-11/images/Screenshot 2014-04-11 23.01.59.png differ diff --git a/2014-04-11/images/Screenshot 2014-04-11 23.02.07.png b/2014-04-11/images/Screenshot 2014-04-11 23.02.07.png new file mode 100644 index 0000000..3e87627 Binary files /dev/null and b/2014-04-11/images/Screenshot 2014-04-11 23.02.07.png differ diff --git a/2014-04-11/images/Screenshot 2014-04-12 00.12.08.png b/2014-04-11/images/Screenshot 2014-04-12 00.12.08.png new file mode 100644 index 0000000..f7e88a8 Binary files /dev/null and b/2014-04-11/images/Screenshot 2014-04-12 00.12.08.png differ diff --git a/2014-04-11/images/Screenshot 2014-04-12 00.12.27.png b/2014-04-11/images/Screenshot 2014-04-12 00.12.27.png new file mode 100644 index 0000000..b8f0f5b Binary files /dev/null and b/2014-04-11/images/Screenshot 2014-04-12 00.12.27.png differ diff --git a/2014-04-11/images/Screenshot 2014-04-12 08.25.46.png b/2014-04-11/images/Screenshot 2014-04-12 08.25.46.png new file mode 100644 index 0000000..b3ee329 Binary files /dev/null and b/2014-04-11/images/Screenshot 2014-04-12 08.25.46.png differ diff --git a/2014-04-11/images/china_pavilion_shanghai_world_expo_shanghai_china.jpg b/2014-04-11/images/china_pavilion_shanghai_world_expo_shanghai_china.jpg new file mode 100644 index 0000000..44090a6 Binary files /dev/null and b/2014-04-11/images/china_pavilion_shanghai_world_expo_shanghai_china.jpg differ diff --git a/2014-04-11/index.html b/2014-04-11/index.html index e69de29..1a94206 100644 --- a/2014-04-11/index.html +++ b/2014-04-11/index.html @@ -0,0 +1,38 @@ + + +Homework1 - China pavilion Expo 2010 + + + +
+

Nome: Michele

+

Cognome: D'Antimi

+

Matricola: 442995

+
+

Documentazione ed immagini

+
+ +
+

+ +

Link agli esercizi

+
+ +
  • Exercise 1
  • +
  • Exercise 2
  • +
  • Exercise 3
  • +
  • Exercise 4
  • + + + \ No newline at end of file diff --git a/2014-04-11/python/exercise1.py b/2014-04-11/python/exercise1.py index e69de29..5c9e308 100644 --- a/2014-04-11/python/exercise1.py +++ b/2014-04-11/python/exercise1.py @@ -0,0 +1,127 @@ +from pyplasm import * +from larcc import * + +col=Color4f([(0.78),(0.04),(0.084)]) +green=Color4f([(0.133),(0.545),(0.133)]) + + +##################################################################################################################### + +def creaRampa (lung,q=30) : + grad2d = MKPOL([[[0,0],[0,0.2],[0.2,0.2]],[[1,2,3]],None]) + grad3d = MAP([S1,S3,S2])(PROD([grad2d,Q(q)])) + rampa=STRUCT([grad3d,T([1,3])([0.2,0.2])]*lung) + return rampa + +def creaBaseSupporto (lung,q=30): + supp2d = MKPOL([[[0,0],[0.2*lung,0],[0.2*lung,0.2*lung]],[[1,2,3]],None]) + supp3d = MAP([S1,S3,S2])(PROD([supp2d,Q(q)])) + return supp3d + + + +######################################################################################################################################################## +#creo dei giardini sul tetto della costruzione + + +giardino_supporto=COLOR(green)(MKPOL([[[35,0,5,],[85,0,5],[85,0,75],[35,0,75]],[[1,2,3,4]],None])) +giardino_supporto2=COLOR(green)(MKPOL([[[55,0,55],[55,0,75],[5,0,75],[5,0,55]],[[1,2,3,4]],None])) +giardino_supporto3=COLOR(green)(MKPOL([[[5,0,125,],[5,0,145],[95,0,125],[95,0,155]],[[1,2,3,4]],None])) +giardino_supporto4=T(2)(0.1)(COLOR(green)(MKPOL([[[95,0,125,],[35,0,195],[35,0,125],[95,0,195]],[[1,2,3,4]],None]))) +giardino_supporto5=COLOR(green)(MKPOL([[[115,0,5,],[190,0,5],[145,0,65],[115,0,75]],[[1,2,3,4]],None])) +giardino_supporto6=COLOR(green)(MKPOL([[[120,0,125,],[185,0,145],[194,0,125],[120,0,155]],[[1,2,3,4]],None])) +giardino_1=T(2)(0.1)(STRUCT([giardino_supporto,giardino_supporto2, giardino_supporto3, giardino_supporto4, giardino_supporto5, giardino_supporto6])) + +######################################################################################################################################################## + +#creao la strada che porta alla costruzione + +strada=T([1,2,3])([10,0.1,80])(CUBOID([170,0.1,30])) +strada_bordo_1=COLOR(BLACK)(T([1,2,3])([10,0.3,80])(CUBOID([170,0.1,5]))) +strada_bordo_2=T(3)(25)(strada_bordo_1) + +######################################################################################################################################################### + +colonna_rossa3D=COLOR(col)(INSR(PROD)([Q(1.5),Q(10),Q(1.5)])) +colonne_orizz_rosse3D=STRUCT([colonna_rossa3D,T(1)(2.5)]*3+[T(1)(12),colonna_rossa3D]+[T(1)(2.5),colonna_rossa3D]*2) +colonne_vertic_rosse3D=T([1,3])([9,9])(STRUCT([colonne_orizz_rosse3D,T(3)(2.5)]*3+[T(3)(13),colonne_orizz_rosse3D]+[T(3)(2.5),colonne_orizz_rosse3D]*2)) + +finestra3D=T(3)(9)(COLOR(BLACK)(INSR(PROD)([Q(3.5),Q(10),Q(3.5)]))) +finestre_orizz_3D=T([1,3])([10.5,1.5])(STRUCT([finestra3D,T(1)(19.5)]*2)) +finestre_vertic_3D=STRUCT([finestre_orizz_3D,T(3)(20.5)]*2) + + +colonna_primo_livello3D=COLOR(col)(T([1,2,3])([7.5,10,9])(INSR(PROD)([Q(29),Q(1.5),Q(1.5)]))) +colonne_primo_livello3D=STRUCT([colonna_primo_livello3D,T(3)(2.5)]*3+[T(3)(13),colonna_primo_livello3D]+[T(3)(2.5),colonna_primo_livello3D]*2) + +colonne_sec_livello3D=T(2)(1.5)(colonne_primo_livello3D) +colonne_sec_livello3D=COLOR(col)(MAP([S3,S2,S1])(colonne_sec_livello3D)) + +colonna_ter_livello3D=COLOR(col)(T([1,2,3])([6,13,6.5])(INSR(PROD)([Q(33),Q(1.5),Q(1.5)]))) +colonne_ter_livello3D=T(3)(2)(STRUCT([colonna_ter_livello3D,T(3)(2.5)]*3+[T(3)(3.5),colonna_ter_livello3D]+[T(3)(3.5),colonna_ter_livello3D]*4)) +colonne_quar_livello3D=T([2,3])([1.5,-1])(colonne_ter_livello3D) +colonne_quar_livello3D=COLOR(col)(MAP([S3,S2,S1])(colonne_quar_livello3D)) + +colonna_quin_livello3D=COLOR(col)(T([1,2,3])([4.5,16,4.5])(INSR(PROD)([Q(37),Q(1.5),Q(1.5)]))) +colonne_quin_livello3D=T(3)(3)(STRUCT([colonna_quin_livello3D,T(3)(2.5)]*5+[T(3)(5.5),colonna_quin_livello3D]+[T(3)(3.5),colonna_quin_livello3D]*3)) +colonne_ses_livello3D=T([2,3])([1.5,-1])(colonne_quin_livello3D) +colonne_ses_livello3D=COLOR(col)(T(1)(2)(MAP([S3,S2,S1])(colonne_ses_livello3D))) + +colonna_sett_livello3D=COLOR(col)(T([1,2,3])([4,19,3])(INSR(PROD)([Q(39),Q(1.5),Q(1.5)]))) +colonne_sett_livello3D=T(3)(3)(STRUCT([colonna_sett_livello3D,T(3)(2.5)]*4+[T(3)(5.5),colonna_sett_livello3D]+[T(3)(3.5),colonna_sett_livello3D]*5)) +colonne_ott_livello3D=T([2,3])([1.5,-1])(colonne_sett_livello3D) +colonne_ott_livello3D=COLOR(col)(T(1)(3)(MAP([S3,S2,S1])(colonne_ott_livello3D))) + +colonna_nono_livello3D=COLOR(col)(T([1,2,3])([1.5,22,2])(INSR(PROD)([Q(43),Q(1.5),Q(1.5)]))) +colonne_nono_livello3D=T(3)(2)(STRUCT([colonna_nono_livello3D,T(3)(2.5)]*5+[T(3)(5.5),colonna_nono_livello3D]+[T(3)(3.5),colonna_nono_livello3D]*5)) + +colonne_decimo_livello3D=T([2,3])([1.5,-1])(colonne_nono_livello3D) +colonne_decimo_livello3D=COLOR(col)(T(1)(3)(MAP([S3,S2,S1])(colonne_decimo_livello3D))) + +#creo gli oggetti sul tetto + +tetto=COLOR(col) (T([1,2,3])([1.5,25,1.5])(INSR(PROD)([Q(43),Q(1),Q(43)]))) +pianale= T([1,2,3])([1.5,25,1.5])(INSR(PROD)([Q(43),Q(1.3),Q(43)])) +prato= COLOR(GRAY)(T([1,2,3])([3,25,3])(INSR(PROD)([Q(40),Q(1.5),Q(40)]))) + +#edificio sul tetto senza le porte +edificio_alto_senza_porte=PROD([Q(8),Q(4)]) +edificio_alto_senza_porte_uno=T([1,2])([10.5,26.5])(COLOR(col)(edificio_alto_senza_porte)) +edificio_alto_senza_porte_due=T([1,2])([25.5,26.5])(COLOR(col)(edificio_alto_senza_porte)) +tetto_edificio=T([1,2])([10,30.5])(COLOR(col)(PROD([Q(24),Q(1)]))) +ed=STRUCT([edificio_alto_senza_porte_uno,edificio_alto_senza_porte_due,tetto_edificio]) + +#creo i due edifici sul tetto con il rispettivo tetto +edificio=COLOR(col)(T(3)(12)(PROD([ed,Q(8)]))) +edificio2=COLOR(col)(T(3)(26)(PROD([ed,Q(8)]))) +tetto_edificio3D=T([1,3])([-1,45])(R([3,1])(PI/2)(COLOR(col)(T(3)(26)(PROD([tetto_edificio,Q(9)]))))) +tetto_edificio3D_2=T(1)(-15)(tetto_edificio3D) + + +percorso_tetto=T([1,2,3])([11,32,13.5])(CUBOID([7,0.1,19])) +percorso_tetto_2=T([1,2])([15,-0.4])(percorso_tetto) +percorso_tetto_3=T([1,2,3])([11,32,12.6])(CUBOID([22,0.1,7])) +percorso_tetto_4=T(3)(14)(percorso_tetto_3) +percorsi_tetto=T(2)(-0.3)(INSR(STRUCT)([percorso_tetto,percorso_tetto_2,percorso_tetto_3,percorso_tetto_4])) + +giardino_tetto1=COLOR(green)(T([1,2,3])([11,26.6,3.3])(CUBOID([7,0.1,39.3]))) +giardino_tetto_2=T(1)(15)(giardino_tetto1) +giardino_tetto_3=COLOR(green)(T([1,2,3])([3.3,26.6,12.6])(CUBOID([39.3,0.1,7]))) +giardino_tetto_4=T(3)(14)(giardino_tetto_3) + +giardino_tetto=INSR(STRUCT)([giardino_tetto1,giardino_tetto_2,giardino_tetto_3, giardino_tetto_4]) + +####################################################################################################################################################### +#Crea il supporto della costruzione + +supp=creaRampa(50,50) +ramp=creaBaseSupporto(50,50) +scala= COLOR(GRAY)(T([1,2,3])([-3,-10,-2.5])(MAP([S1,S3,S2])(STRUCT([supp,ramp])))) +supporto=COLOR(GRAY)(T([1,2,3])([7,-10,-2.5])(CUBOID([30.5,10,50]))) + + +#################################################################################################################################################### + +china_pavillion=T([1,2,3])([150,10,75])(INSR(STRUCT)([ percorsi_tetto,percorso_tetto_2, scala,supporto, giardino_tetto, tetto_edificio3D,tetto_edificio3D_2,prato,pianale,edificio,edificio2,tetto,colonne_decimo_livello3D,colonne_nono_livello3D,colonne_ott_livello3D,colonne_sett_livello3D,colonne_ses_livello3D,colonne_quin_livello3D,colonne_quar_livello3D,colonne_ter_livello3D,colonne_sec_livello3D, colonne_primo_livello3D ,finestre_vertic_3D,colonne_vertic_rosse3D])) + +VIEW(china_pavillion) diff --git a/2014-04-11/python/exercise2.py b/2014-04-11/python/exercise2.py new file mode 100644 index 0000000..5c87d97 --- /dev/null +++ b/2014-04-11/python/exercise2.py @@ -0,0 +1,178 @@ +from pyplasm import * +from larcc import * + +col=Color4f([(0.78),(0.04),(0.084)]) +green=Color4f([(0.133),(0.545),(0.133)]) + + +##################################################################################################################### + +def creaRampa (lung,q=30) : + grad2d = MKPOL([[[0,0],[0,0.2],[0.2,0.2]],[[1,2,3]],None]) + grad3d = MAP([S1,S3,S2])(PROD([grad2d,Q(q)])) + rampa=STRUCT([grad3d,T([1,3])([0.2,0.2])]*lung) + return rampa + +def creaBaseSupporto (lung,q=30): + supp2d = MKPOL([[[0,0],[0.2*lung,0],[0.2*lung,0.2*lung]],[[1,2,3]],None]) + supp3d = MAP([S1,S3,S2])(PROD([supp2d,Q(q)])) + return supp3d + + +def larRing1(params): + r1,r2 =params + def larRing0(shape=[36,1]): + V,CV =larIntervals (shape)([PI,r2-r1]) + V=translatePoints(V,[0,r1]) + domain=V,CV + x=lambda V : [p[1] * COS(p[0]) for p in V] + y=lambda V : [p[1] * SIN(p[0]) for p in V] + return larMap([x,y])(domain) + return larRing0 + + +def larDisk1(radius=1): + def larDisk0(shape=[36,1]): + domain=larIntervals(shape)([PI,radius]) + V,CV=domain + x=lambda V : [p[1]*COS(p[0]) for p in V] + y=lambda V : [p[1]*SIN(p[0]) for p in V] + return larMap([x,y]) (domain) + return larDisk0 + +######################################################################################################################################################### +#Creo l'entrata + +ring=checkModel(larDisk1(15)([25,1])) +ring_2=checkModel(larDisk1(12)([25,1])) +ring_3=checkModel(larDisk1(5)([25,1])) +ring=STRUCT(MKPOLS(ring)) +ring_2=STRUCT(MKPOLS(ring_2)) +ring_3=STRUCT(MKPOLS(ring_3)) +ring_3D=COLOR(col)(T([1,2])([3,20])(R([1,3])(PI/2)(PROD([ring,Q(4)])))) +ring_3D_2=T([1,2])([-1.5,20])(R([1,3])(PI/2)(PROD([ring_2,Q(0.1)]))) +ring_3D_3=COLOR(BLACK)(T([1,2])([-2,20])(R([1,3])(PI/2)(PROD([ring_3,Q(0.1)])))) +colonna_1=COLOR(col)(T(3)(-15)(CUBOID([3,20,3]))) +colonna_2=COLOR(col)(T(3)(12)(CUBOID([3,20,3]))) +entrata=T([1,3])([10.2,95.3])(STRUCT([ring_3D,ring_3D_2,ring_3D_3, colonna_1,colonna_2])) + +#VIEW(entrata) + + +######################################################################################################################################################## +#creo dei giardini sul tetto della costruzione + + +giardino_supporto=COLOR(green)(MKPOL([[[35,0,5,],[85,0,5],[85,0,75],[35,0,75]],[[1,2,3,4]],None])) +giardino_supporto2=COLOR(green)(MKPOL([[[55,0,55],[55,0,75],[5,0,75],[5,0,55]],[[1,2,3,4]],None])) +giardino_supporto3=COLOR(green)(MKPOL([[[5,0,125,],[5,0,145],[95,0,125],[95,0,155]],[[1,2,3,4]],None])) +giardino_supporto4=T(2)(0.1)(COLOR(green)(MKPOL([[[95,0,125,],[35,0,195],[35,0,125],[95,0,195]],[[1,2,3,4]],None]))) +giardino_supporto5=COLOR(green)(MKPOL([[[115,0,5,],[190,0,5],[145,0,65],[115,0,75]],[[1,2,3,4]],None])) +giardino_supporto6=COLOR(green)(MKPOL([[[120,0,125,],[185,0,145],[194,0,125],[120,0,155]],[[1,2,3,4]],None])) +giardino_1=T(2)(0.1)(STRUCT([giardino_supporto,giardino_supporto2, giardino_supporto3, giardino_supporto4, giardino_supporto5, giardino_supporto6])) + +######################################################################################################################################################## + +#creao la strada che porta alla costruzione + +strada=T([1,2,3])([10,0.1,80])(CUBOID([170,0.1,30])) +strada_bordo_1=COLOR(BLACK)(T([1,2,3])([10,0.3,80])(CUBOID([170,0.1,5]))) +strada_bordo_2=T(3)(25)(strada_bordo_1) + +######################################################################################################################################################### + +colonna_rossa3D=COLOR(col)(INSR(PROD)([Q(1.5),Q(10),Q(1.5)])) +colonne_orizz_rosse3D=STRUCT([colonna_rossa3D,T(1)(2.5)]*3+[T(1)(12),colonna_rossa3D]+[T(1)(2.5),colonna_rossa3D]*2) +colonne_vertic_rosse3D=T([1,3])([9,9])(STRUCT([colonne_orizz_rosse3D,T(3)(2.5)]*3+[T(3)(13),colonne_orizz_rosse3D]+[T(3)(2.5),colonne_orizz_rosse3D]*2)) + +finestra3D=T(3)(9)(COLOR(BLACK)(INSR(PROD)([Q(3.5),Q(10),Q(3.5)]))) +finestre_orizz_3D=T([1,3])([10.5,1.5])(STRUCT([finestra3D,T(1)(19.5)]*2)) +finestre_vertic_3D=STRUCT([finestre_orizz_3D,T(3)(20.5)]*2) + + +colonna_primo_livello3D=COLOR(col)(T([1,2,3])([7.5,10,9])(INSR(PROD)([Q(29),Q(1.5),Q(1.5)]))) +colonne_primo_livello3D=STRUCT([colonna_primo_livello3D,T(3)(2.5)]*3+[T(3)(13),colonna_primo_livello3D]+[T(3)(2.5),colonna_primo_livello3D]*2) + +colonne_sec_livello3D=T(2)(1.5)(colonne_primo_livello3D) +colonne_sec_livello3D=COLOR(col)(MAP([S3,S2,S1])(colonne_sec_livello3D)) + +colonna_ter_livello3D=COLOR(col)(T([1,2,3])([6,13,6.5])(INSR(PROD)([Q(33),Q(1.5),Q(1.5)]))) +colonne_ter_livello3D=T(3)(2)(STRUCT([colonna_ter_livello3D,T(3)(2.5)]*3+[T(3)(3.5),colonna_ter_livello3D]+[T(3)(3.5),colonna_ter_livello3D]*4)) +colonne_quar_livello3D=T([2,3])([1.5,-1])(colonne_ter_livello3D) +colonne_quar_livello3D=COLOR(col)(MAP([S3,S2,S1])(colonne_quar_livello3D)) + +colonna_quin_livello3D=COLOR(col)(T([1,2,3])([4.5,16,4.5])(INSR(PROD)([Q(37),Q(1.5),Q(1.5)]))) +colonne_quin_livello3D=T(3)(3)(STRUCT([colonna_quin_livello3D,T(3)(2.5)]*5+[T(3)(5.5),colonna_quin_livello3D]+[T(3)(3.5),colonna_quin_livello3D]*3)) +colonne_ses_livello3D=T([2,3])([1.5,-1])(colonne_quin_livello3D) +colonne_ses_livello3D=COLOR(col)(T(1)(2)(MAP([S3,S2,S1])(colonne_ses_livello3D))) + +colonna_sett_livello3D=COLOR(col)(T([1,2,3])([4,19,3])(INSR(PROD)([Q(39),Q(1.5),Q(1.5)]))) +colonne_sett_livello3D=T(3)(3)(STRUCT([colonna_sett_livello3D,T(3)(2.5)]*4+[T(3)(5.5),colonna_sett_livello3D]+[T(3)(3.5),colonna_sett_livello3D]*5)) +colonne_ott_livello3D=T([2,3])([1.5,-1])(colonne_sett_livello3D) +colonne_ott_livello3D=COLOR(col)(T(1)(3)(MAP([S3,S2,S1])(colonne_ott_livello3D))) + +colonna_nono_livello3D=COLOR(col)(T([1,2,3])([1.5,22,2])(INSR(PROD)([Q(43),Q(1.5),Q(1.5)]))) +colonne_nono_livello3D=T(3)(2)(STRUCT([colonna_nono_livello3D,T(3)(2.5)]*5+[T(3)(5.5),colonna_nono_livello3D]+[T(3)(3.5),colonna_nono_livello3D]*5)) + +colonne_decimo_livello3D=T([2,3])([1.5,-1])(colonne_nono_livello3D) +colonne_decimo_livello3D=COLOR(col)(T(1)(3)(MAP([S3,S2,S1])(colonne_decimo_livello3D))) + +#creo gli oggetti sul tetto + +tetto=COLOR(col) (T([1,2,3])([1.5,25,1.5])(INSR(PROD)([Q(43),Q(1),Q(43)]))) +pianale= T([1,2,3])([1.5,25,1.5])(INSR(PROD)([Q(43),Q(1.3),Q(43)])) +prato= COLOR(GRAY)(T([1,2,3])([3,25,3])(INSR(PROD)([Q(40),Q(1.5),Q(40)]))) + +edificio_alto_senza_porte=PROD([Q(8),Q(4)]) +porta=PROD([Q(1),Q(2)]) +edificio_alto_con_porte_uno=T([1,2])([10.5,26.5])(COLOR(col)(DIFFERENCE([edificio_alto_senza_porte,T(1)(2)(porta),T(1)(5)(porta)]))) +edificio_alto_con_porte_due=T([1,2])([25.5,26.5])(COLOR(col)(DIFFERENCE([edificio_alto_senza_porte,T(1)(2)(porta),T(1)(5)(porta)]))) +tetto_edificio=T([1,2])([10,30.5])(COLOR(col)(PROD([Q(24),Q(1)]))) +ed=STRUCT([edificio_alto_con_porte_uno,edificio_alto_con_porte_due,tetto_edificio]) + +#creo i due edifici sul tetto con il rispettivo tetto +edificio=COLOR(col)(T(3)(12)(PROD([ed,Q(8)]))) +edificio2=COLOR(col)(T(3)(26)(PROD([ed,Q(8)]))) +tetto_edificio3D=T([1,3])([-1,45])(R([3,1])(PI/2)(COLOR(col)(T(3)(26)(PROD([tetto_edificio,Q(9)]))))) +tetto_edificio3D_2=T(1)(-15)(tetto_edificio3D) + + +percorso_tetto=T([1,2,3])([11,32,13.5])(CUBOID([7,0.1,19])) +percorso_tetto_2=T(1)(15)(percorso_tetto) + +percorso_tetto_3=T([1,2,3])([11,32,12.6])(CUBOID([22,0.1,7])) +percorso_tetto_4=T(3)(14)(percorso_tetto_3) + +mura_tetto_edificio_1=COLOR(col)(T([1,2,3])([11,32,12.5])(CUBOID([0.3,2,21.1]))) +mura_tetto_edificio_2=COLOR(col)(T([1,2,3])([18,32,12.5])(CUBOID([0.3,2,21.1]))) +mura_tetto_edificio_3=COLOR(col)(T([1,2,3])([26,32,12.5])(CUBOID([0.3,2,21.1]))) +mura_tetto_edificio_4=COLOR(col)(T([1,2,3])([33,32,12.5])(CUBOID([0.3,2,21.1]))) +mura_tetto_edificio_5=COLOR(col)(T([1,2,3])([11,32.1,12.5])(CUBOID([22,2,0.3]))) +mura_tetto_edificio_6=T(3)(7)(mura_tetto_edificio_5) +mura_tetto_edificio_7=T(3)(7)(mura_tetto_edificio_6) +mura_tetto_edificio_8=T(3)(7)(mura_tetto_edificio_7) +mura_tetto_edificio=T(2)(-0.5)(INSR(STRUCT)([ percorso_tetto_4, percorso_tetto_3, percorso_tetto_2, percorso_tetto, mura_tetto_edificio_8, mura_tetto_edificio_7, mura_tetto_edificio_6, mura_tetto_edificio_1,mura_tetto_edificio_2, mura_tetto_edificio_3,mura_tetto_edificio_4, mura_tetto_edificio_5])) + +giardino_tetto1=COLOR(green)(T([1,2,3])([11,26.6,3.3])(CUBOID([7,0.1,39.3]))) +giardino_tetto_2=T(1)(15)(giardino_tetto1) +giardino_tetto_3=COLOR(green)(T([1,2,3])([3.3,26.6,12.6])(CUBOID([39.3,0.1,7]))) +giardino_tetto_4=T(3)(14)(giardino_tetto_3) + +giardino_tetto=INSR(STRUCT)([giardino_tetto1,giardino_tetto_2,giardino_tetto_3, giardino_tetto_4]) + +####################################################################################################################################################### +#Crea il supporto della costruzione + +supp=creaRampa(50,50) +ramp=creaBaseSupporto(50,50) +scala= COLOR(GRAY)(T([1,2,3])([-3,-10,-2.5])(MAP([S1,S3,S2])(STRUCT([supp,ramp])))) +supporto=COLOR(GRAY)(T([1,2,3])([7,-10,-2.5])(CUBOID([30.5,10,50]))) +entrata=T([1,2,3])([-60,-10,-73])(entrata) +base_supp=COLOR(GRAY)(T([1,2,3])([-60,-10,-2.5])(CUBOID([70,0.1,50]))) + +#################################################################################################################################################### + +china_pavillion=T([1,2,3])([150,10,75])(INSR(STRUCT)([base_supp,entrata, scala,supporto, giardino_tetto, mura_tetto_edificio, tetto_edificio3D,tetto_edificio3D_2,prato,pianale,edificio,edificio2,tetto,colonne_decimo_livello3D,colonne_nono_livello3D,colonne_ott_livello3D,colonne_sett_livello3D,colonne_ses_livello3D,colonne_quin_livello3D,colonne_quar_livello3D,colonne_ter_livello3D,colonne_sec_livello3D, colonne_primo_livello3D ,finestre_vertic_3D,colonne_vertic_rosse3D])) + + +VIEW(china_pavillion)