View
54
Download
2
Category
Preview:
Citation preview
Western Garden Cities
Préservation de la végétation
Relevé des arbres remarquablesdes bosquets et des parterres végétaux.
implantation
Implantatio & événements
Optimisation de l’ensoleillement
Héliodon vue en plan masseCliquez sur l’image
Intégration des parkings en respectant la végétation Existante, entre les traces du bâti existant.
Permettre la circulation verticale vers les coursives.
Parking paysagé en limite ouest de la parcelle pour desservir le centre commerciale.
Les parkings
La récupération des gravats inertes de la démolition des bâtiments précédents participent, ainsi que les parkings, au travail du sol.
Ils modèlent le sol.
Un sol artificiel
Les logements
Les logements
configurations
!pr=N_ken=0.9
!..............matrice l[i][j] case libre =0nch=int(A/3.80)
DIM l[100][20]DIM o[100][20]DIM oc[100][20]DIM test[100][20]DIM dcm[100][20]DIM dcn[100][20]DIM MI[100][20]DIM mpb[100][20]DIM meps[100][20]DIM CI[100][20]
for i=1 to nchfor j=1 to net+1l[i][j]=0next jnext i!..............
!..............dÈbut profondeur de calcul5:ncm=ncm-1:if ncm=0 then goto 9000t=0uu=0tt=0for i=1 to nchfor j=1 to net+1test[i][j]=0next jnext i!..............
20:!.............. hi hj point de dÈpart de remplissagehi=int(rnd(nch))+1hj=int(rnd(net))+1
for i=1 to nchfor j=1 to net+1o[i][j]=0next jnext i
pad=1pag=1pavd=1pavg=1ncr=0if l[hi][hj]=1 thengoto 20else o[hi][hj]=1:ncr=ncr+1 !..............
!.............. nombre de case vide alentour=ll
25:if test[hi][hj]=1 then goto 20
ll=1v=0 : gosub 10000v=-1: gosub 10000v=1 : gosub 10000if ll<ncm thentest[hi][hj]=1tt=tt+1if tt>=nch*net then
goto 5goto 20endif!..............
for i=1 to nchfor j=1 to net+1mi[i][j]=0next jnext i
!.............. au dessus ou au dessousif hj=1 thenhv=1else
if hj=net+1 thenhv=-1else
if hj>2 and hj<net+2 then
if rnd(1)>0.5 thenhv=1else hv=-1endif
endifendif!..............
!...................................................................... reservation30:
if rnd(1)>0.5 then!.... si oui en horiz
if rnd(1)>0.5 then !....si oui ‡ droite 50: if hi+pad<=nch and ncr<ncm then
if l[hi+pad][hj]=0 then
if o[hi+pad][hj]=0 then
o[hi+pad][hj]=1
ncr=ncr+1
else pad=pad+1:goto 50endif
endifelse !.... ‡ gauche
60: if hi-pag>0 and ncr<ncm thenif l[hi-pag][hj]=0 then
if o[hi-pag][hj]=0 then
o[hi-pag][hj]=1
ncr=ncr+1
else pag=pag+1:goto 60endif
endifendif
else!.... en verticalif l[hi][hj+hv]=0 and ncr<ncm then
if o[hi][hj+hv]=0 theno[hi][hj+hv]=1ncr=ncr+1
elseif rnd(1)>0.5 then !....si oui ‡ droite70: if hi+pavd<=nch and ncr<ncm then
if l[hi+pavd][hj+hv]=0 then
if o[hi+pavd][hj+hv]=0 then
o[hi+pavd][hj+hv]=1
ncr=ncr+1
else pavd=pavd+1:goto 70endif
endifelse !.... ‡ gauche80: if hi-pavg>0 and ncr<ncm then
if l[hi-pavg][hj+hv]=0 then
if o[hi-pavg][hj+hv]=0 then
o[hi-pavg][hj+hv]=1
ncr=ncr+1
else pavg=pavg+1:goto 80endif
endifendif
endifendif
endift=t+1!......................................................................
!............................test de profondeur de calculif t>pr then
uu=uu+1if uu>pr then goto 5goto 20
endif!............................
Définition d’une matrice
GDL
!pr=N_ken=0.9
!..............matrice l[i][j] case libre =0nch=int(A/3.80)
DIM l[100][20]DIM o[100][20]DIM oc[100][20]DIM test[100][20]DIM dcm[100][20]DIM dcn[100][20]DIM MI[100][20]DIM mpb[100][20]DIM meps[100][20]DIM CI[100][20]
for i=1 to nchfor j=1 to net+1l[i][j]=0next jnext i!..............
!..............dÈbut profondeur de calcul5:ncm=ncm-1:if ncm=0 then goto 9000t=0uu=0tt=0for i=1 to nchfor j=1 to net+1test[i][j]=0next jnext i!..............
20:!.............. hi hj point de dÈpart de remplissagehi=int(rnd(nch))+1hj=int(rnd(net))+1
for i=1 to nchfor j=1 to net+1o[i][j]=0next jnext i
pad=1pag=1pavd=1pavg=1ncr=0if l[hi][hj]=1 thengoto 20else o[hi][hj]=1:ncr=ncr+1 !..............
!.............. nombre de case vide alentour=ll
25:if test[hi][hj]=1 then goto 20
ll=1v=0 : gosub 10000v=-1: gosub 10000v=1 : gosub 10000if ll<ncm thentest[hi][hj]=1tt=tt+1if tt>=nch*net then
goto 5goto 20endif!..............
for i=1 to nchfor j=1 to net+1mi[i][j]=0next j
recherche d’une cellule d’ancrage à partir de laquelle peut se développer un logement
GDL gdl
!pr=N_ken=0.9
!..............matrice l[i][j] case libre =0nch=int(A/3.80)
DIM l[100][20]DIM o[100][20]DIM oc[100][20]DIM test[100][20]DIM dcm[100][20]DIM dcn[100][20]DIM MI[100][20]DIM mpb[100][20]DIM meps[100][20]DIM CI[100][20]
for i=1 to nchfor j=1 to net+1l[i][j]=0next jnext i!..............
!..............dÈbut profondeur de calcul5:ncm=ncm-1:if ncm=0 then goto 9000t=0uu=0tt=0for i=1 to nchfor j=1 to net+1test[i][j]=0next jnext i!..............
20:!.............. hi hj point de dÈpart de remplissagehi=int(rnd(nch))+1hj=int(rnd(net))+1
for i=1 to nchfor j=1 to net+1o[i][j]=0next jnext i
pad=1pag=1pavd=1pavg=1ncr=0if l[hi][hj]=1 thengoto 20else o[hi][hj]=1:ncr=ncr+1 !..............
!.............. nombre de case vide alentour=ll
25:if test[hi][hj]=1 then goto 20
ll=1v=0 : gosub 10000v=-1: gosub 10000v=1 : gosub 10000if ll<ncm thentest[hi][hj]=1tt=tt+1if tt>=nch*net then
goto 5goto 20endif!..............
for i=1 to nchfor j=1 to net+1mi[i][j]=0next jnext i
!.............. au dessus ou au dessousif hj=1 thenhv=1else
if hj=net+1 thenhv=-1else
if hj>2 and hj<net+2 then
if rnd(1)>0.5 thenhv=1else hv=-1endif
endifendif!..............
!...................................................................... reservation30:
if rnd(1)>0.5 then!.... si oui en horiz
if rnd(1)>0.5 then !....si oui ‡ droite 50: if hi+pad<=nch and ncr<ncm then
if l[hi+pad][hj]=0 then
if o[hi+pad][hj]=0 then
o[hi+pad][hj]=1
ncr=ncr+1
else pad=pad+1:goto 50endif
endifelse !.... ‡ gauche
60: if hi-pag>0 and ncr<ncm thenif l[hi-pag][hj]=0 then
if o[hi-pag][hj]=0 then
o[hi-pag][hj]=1
ncr=ncr+1
else pag=pag+1:goto 60endif
endifendif
else!.... en verticalif l[hi][hj+hv]=0 and ncr<ncm then
if o[hi][hj+hv]=0 theno[hi][hj+hv]=1ncr=ncr+1
elseif rnd(1)>0.5 then !....si oui ‡ droite70: if hi+pavd<=nch and ncr<ncm then
if l[hi+pavd][hj+hv]=0 then
if o[hi+pavd][hj+hv]=0 then
o[hi+pavd][hj+hv]=1
ncr=ncr+1
else pavd=pavd+1:goto 70endif
endifelse !.... ‡ gauche80: if hi-pavg>0 and ncr<ncm then
if l[hi-pavg][hj+hv]=0 then
if o[hi-pavg][hj+hv]=0 then
o[hi-pavg][hj+hv]=1
ncr=ncr+1
else pavg=pavg+1:goto 80endif
endifendif
endifendif
endift=t+1!......................................................................
!............................test de profondeur de calculif t>pr then
uu=uu+1if uu>pr then goto 5goto 20
endif!............................
cherche si le développement est possible sur les cellules libre & voisines
choisi le développement au dessus ou en dessous de la cellule d’ancrage
GDL
!...................................................................... reservation30:
if rnd(1)>0.5 then!.... si oui en horiz
if rnd(1)>0.5 then !....si oui ‡ droite 50: if hi+pad<=nch and ncr<ncm then
if l[hi+pad][hj]=0 then
if o[hi+pad][hj]=0 then
o[hi+pad][hj]=1
ncr=ncr+1
else pad=pad+1:goto 50endif
endifelse !.... ‡ gauche
60: if hi-pag>0 and ncr<ncm thenif l[hi-pag][hj]=0 then
if o[hi-pag][hj]=0 then
o[hi-pag][hj]=1
ncr=ncr+1
else pag=pag+1:goto 60endif
endifendif
else!.... en verticalif l[hi][hj+hv]=0 and ncr<ncm then
if o[hi][hj+hv]=0 theno[hi][hj+hv]=1ncr=ncr+1
elseif rnd(1)>0.5 then !....si oui ‡ droite70: if hi+pavd<=nch and ncr<ncm then
if l[hi+pavd][hj+hv]=0 then
if o[hi+pavd][hj+hv]=0 then
o[hi+pavd][hj+hv]=1
ncr=ncr+1
else pavd=pavd+1:goto 70endif
endifelse !.... ‡ gauche80: if hi-pavg>0 and ncr<ncm then
if l[hi-pavg][hj+hv]=0 then
if o[hi-pavg][hj+hv]=0 then
o[hi-pavg][hj+hv]=1
ncr=ncr+1
else pavg=pavg+1:goto 80endif
endifendif
endifendif
endift=t+1!......................................................................
GDL
fixe une configuration valide
cellules
gdl!............................test de profondeur de calculif t>pr then
uu=uu+1if uu>pr then goto 5goto 20
endif!............................!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! pose des lgtsif ncr>ncm then goto 20if ncm>ncr then goto 30uu=uu+1if uu>pr then goto 5rp1=0:rp2=0
for i=1 to nchfor j=1 to net+1if o[i][j]=1 then
MI[i][j]=1endif
next jnext i
!____________________________________________________________________________________________ contoursscl=rnd(90)DEFINE MATERIAL "aleab" 1,!0.2,0.3,0.4min(sin(scl),1), min(sin(scl+45),1), min(sin(scl+90),1),!! surface RGB [0.0..1.0]1-0.3*rnd(1)^2, 1-0.3*rnd(1)^2, 1-0.3*rnd(1)^2, 0,! ambient, diffuse, specular, transparent! coefficients [0.0..1.0]rnd(16)+4,! shining [0.0..100.0]max((rnd(2)^3)/2,0.3)!! transparency attenuation [0.0..4.0]material aleab
limite la recherche de configuration pour
passer à une surface de logement inférieur et
plus facile à placer
commence la pose d’une configuration valide,
en créant une apparence (matière numérique
paramétrée) spécifique au logement
gdlCI[i][j]="aleab"eps=int(rnd(3)+1)*ken!______________________bande humidelb=3.60-eps!______________________servi
dcm[i][j]=int(rnd(2))*ken!.................................................................DECALAGE GROSSES BOITES/COURSIVE
dcn[i][j]=int(rnd(2))*ken!.................................................................DECALAGE PETITES BOITES/COURSIVE
if o[i][j]=1 then if l[i][j]=0 then
add (i-1)*(lb+eps+epc),0,(j-1)*(hb+epc)-0.0if rp1=0 then
add -epc,dcm[i][j],-epcblock epc,2.7-dcm[i][j],hb+0.4:rp1=1!pignonaddy 2.7-dcm[i][j]
material verreaddx 0.18block 0.02,4.5,hb+0.2del 1
material "Lavis Blanc"
for jj=0 to 4
addy jj*0.9
alh=int(rnd(2))*(hb+0.4)
if alh>0 then
block 0.2,0.9,alh
endif
del 1
next jjaddy +4.5block epc,8-2.7+dcm[i][j]-4.5,hb+0.4del 1
del 1del 1
endif
if MI[i+1][j]=0 thenif
rp2=0 then
add lb+eps,dcn[i][j],-epc
divise les cellule en deux partie égale ou non pour moduler leur position par
rapport à la coursive
décalage des fractions de cellules
balcon
plan
façades
façade coursive
façade balcon
entropie synchrone
paysage vivant
Constitution des cheminements piétons et cyclistes
les cheminements supplémentaires se dessinent par l’usage.Cliquez sur l’image
Une fois le projet installé, …
Recommended