P
O
R
S A C H A
T
A R C H I T E C T
F
O
L
I
O
J O N C K E R S -
V R
D E S I G N E R
PORTFOLIO 2018-2020 SELECTED WORKS
S A C H A
J O N C K E R S
Born on february 15th 1995, Uccle, Belgium. 26 years old
www.sachajonckers.com s.jonckers@gmail.com +32/494.61.40.52
Architect specialising in emerging technologies in the practice of architectural design. Design and production of virtual spaces and experimental architecture. Strong academic experience of a variety of projects using different aesthetics, purposes and means. Works exhibited on numerous occasions in recent years.
all my work is accessible via www.sachajonckers.com
E D U C AT I O N 2019-20
+ ULB Faculté d’Architecture La Cambre Horta | Brussels
Master in architecture 2018-19
+ Technische Universität Berlin Fakultät VI Architektur | Berlin
Master in architecture 2014-18
+ ULB Faculté d’Architecture La Cambre Horta | Brussels
Bachelor in architecture 2013-14
+ ULB Solvay Brussels School of E&M | Brussels
1st year of bachelor
PROFILE & EXPERIENCE mars 2020
+ S.I.P. 21 | Brussels Guest and speaker at f ig. workshop Architectural model workshop
s e p . - n o v. 2 0 2 0
+ SCAN’20 | Brussels Co-organiser of vr workshops ‘Exploration de la réalité virtuelle en tant qu’outil de conception et de production architecturale.’
june-aug. 2020
+ Atelier 4|5 | Brussels Architectural Intern Produced design drawings & renders.
2018-2020
+ TU Berlin - LAD | Brussels & Berlin Student manager Training and super vision of digital work in architecture.
2016-2018
+ BEdA Lacambre Horta | Brussels President Head of the Student Office of the Architecture Faculty Student Representative
ACHIEVEMENTS june 2020
+ ULB Architecture Faculty Digital exhibition | “Virtual Resilience”
oct. 2020
+ ULB Architecture Faculty Jur y Award | “Virtual Resilience”
Nomenee
oct. 2020
+ ULB Architecture Faculty Thesis Award | Master Thesis
Nomenee
j u l y. 2 0 1 9
+ TU Berlin Jahresausstellung | “Das Ischtar Tor im Pergamonmuseum”
Honorable mention
j u l y. 2 0 1 9
+ Lange Nacht der Wissenschaft 2019 | “Urban Memor y Inter vention”
Honorable mention
june 2018
+ Brussels Parliament’s “Habiter la Démocracie” | “Le retour du citoyen”
First Place
april 2018
+ ULB Socrates Award | “S.I.P.18.” Student representative
First Place
+ Youth Memorial Van Damme 4x100m
First Place
2012
Honorable mention
SKILLS Languages
French
Design
English German Dutch
VR
Rhinoceros 3D Autocad Revit Adobe suite SketchUp MS Office Gravity sketch MS Maquette Oculus Medium
Unreal Engine4 Twinmotion Lumion
Sacha Jonckers
Architecture Portfolio
2018 —2020
002
004
012
018
Introduction & CV
I L’Esprit & La Villa
II Le Retour du Citoyen
III Gleisdreiec Panorama
The future of ‘La ferme modèle’, belgian architectural heritage. Atelier histoire et théorie critique (ULB)
Charlotte Malterre-Barthes Architecture competition organised by the brussels Parliament for the 30 year anniversary of the region.
Guest Professorship
Reimaging the Be market after its re Focus on the new housing in Gleisd
4
Gleisdreieck 1:25000
Guilherme
ck
erlin housing recent crisis. w social dreieck park.
024
030
038
IV Lychen City Center
V Virtual Resilience VR
VI The Mishima Object
The city of Lychen is located 80 kilometers north from Berlin, a place struggling to remain attractive during summer. The competition focuses on reviving the center of the old town.
Creation of a digital fictional place following the architect Lebbeus Woods’ concepts using Virtual reality as main conception and creation tool.
Transposition of Philip Glass’ minimalist music scores into space using procedural genaration.
k
e Gaspar, Sacha Jonckers, Camille Valette
5
L’ E S P R I T
&
L A
V I L L A
AT E L I E R H I S T O I R E & T H E O R I E C R I T I Q U E A I S E A U X- P R E S L E S , B E L G I U M 2019-2020
Sacha Jonckers
Architecture Portfolio
2018 —2020
L’Esprit et la Villa Rehabilitation of a Villa into a space dedicated to art following Hegel’s philosophy
8
L’évolution de la villa au fil des âges décrit un parcours sinueux aux multiples étapes. De la villa suburbaine antique, centre d’un système de production aux unités unifamiliales répétables. De l’habitat fonctionnaliste à l’outil d’apparat. La fonction et la forme de ces artéfacts furent réinterprétées sans cesse dans un processus historique ainsi pris dans un éternel cycle dialectique. La Ferme modèle de l’architecte Marcel Leborgne s’inscrit quant à elle dans un paradigme d’une époque industrielle révolue, incarnant une œuvre architecturale d’un temps passé. Mise en péril par les multiples tentatives infructueuses de réappropriation fonctionnelle, celle-ci est aujourd’hui sommée de revendiquer la pérennité, statu quo du processus historique. Théorisé par le philosophe Hegel, le processus historique intègre chaque œuvre et son parcours dans un grand ensemble appelé « Der Geist » ou « L’esprit ». Ce dernier émergeant de la conscience collective formé par la somme des esprit humains, évoluant et se définissant par la production d’art et son accumulation au fil du temps, ce qui constitue une discipline historique propre.
La théorie Hegelienne caractérise les interactions sociales comme véritable moteur de conception d’art, dont l’architecture représente pour lui la discipline première. Néanmoins, selon « l’esprit », l’art fut trahi, absorbé par l’individualisme et les intérêts particuliers, laissant place de nos jours à un art industrialisé, la « Kulturindustrie ». Par l’adjonction, d’espaces productifs ainsi que d’un espace muséal à la « permanence propulsive » que constitue la bâtisse actuelle, la Ferme modèle passe de construction de l’esprit passive à générateur d’objets d’art, véritable usine de l’esprit. Désormais complice d’un processus de perversion à l’issue du pacte assurant sa continuité.
9
Sacha Jonckers
Architecture Portfolio
2018 —2020
10
Historic retrospective
Exisiting building
Art Factory
11
Gallery Laboratoire H.T.C. Iwan Strauven, Wouter Van Acker Anne-Laure Iger, Victoire Chancel
3
2
1
Museum
3. Age Romantique Trahison de l’esprit par l’Homme, stade final de la théorie de l’Esprit. Implique la peinture & la poésie.
2. Age Classique Pinacle de l’histoire de l’art selon Hegel. Constitué principalement de sculpture grecques à l’effigie de l’homme, il ne fait qu’un avec l’Esprit.
LE RETOUR DU CITOYEN AT E L I E R M U TAT I O N T H E R O YA L PA R K O F B R U S S E L S , B E L G I U M 2018
Sacha Jonckers
Architecture Portfolio
2018 —2020
Le retour du citoyen Architecture competition (1st prize) for the new Brussels Parliament
_Pour l’anniversaire des 30 ans de la région Bruxelles-Capitale, le parlement bruxellois a décidé d’organiser un concours intitulé « Habiter la démocratie. L’architecture des Parlements» Ce dernier ayant pour objet d’imaginer notre système parlementaire et son architecture dans 30 ans. 14
Pour répondre cette problématique, nous avons décidé d’établir une stratégie in situ et d’analyser le parlement bruxellois. En résumé très succinct, les députés rédigent des propositions de lois, des ordonnances et des rapports d’informations destinés à être exécutés par le Gouvernement de la Région Bruxelles-Capitale. Ainsi, si le citoyen peut élire ses représentants, il n’a aucun contrôle sur les prises de position de ceux-ci. A la lumière de cette analyse, il apparaît donc que la parole citoyenne est réduite. Ce clivage entraîne souvent un désintérêt des citoyens à l’égard d’un système politique dont ils se sen- tent exclus. En découle une méfiance, voire une animosité à l’égard du système démocratique et de ses élus. Sur base de ce constat, nous pensons que la démocratie idéale serait celle qui intègre le citoyen à toutes les étapes critiques du processus législatif.
_L’analyse du système politique bruxellois nous a permis d’établir un bilan assez déplorable de l’implication citoyenne dans la prise de décision, cette dernière étant, in fine, ponctuelle et anecdotique. C’est pourquoi la création du Forum citoyen nous a paru essentielle en tant que premier jalon du processus d’intégration durable et raisonnée du citoyen dans la vie politique bruxelloise. Le nouveau système démocratique s’appuie en outre sur la création de nouvelles instances parlementaires (Chambre des Participants, Commission Citoyenne) et sur la réforme de l’Assemblée plénière par l’insertion de citoyens (avec une rotation parmi eux afin que chacun ait la possibilité de faire entendre sa voix, au sens littéral du terme). Enfin, il passe aussi par l’instauration d’un formation des citoyens et une responsabilisation dans l’usage des médias afin de maximiser les occasions d’échanges d’idées fructeux entre citoyens éclairés et respectueux.
15
L’IMPLANTATION I.I.L’IMPLANTATION Les nouvelles instances demandent un espace ouvert et fréquenté, L’IMPLANTATION I.I.L’IMPLANTATION accessible à tous. Le choix de l’implantation s’est porté dans la zone du Parc
royal nouvelles de Bruxelles. Il s’agit demandent d’un espaceun vertespace au centre de Bruxelles offrant Les instances ouvert et fréquenté, Les nouvelles d’espace instances pour demandent espace et bâtiment fréquenté, suffisamment y intégrerunà la foisporté leouvert nouveau qui accessible à tous. Le choix de l’implantation s’est dans la zone du Parc accessible à tous. Leetchoix de l’implantation s’est porté dansainsi la zone du Parc reliera anciennes nouvelles instances parlementaires qu’un forum royal de Bruxelles. Il s’agit d’un espace vert au centre de Bruxelles offrant royal de Bruxelles. Il s’agitend’un espace vert au centre de Bruxelles offrant citoyen, ouvertd’espace et public, de ce capacité illimitée. suffisamment pourdehors y intégrer à bâtiment, la fois lede nouveau bâtiment qui suffisamment d’espace pour y intégrer à la fois le nouveau bâtiment qui reliera anciennes et nouvelles instances parlementaires ainsi qu’un forum reliera anciennes ets’installe nouvellesauinstances ainsiparticulièrement qu’un forum Le forum citoyen centre duparlementaires Parc Royal, lieu citoyen, ouvert et public, en dehors de ce bâtiment, de capacité illimitée. citoyen, et public, dehors de ce bâtiment, de capacité illimitée. propiceouvert à accueillir touten type de rassemblement citoyen.
Sacha Jonckers
Architecture Portfolio
Le forum citoyen s’installe au centre du Parc Royal, lieu particulièrement Lepropice forum àcitoyen s’installe du Parc Royal, accueillir tout typeaudecentre rassemblement citoyen.lieu particulièrement propice à accueillir tout type de rassemblement citoyen.
N
De plus, le site est proche d’instances politiques (le Parlement flamand et la Chambre des Représentants et le Sénat), d’institutions historiques (le Palais aussi culturelles (BOZAR, les Musées royaux des De plus, Royal), le site estmais proche d’instances politiques (le Parlement flamand et la De plus, le site est proche politiques (lede Parlement flamand et la Beaux-arts encore le d’instances Musée instruments musique) susceptibles Chambre desouReprésentants et des le Sénat), d’institutions historiques (le Chambre des citoyens. Représentants le Sénat), d’institutions historiques (le d’attirer les En culturelles un etmot, le(BOZAR, site se situe au centre politique, Palais Royal), mais aussi les Musées royaux des Palais Royal), mais aussi culturelleset (BOZAR, les de Musées royaux des historique et encore culturel Bruxelles est entouré lieuxsusceptibles symboliques Beaux-arts ou lede Musée des instruments de musique) Beaux-arts ou encore le Musée des instruments de musique) susceptibles bruxellois. d’attirer les citoyens. En un mot, le site se situe au centre politique, d’attirer les citoyens. En un mot, le site se situe au centre politique, historique et culturel de Bruxelles et est entouré de lieux symboliques historique et culturel de Bruxelles et est entouré de lieux symboliques bruxellois. bruxellois.
E
speake
O
formation citoyenne
O
formation formation citoyenne citoyenne
r corn
E
2018 —2020
E
er
sppaeake ren rle corner spmea ket r co rner
O
hémicycle hémicycle hémicycle
parle S ment pa rlemen
Tracé original du Parc de Bruxelles et alignements prévus depuis 1780
6181 6181 CONCOURS PARLEMENT 2048 CONCOURS CONCOURS PARLEMENT PARLEMENT 2048 2048
N
t
S
Tracé original du Parc de Bruxelles originalprévus du Parc de Bruxelles etTracé alignements depuis 1780 et alignements prévus depuis 1780
S
16
vallon creusé par le Coperbeek vallon creusé par le Coperbeek
siècle XIIIe siècle XIIIe siècle
1452 1452
1460 1460
1731
1770 1770
1775 1775
1782 1782
1830 1830
1855 1855
1904 1904
1971 1971
1993 1993
2000 2000
2001 2001
1452
1460
1731
1770
1775
1782
1830
1855
1904
1971
1993
2000
2001
construction de l’Aula construction Magna de l’Aula Magna construction de l’Aula Magna
château défensif château défensif
VUE GLOBALE / COUPE / PLAN VUE GLOBALE / COUPE / PLAN
vallon creusé par le Coperbeek
château défensif
III. LE CONCEPT III. LE CONCEPT
incendie du palais incendie du palais
création de la place Royale création de la place Royale
création du parc de Bruxelles création du parc de Bruxelles
incendie du palais
création de la place Royale
création du parc de Bruxelles
château des ducs de Brabant château des ducs de Brabant
« La Cour brûlée « La Cour» brûlée »
château des ducs de Brabant
lieu de cérémonies lieu de officielles cérémonies officielles
« La Cour brûlée »
lieu de cérémonies officielles
VUE GLOBALE / COUPE / PLAN
III. LE CONCEPT
01 01 01
02 02 02
De la verticalité à l’horizontalité De la verticalité à l’horizontalité
De la verticalité à l’horizontalité
propriété du nouvel Etat belge, le palaisdupasse desEtat Pays-Bas propriété nouvel belge, à la Belgique le palais passe des Pays-Bas à la Belgique propriété du nouvel Etat belge, lieu de lieu passe de le palais des Pays-Bas à rassemblement refuge lieu de lieu de la Belgique populaire pour pour les refuge troupes pour les hollandai lieu de troupes ses refuge hollandai
pour ses les troupes hollandai ses
rassemblement l’expulsion populaire pourdes troupes lieu de l’expulsion des hollandaises rassemblement troupes
populaire pour hollandaises l’expulsion des troupes hollandaises
création de la place circulaire ornée de la création de la place fontaine, pour servir à circulaire ornée de la l’adduction d’eau fontaine, pour servir à création ded’eau la place l’adduction circulaire ornée de la fontaine, pour servir à l’adduction d’eau
agrandissement de la place des Palais au détriment du parc, dont on combla agrandissement de la place des Palais une partie des bas-fonds, lui donnant au détriment du parc, dont on combla son aspect rectiligne actuel une partie des bas-fonds, lui donnant
agrandissement de la place des Palais son aspect rectiligne actuel au détriment du parc, dont on combla une partie des bas-fonds, lui donnant rectiligne actuel lieu son de aspect cérémonies
officielles lieu de cérémonies officielles
lieu de cérémonies officielles
03 03 03
Multiplication des accès et des vuesdes transversales Multiplication accès et des vues transversales
Multiplication des accès et des vues transversales
2013 2013
2016 2016
2050 2050
2013
2016
2050
IV. LE CONCEPT DU FORUM CITOYEN
siècle XIIe siècle XIIe siècle
IV. LE CONCEPT DU FORUM CITOYEN IV. LE CONCEPT DU FORUM CITOYEN
II. LA PLACE DES PALAIS EN DATES CLÉS II. LA PLACE DES PALAIS EN DATES CLÉS XIIIe PALAIS EN DATES CLÉS II. LAXIIe PLACE DES 1731
1ère édition du Parc de Bruxelles classé record d'affluence 1ère édition du rapport de l’ASBL Alias haut-lieu de référence populaire en Dimanche sans Brussels Summer au patrimoine de la établissant le Parc de pour les dresseurs du d'affluence 1ère édition du 1ère édition du Parc de Bruxelles classé recordhommage rapport de l’ASBL Alias haut-lieu de référence à la Festival sur la voiture Région de Bruxelles comme lieu de jeu Pokémon populaire en Dimanche sans Brussels Summer au patrimoine de la établissant le Parc de pour les dresseurs du dépouille du roi Place des Palais Bruxelles-Capitale hommage prostitution masculine et de à la Festival sur la voiture Région de Bruxelles comme lieu de jeu Pokémon Baudoin Ier maraude sexuelle record d'affluence 1ère édition du 1ère édition du Parc de Bruxelles classé rapport de l’ASBL Alias dépouille du roi haut-lieu de référence Place des Palais Bruxelles-Capitale prostitution masculine et de populaire en Brussels Summer Dimanche sans au patrimoine de la établissant le Parc de Baudoin Ier pour les dresseurs du maraude sexuelle hommage à la Festival sur la voiture Région de Bruxelles comme lieu de jeu Pokémon lieu voulu lieudépouille de du roi Place des Palais Bruxelles-Capitale et de de lieu d’événementsprostitution lieumasculine susceptible lieu de rassemblement lieu piéton voulu par Baudoin Ier maraude sexuelle rassemblement lieu de
populaire rassemblement populaire lieu de
rassemblement populaire
Un plan libre comme signe d’accessibilité Un plan libre comme signe d’accessibilité
Un plan libre comme signe d’accessibilité
lieu d’expression citoyenne lieu d’expression culturels revitalisation populaire la lieu d’événements lieu susceptible de lieu de rassemblement piéton par citoyenne culturels population revitalisation populaire la voulu lieu population lieu d’expression lieu d’événements lieu susceptible de lieu de rassemblement piéton par citoyenne culturels revitalisation populaire la population
0404 04
Connexions et appels vers la ville par l’extrusion de vers volumes Connexions et appels la ville par l’extrusion de volumes
Connexions et appels vers la ville par l’extrusion de volumes
Parlement 2018 Rue du Lombard Parlement 2018 Rue du Lombard
Parlement 2018 Rue du Lombard
Parlement 2050 Place des Palais Parlement 2050 Place des Palais
Parlement 2050
Place des Palais Définition des espaces clés, Définition desdes espaces clés, identification besoins identification des besoins
Définition des espaces clés, identification des besoins
25m 25m
25m
Volumétrie des entités Volumétrie des entités spécifiques spécifiques
Ajoute d’un plancher Ajoute d’un plancher et définition d’une circulation et définition d’une circulation
Percement du plancher pour Percement du plancher pour interactions entre étages interactions entre étages
Volumétrie des entités spécifiques
Ajoute d’un plancher et définition d’une circulation
Percement du plancher pour interactions entre étages
17
Sacha Jonckers
Architecture Portfolio
2018 —2020
Gleisdreieck Panorama Revisiting the new Gleisdreieck housing project according to the housing market needs
18
Guest Professorship Charlotte Malterre-Barthes
While Berlin currently suffers from a deficit of affordable housing, Wohnpanorama ignores the public policies implemented to combat that situation. Our project aims to enforce and go beyond the new law by increasing significantly the amount of social housing units. Through crossfinancing, multiple typologies cohabitate in a socially mixed environment. Gradual spaces are created between street, park and residential areas, hosting activities that respond to the needs of local community. ‘Political space’ is a term borrowed from political science that refers to the available room for citizens to voice and
influence political processes and outcomes. This space incorporates the actors, structures, and processes that form politics and patternsof governance of today. The studio “Political Spaces” builds upon this concept, expanding on Michel Foucault’s theories of power.
19
Sacha Jonckers
Architecture Portfolio
2018 —2020
20
(5)
(1)
(6)
(7)
(1)
1m
(1)
(1)
(4)
(1)
(5)
(5)
21
(1)
(2) (8)
(1)
(7)
Sacha Jonckers
Architecture Portfolio
2018 —2020
22
While Berlin currently suffers from a deficit of affordable housing, Wohnpanorama ignores the public policies implemented to combat that situation. Our project aims to enforce and go beyond the new law by increasing significantly the amount of social housing units. Through crossfinancing, multiple typologies cohabitate in a socially mixed environment. Gradual spaces are created between street, park and residential areas, hosting activities that respond to the needs of local community. ‘Political space’ is a term borrowed from political science that refers to the available room for citizens to voice and
influence political processes and outcomes. This space incorporates the actors, structures, and processes that form politics and patternsof governance of today. The studio “Political Spaces” builds upon this concept, expanding on Michel Foucault’s theories of power.
23
LY C H E N C I T Y C E N T E R T H E D -ZO N E ST U D I O LY C H E N C I T Y C E N T E R , G E R M A N Y 2019
Sacha Jonckers
Architecture Portfolio
2018 —2020
Lychen city center
Reactivation of Lychen citycenter as a new regional landmark
26
Arcadia, here we come. We the freelancers, the yuppies, the dreamers from Berlin looking for the most perfect new setting, outside the city. Lychen, Uckermark – 7 lakes and an old village. Here, some 80 km north of Berlin, the arrival of tourists and city creatives has recently shifted the urban dynamics from shrinking to boom. As the new crowd is joining (at least during the week-ends), conflicts arise: how to control/channel the urban development, currently driven by private forces? How to activate the empty city center for young and old; daily, weekly, monthly, yearly residents; Lycheners and
Berliners? How to augment the experience of the landscape – its ecology, its uses, its solidarities – not to forget its performance as pure fantasy? The design studio takes on an open competition, launched by the city of Lychen & the Architektenkammer Brandenburg. We will look for sharp, bizarre, beautiful proposals for the activation of the city-center of Lychen and some of its landmarks, up the lake. Moreover we aim at constituting a collective task-force to reflect on Berlin’s past, current and future borders, to question new urban exile trends and to sustain possibilities of more intense living.
LYCHEN
27
LYCHEN REACTIVATION OF CITY CENTER LYCHEN mber
Janu
ary
Dece
be
Janu
ACTIVITIES : WINTER/SUMMER REACTIVATION OF CITY
CENTER
ry
N
ary
ua
ov
m OF CITY CENTER Dece
br
em
ber
Fe
LYCHEN
REACTIVATION SITUATION
r
REACTIVATION OF CITY CENTER
m be ov e N
ber
Octo
h
ber Octo
be r
em ov
N
be r em ov
Octo ber
mber
h
Winter Summer
ay
mber
M
Winter
Septe
2
Summer
Septe
mber
t us
Juli
g Au
Church
June
Berlin
Church
April
COMPOSITION
Rathaus
ay
Rathaus
M
Mülhe
Mülhe COMPOSITION
Canal
June
Green space
us
t
Juli
Little house
g Au
Green space
Little house Shops Mülhe
Canal
Rathaus Little house
Rathaus Shops
Juli
COMPOSITION
Church
Green space
FLEXIBILITY OF THE PIAZZA Tourism office
Green space
June
Shops
Rathaus
ay
A
Canal
Church
M
Juli
COMPOSITION
Mülhe
June
Rathaus
ay
Mülhe
Mülhe
ug
t us
Sites
M
Location
LANDMARKS
Mülhe
April
3
g Au
t us
h
Sites
Marc
Septe
Sites
Marc
Octo ber
N
mber Septe
ry
Location
LANDMARKS 105 km
ua br
1
Fe
2
Sites
April
Berlin
ry ua br Fe
3
Summer
April
Lychen
ary
h
105 km
Marc
1
Winter
Location
LANDMARKS
Janu
Summer
Berlin
Location
mber
Dece
Winter
Berlin
LANDMARKS SITUATION
2
3
105 km
REACTIVATION OF CITY CENTER
ary
Marc
LYCHEN
2
3
105 km
Lychen
Janu
1
REACTIVATION OF CITY CENTER SITUATION
ber
ecem
1
D ACTIVITIES : WINTER/SUMMER
ry
Lychen
ua
LYCHEN
br Fe
r
SITUATION Lychen
Activities: Activitiesopening hours: +66% during summer Rafting Rafting opening Bicycle opening hours: hours: +66% +66% summer during summer Bicycle opening hours:renting +66% summer Holiday house: +38% prices during summer Holiday house: +38% renting summer Swimming period: from may prices to september Swimming period: from may to september Wandering period: all year long Wandering period: all year long Activities: Events: Events: Activities Rafting opening hours:party +66% during summer 1.06 Kindertags 01.06 Kindertags party Rafting opening +66% Bicycle opening hours: +66% summer during summer 15.06 Fete hours: du sport 03.06 Frühstück marktplatz Bicycle opening hours:marktplatz +66% summer Holiday house: +38% renting prices during summer 3.06 Frühstück 08.06 Flohmarkt Holiday house: +38% renting summer Swimming period: from may prices to september 8.06 Fleamarket 15.06 Sport Fest Swimming period: from may to september Activities: Wandering period: all year long 21.6 21.06Musik Musik Fest Fest Wandering period: all year long Rafting opening hours: +66% duri Events: 23.08 Church Churchconcert concert Events: Bicycle opening hours: +66% durin 1.06 Kindertags party 01.09 Cultur Fest Cultur Fest 01.06 1.09 Kindertags party Holiday house: +38% renting price Annual release 15.06 Fete du sport Annual release of of the the city citygazette gazette 03.06 10.10 Frühstück marktplatz Swimming period: from may to sep Festival 3.06 marktplatz 2.08-4.08 Rafting Festival 08.06Frühstück FlohmarktRafting Wandering period: all year long Weekly market 8.06 Weekly marketon onwednesday wednesdayEvents: 15.06Fleamarket Sport Fest Activities: 21.6 21.06Musik Musik Fest Fest 1.06 Kindertags Rafting opening hours:party +66% during sum 23.08 Church Churchconcert concert 15.06 Fete hours: du sport Bicycle opening +66% during sum 01.09Cultur CulturFest Fest 1.09 3.06 Frühstück Holiday house: +38% marktplatz renting prices dur Annual release 10.10 Annual release of of the the city citygazette gazette 8.06 Fleamarket Swimming period: from may to septemb 2.08-4.08 Rafting RaftingFestival Festival 21.6 Musik Wandering period:Fest all year long Weekly market Weekly marketon onwednesday wednesdayEvents: 23.08 Church concert
105 km
3
105 km 105 km
3 2
2
3
2
Green space
Green space
Green space
Green space
Green space
Green space
Green space
Green space
Green space
Little house Little house Little house
Sacha Jonckers
Architecture Berlin Berlin Portfolio Location LocationLocation
2018 —2020
Berlin
Sites
Sites
Rathaus
Church
Mülhe Mülhe
Rathaus RathausRathaus
Mülhe
Shops
Tourism office
Tourism Tourism office office
Kino
Kino
Rathaus Rathaus
Church
Kino
Church
Church ChurchChurch
COMPOSITION COMPOSITION COMPOSITION
Mülhe
Shops
Sites
LANDMARKS LANDMARKS LANDMARKS
Mülhe
Shops
1. Landmarks 1. Landmarks 1. Landmarks
Mülhe
Canal
Canal
Canal
Green space
Green space
Green space
2. Existing 2. buildings Existing 2. buildings Existing buildings
The shore The shoreThe shore
Stands
Stands
The biergarten The biergarten The biergarten
Marquee Marquee Marquee
Stands
Little house Little houseLittle house
Shops
Shops
3. Natural3.elements Natural 3.elements Natural elements
Community Community Community center center center
Shops
The piazzaThe piazzaThe piazza
Rathaus
Flexible Flexible Flexible structure structure structure
Rathaus Rathaus
Tourism office
Tourism Tourism office office
Kino
Kino
Green space
Green space
Green space
The info The info The info point point point
Kiosks
Water mirror
Water mirror
Water mirror
Church Church Green space
1. Landmarks 1. Landmarks 1. Landmarks
2. Existing2.buildings Existing 2. Existing buildings buildings
Green space
Green space
3. Natural3.elements Natural 3. Natural elements elements
28 The shore The shoreThe shore
Stands
The biergarten The biergarten The biergarten
Marquee MarqueeMarquee
Stands Stands
CommunityCommunity Community center center center
The piazza The piazza The piazza Flexible structure The info point
Kiosks
Kino The springThe springThe spring
Church
Kiosks
The info The info point point
The spring The spring The spring
4. Network 4. Network 4. Network
Kiosks
Kiosks
Kiosks
Water mirror
Water mirror
Water mirror
5. Objects5. Objects 5. Objects
Flexible Flexible structurestructure
6. Interventions 6. Interventions 6. Interventions
4. Network 4. Network 4. Network
5. Objects 5. Objects 5. Objects
6. Interventions 6. Interventions 6. Interventions
29
VIRTUAL RESILIENCE D I G I TA L FA B R I C AT I O N L A B O R AT O R Y IMAGINARY SITE 2020
Sacha Jonckers
Architecture Portfolio
2018 —2020
Virtual resilience
VR exploration of Scrappunk imaginary world
32
L’architecture est une discipline en mouvement, qui, au fil du temps, s’est enrichie de procédés techniques novateurs, notamment les outils numériques. L’importance de la modélisation dans la conception et la représentation d’espace s’est accrue suivant l’évolution des outils digitaux disponibles. Le projet explore le potentiel narratif d’une interprétation personnelle des travaux de l’architecte Lebbeus Woods : sa notion « d’espace », composé d’objets parasitiques, qui proposent de nouvelles formes d’interactions sociales.
Ces dernières s’inscrivent dans un contexte en crise, créant des espaces d’émancipation sociétale, qui préfigurent le grand effondrement. Le processus du projet vise à explorer l’utopie architecturale et son caractère expérimental par la création d’un « espace virtuel » scénarisé de manière vidéoludique et explorable en réalité virtuelle. Le projet s’articule en plusieurs phases: la construction d’une assise théorique suivant les concepts clés de Woods, d’une exploration du caractère hétérotopique de la modélisation 3D immersive en réalité virtuelle (processus
itératif), la création d’une bibliothèque “d’éléments” architecturaux et mécaniques donnant naissance à une assistance paramétrique. Ces artéfacts ont pour but de constituer les bases signifiantes de plusieurs maquettes virtuelles, à l’origine d’une nouvelle dynamique entre humain et la « logique machine ». https://www.youtube.com/ watch?v=NACjQsgx1qk&list=PL1rwvIfFsZKz1Lkr_0Q0ZlQGVRT10Lz6
complete project on www.sachajonckers.com
33
Sacha Jonckers
34
Architecture Portfolio
Imaginary landscape made in Virtual Reality “Tower & parasites” 2020
Imaginary landscape made in Virtual Reality “Tower & parasites” 2020
2018 —2020
Imaginary landscape made in Virtual Reality “Tower & parasites” 2020
35
Sacha Jonckers
Architecture Portfolio
2018 —2020
Mishima Objects
################################# ################################# ################################# # Philip # Philip # Philip Glass Glass Glass ## # # Authors: # Authors: # Authors: [sacha,anthony] [sacha,anthony] [sacha,anthony] ## # ##Date: #Date: Date: [23.01.2020] [23.01.2020] [23.01.2020] ## # # Blender # Blender # Blender version: version: version: [2.8 [2.8 [2.8 &&hash] &hash] hash] ## # # OS: # OS: # OS: [Windows [Windows [Windows 10] 10] 10] ## # ################################# ################################# #################################
"""""" """ Tableau dede composition CUBE_3 # Tableau composition CUBE_3 ##Tableau de composition CUBE_3 """""" """ measure_structure_mg measure_structure_mg measure_structure_mg ==[ =[ [ [('CF', 'DF'), ('EG', 'B'), ('CF', 'A'), ('CG', 'C')], [('CF', 'DF'), ('EG', 'B'), ('CF', 'A'), ('CG', 'C')], [('CF', 'DF'), ('EG', 'B'), ('CF', 'A'), ('CG', 'C')], [('L1M1',), ('L1M2', 'DF', 'A'), ('C', 'A'), ('CG', 'C')], [('L1M1',), ('L1M2', 'DF', 'A'), ('C', 'A'), ('CG', 'C')], [('L1M1',), ('L1M2', 'DF', 'A'), ('C', 'A'), ('CG', 'C')], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], ]] ]
################################# ################################# ################################# ##importation #importation importation des des des fct. fct. fct. externes externes externes :: : import import import bpy bpy bpy import import import random random random import import import rerere ################################# ################################# ################################# ##corps #corps corps principal principal principal du dudu programme programme programme :: : ##Clear #Clear Clear lelemodèle lemodèle modèle précédent précédent précédent bpy.ops.object.select_all(action='SELECT') bpy.ops.object.select_all(action='SELECT') bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete(use_global=False, bpy.ops.object.delete(use_global=False, bpy.ops.object.delete(use_global=False, confirm=False) confirm=False) confirm=False) ##Liste #Liste Liste des des des points points points de dede spawn spawn spawn de dede lalaspirale laspirale spirale
36
c range(doublon): inrange(doublon): range(doublon): forfor for c cinin is_doublon c0>0 0 is_doublon is_doublon ==c=c>> ifis_g: is_g: ififis_g: #bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=#bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=#bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=False, location=(x, - 0.5 +(pattern_number (pattern_number *0.125), 0.125), z0.5)) +0.5)) 0.5)) False, location=(x, 0.5 False, location=(x, yy- y-0.5 ++(pattern_number **0.125), z z++ #bpy.ops.mesh.primitive_cylinder_add(radius=0.3, vertices=20, enter_edit#bpy.ops.mesh.primitive_cylinder_add(radius=0.3, vertices=20, enter_edit#bpy.ops.mesh.primitive_cylinder_add(radius=0.3, vertices=20, enter_editmode=False, location=(x, - 0.5 +(pattern_number (pattern_number *0.125), 0.125), z0.5)) +0.5)) 0.5)) mode=False, location=(x, 0.5 mode=False, location=(x, yy- y-0.5 ++(pattern_number **0.125), z z++ bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, location=(x, - 0.5 +(pattern_number (pattern_number *0.125), 0.125), z0.5)) +0.5)) 0.5)) location=(x, 0.5 location=(x, yy- y-0.5 ++(pattern_number **0.125), z z++ bpy.ops.transform.resize(value=(pattern_number *0.05, 0.05, 1, 0.02 *pattern_nupattern_nubpy.ops.transform.resize(value=(pattern_number 0.02 bpy.ops.transform.resize(value=(pattern_number **0.05, 1,1,0.02 **pattern_number,)) mber,)) mber,)) bpy.ops.transform.rotate(value=rot, orient_axis='Y') #(1,57 radian =9090 deg) bpy.ops.transform.rotate(value=rot, orient_axis='Y') #(1,57 radian deg) bpy.ops.transform.rotate(value=rot, orient_axis='Y') #(1,57 radian ==90 deg)
des Argeggios dans #Position Position des Argeggios dans letableau tableau ##Position des Argeggios dans leletableau arpeggio_structure False, False, False, False] arpeggio_structure =[False, [False, False, False, False, False] arpeggio_structure ==[False, False, False, False, False]
translation_matrix translation_matrix translation_matrix ==[(0,0,0,),(0,1,0,),(1,1, =[(0,0,0,),(0,1,0,),(1,1, [(0,0,0,),(0,1,0,),(1,1, 1.57,),(1,0, 1.57,),(1,0, 1.57,),(1,0, 1.57,),(1,-1, 1.57,),(1,-1, 1.57,),(1,-1, 3.14,),(0,-1, 3.14,),(0,-1, 3.14,),(0,-1, 3.14,), 3.14,), 3.14,), (-1,-1, (-1,-1, (-1,-1, 3.14,),(-1,0, 3.14,),(-1,0, 3.14,),(-1,0, 4.71,),(-1,1, 4.71,),(-1,1, 4.71,),(-1,1, 4.71,),(-1,2, 4.71,),(-1,2, 4.71,),(-1,2, 4.71,),(0,2, 4.71,),(0,2, 4.71,),(0,2, 0,), 0,), 0,), (1,2, (1,2, (1,2, 0,),(2,2, 0,),(2,2, 0,),(2,2, 0,),(2,1, 0,),(2,1, 0,),(2,1, 1.57,),(2,0, 1.57,),(2,0, 1.57,),(2,0, 1.57,),(2,-1, 1.57,),(2,-1, 1.57,),(2,-1, 1.57,), 1.57,), 1.57,), (2,-2, (2,-2, (2,-2, 1.57,),(1,-2, 1.57,),(1,-2, 1.57,),(1,-2, 3.14,),(0,-2, 3.14,),(0,-2, 3.14,),(0,-2, 3.14,),(-1,-2, 3.14,),(-1,-2, 3.14,),(-1,-2, 3.14,),(-2,-2, 3.14,),(-2,-2, 3.14,),(-2,-2, 3.14,), 3.14,), 3.14,), (-2,-1, (-2,-1, (-2,-1, 4.71,),(-2,0, 4.71,),(-2,0, 4.71,),(-2,0, 4.71,),(-2,1, 4.71,),(-2,1, 4.71,),(-2,1, 4.71,),(-2,2, 4.71,),(-2,2, 4.71,),(-2,2, 4.71,)] 4.71,)] 4.71,)]
measure_structure_md measure_structure_md measure_structure_md ==[ =[ [ [('CF', 'V'), ('EG', 'V'), ('CF', 'V'), ('CG', 'V')], [('CF', 'V'), ('EG', 'V'), ('CF', 'V'), ('CG', 'V')], [('CF', 'V'), ('EG', 'V'), ('CF', 'V'), ('CG', 'V')], [('L1M1',), ('L1M2', 'DF', 'V'), ('C', 'V'), ('CG', 'V')], [('L1M1',), ('L1M2', 'DF', 'V'), ('C', 'V'), ('CG', 'V')], [('L1M1',), ('L1M2', 'DF', 'V'), ('C', 'V'), ('CG', 'V')], [('L2M1', 'C'), ('L2M2', 'C'), ('L2M3', 'A'), ('L2M4', 'A'), ('L2M4', 'V')], [('L2M1', 'C'), ('L2M2', 'C'), ('L2M3', 'A'), ('L2M4', 'A'), ('L2M4', 'V')], [('L2M1', 'C'), ('L2M2', 'C'), ('L2M3', 'A'), ('L2M4', 'A'), ('L2M4', 'V')], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], ]] ] des Argeggios dans #Position Position des Argeggios dans letableau tableau ##Position des Argeggios dans leletableau arpeggio_structure False, False, True, True] arpeggio_structure =[False, [False, False, False, True, True] arpeggio_structure ==[False, False, False, True, True] """""" """
##Tableau Tableau # Tableau des des des loops/mesures/paternes: loops/mesures/paternes: loops/mesures/paternes: #################################### #################################### #################################### measure_structure_mg measure_structure_mg measure_structure_mg ==[ =[ [ [('CG', [('CG', [('CG', 'A'), 'A'), 'A'), ('CF', ('CF', ('CF', 'A'), 'A'), 'A'), ('CG', ('CG', ('CG', 'A'), 'A'), 'A'), ('CF', ('CF', ('CF', 'A')], 'A')], 'A')], [('L1M1',), [('L1M1',), [('L1M1',), ('L1M2', ('L1M2', ('L1M2', 'DF', 'DF', 'DF', 'A'), 'A'), 'A'), ('EG', ('EG', ('EG', 'A'), 'A'), 'A'), ('EG', ('EG', ('EG', 'C')], 'C')], 'C')], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], ]] ]
Tableau dede composition CUBE_4 # Tableau composition CUBE_4 ##Tableau de composition CUBE_4 """""" """ measure_structure_mg measure_structure_mg measure_structure_mg ==[ =[ [ [('C', 'A'), ('C', 'EG'), ('V', 'A'), ('B', 'EG')], [('C', 'A'), ('C', 'EG'), ('V', 'A'), ('B', 'EG')], [('C', 'A'), ('C', 'EG'), ('V', 'A'), ('B', 'EG')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'A'), ('DF', 'CF')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'A'), ('DF', 'CF')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'A'), ('DF', 'CF')], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], [('L2M1',),('L2M2',), ('L2M3',), ('L2M4',)], ]] ]
measure_structure_md measure_structure_md measure_structure_md ==[ =[ [ [('CG', [('CG', [('CG', 'V'), 'V'), 'V'), ('CF', ('CF', ('CF', 'V'), 'V'), 'V'), ('CG', ('CG', ('CG', 'V'), 'V'), 'V'), ('CF', ('CF', ('CF', 'V')], 'V')], 'V')], [('L1M1',), [('L1M1',), [('L1M1',), ('L1M2' ('L1M2' ('L1M2' , 'DF', , 'DF', , 'DF', 'V'), 'V'), 'V'), ('EG', ('EG', ('EG', 'V'), 'V'), 'V'), ('EG', ('EG', ('EG', 'V')], 'V')], 'V')], [('L2M1', [('L2M1', [('L2M1', 'A'), 'A'), 'A'), ('L2M2', ('L2M2', ('L2M2', 'A'), 'A'), 'A'), ('L2M3', ('L2M3', ('L2M3', 'A'), 'A'), 'A'), ('L2M4', ('L2M4', ('L2M4', 'B'), 'B'), 'B'), ('L2M4', ('L2M4', ('L2M4', 'C')], 'C')], 'C')], [('L3M1',), [('L3M1',), [('L3M1',), ('L2M2',), ('L2M2',), ('L2M2',), ('L3M3',), ('L3M3',), ('L3M3',), ('L3M4',)], ('L3M4',)], ('L3M4',)], [('L3M1', [('L3M1', [('L3M1', 'L4M1'), 'L4M1'), 'L4M1'), ('L3M2', ('L3M2', ('L3M2', 'L4M2'), 'L4M2'), 'L4M2'), ('L3M3', ('L3M3', ('L3M3', 'L4M3'), 'L4M3'), 'L4M3'), ('L3M4', ('L3M4', ('L3M4', 'L4M4')], 'L4M4')], 'L4M4')], ]] ]
measure_structure_md measure_structure_md measure_structure_md ==[ =[ [ [('C', 'V'), ('C', 'V'), ('V', 'V'), ('B', 'V')], [('C', 'V'), ('C', 'V'), ('V', 'V'), ('B', 'V')], [('C', 'V'), ('C', 'V'), ('V', 'V'), ('B', 'V')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'V'), ('DF', 'V')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'V'), ('DF', 'V')], [('L1M1',), ('L1M2', 'A', 'CG'), ('EG', 'V'), ('DF', 'V')], [('L2M1', 'CF'), ('L2M2', 'A'), ('L2M3', 'A'), ('L2M4', 'EG'), ('L2M4', 'B')], [('L2M1', 'CF'), ('L2M2', 'A'), ('L2M3', 'A'), ('L2M4', 'EG'), ('L2M4', 'B')], [('L2M1', 'CF'), ('L2M2', 'A'), ('L2M3', 'A'), ('L2M4', 'EG'), ('L2M4', 'B')], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1',), ('L2M2',), ('L3M3',), ('L3M4',)], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], [('L3M1', 'L4M1'), ('L3M2', 'L4M2'), ('L3M3', 'L4M3'), ('L3M4', 'L4M4')], ]] ]
##Position #Position Position des des des Argeggios Argeggios Argeggios dans dans dans leletableau letableau tableau arpeggio_structure arpeggio_structure arpeggio_structure ==[False, =[False, [False, False, False, False, False, False, False, True, True, True, False] False] False]
#Spawn Spawn lastructure structure dede ##Spawn de lalastructure
des cubes selon #Spawn Spawn des cubes selon lamatrice matrice ##Spawn des cubes selon lalamatrice
matrix_to_cube() matrix_to_cube() matrix_to_cube() #create_grid() #create_grid() #create_grid()
################################# ################################# ################################# locale dede fonctions #definition definition locale fonctions ##definition locale de fonctions :: :
##Tableau Tableau # Tableau de dede composition composition composition CUBE_2 CUBE_2 CUBE_2 """ """""" measure_structure_mg measure_structure_mg measure_structure_mg ==[ =[ [ [('DF', [('DF', [('DF', 'C'), 'C'), 'C'), ('EG', ('EG', ('EG', 'C'), 'C'), 'C'), ('DF', ('DF', ('DF', 'C'), 'C'), 'C'), ('EG', ('EG', ('EG', 'C')], 'C')], 'C')], [('L1M1',), [('L1M1',), [('L1M1',), ('L1M2', ('L1M2', ('L1M2', 'EG', 'EG', 'EG', 'B'), 'B'), 'B'), ('A', ('A', ('A', 'B'), 'B'), 'B'), ('CG', ('CG', ('CG', 'V')], 'V')], 'V')], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), [('L2M1',),('L2M2',), ('L2M3',), ('L2M3',), ('L2M3',), ('L2M4',)], ('L2M4',)], ('L2M4',)], ]] ] measure_structure_md measure_structure_md measure_structure_md ==[ =[ [ [('DF', [('DF', [('DF', 'V'), 'V'), 'V'), ('EG', ('EG', ('EG', 'V'), 'V'), 'V'), ('DF', ('DF', ('DF', 'V'), 'V'), 'V'), ('EG', ('EG', ('EG', 'V')], 'V')], 'V')], [('L1M1',), [('L1M1',), [('L1M1',), ('L1M2', ('L1M2', ('L1M2', 'EG', 'EG', 'EG', 'V'), 'V'), 'V'), ('A', ('A', ('A', 'V'), 'V'), 'V'), ('CG', ('CG', ('CG', 'V')], 'V')], 'V')], [('L2M1', [('L2M1', [('L2M1', 'B'), 'B'), 'B'), ('L2M2', ('L2M2', ('L2M2', 'B'), 'B'), 'B'), ('L2M3', ('L2M3', ('L2M3', 'A'), 'A'), 'A'), ('L2M4', ('L2M4', ('L2M4', 'C'), 'C'), 'C'), ('L2M4', ('L2M4', ('L2M4', 'DF')], 'DF')], 'DF')], [('L3M1',), [('L3M1',), [('L3M1',), ('L2M2',), ('L2M2',), ('L2M2',), ('L3M3',), ('L3M3',), ('L3M3',), ('L3M4',)], ('L3M4',)], ('L3M4',)], [('L3M1', [('L3M1', [('L3M1', 'L4M1'), 'L4M1'), 'L4M1'), ('L3M2', ('L3M2', ('L3M2', 'L4M2'), 'L4M2'), 'L4M2'), ('L3M3', ('L3M3', ('L3M3', 'L4M3'), 'L4M3'), 'L4M3'), ('L3M4', ('L3M4', ('L3M4', 'L4M4')], 'L4M4')], 'L4M4')], ]] ]
Drone Drone Drone
Drone Drone Drone
Metamor Metamo Metam Cell Cell Cell
Long Long Long held held held note/notes note/notes note/notes
Changing Changing Changing o time time time tototo mak ma m
Ostinato Ostinato Ostinato Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Loops/short Loops/short Loops/short repeated repeated repeated melodies melodies melodies
Phasing Phasing Phasing Cell Cell Cell
Layering Layering Layering Cell Cell Cell
Cell Cell Cell
Adding Adding Adding layers layers layers ofofof new new new melody melody melody evenly evenly evenly
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Bass Bass Bass
Bass Bass Bass
Bass Bass Bass
Bass Bass Bass
Strings Strings Strings
Strings Strings Strings
Cell Cell Cell
Having Having Having aa and and and repea repea rep
Static Static Static Ha HH Augmentation Augmentation Augmentation Cell Cell Cell
Cell Cell Cell
C4 C4C4
Playing Playing Playing the the the melody melody melody twice twice twice as asas slow, slow, slow, then then then twice twice twice as asas slow slow slow again again again
Cell Cell Cell
C3 C3C3
#Fonction Fonction principale principale ##Fonction principale
def translate_matrix(matrix): def translate_matrix(matrix): def translate_matrix(matrix): final_matrix final_matrix final_matrix ==[]=[] [] forfor loop_idx, loop loop_idx, loop inenumerate(matrix): enumerate(matrix): for loop_idx, loop ininenumerate(matrix): final_matrix.append([]) final_matrix.append([]) final_matrix.append([]) forfor mesure mesure inloop: loop: for mesure ininloop: mesures mesures mesures ==[]=[] [] forfor inmesure: mesure: for kkinkinmesure: loop_search loop_search =re.search(r'^L\d+', re.search(r'^L\d+', loop_search ==re.search(r'^L\d+', k)k)k) mesure_search mesure_search =re.search(r'M\d+$', re.search(r'M\d+$', mesure_search ==re.search(r'M\d+$', k)k)k) and mesure_search): if(loop_search (loop_search and mesure_search): ifif(loop_search and mesure_search): loop_search loop_search =int(loop_search.group(0)[1:]) int(loop_search.group(0)[1:]) loop_search ==int(loop_search.group(0)[1:]) mesure_search mesure_search =int(mesure_search.group(0)[1:]) int(mesure_search.group(0)[1:]) mesure_search ==int(mesure_search.group(0)[1:]) mesures +=+= final_matrix[loop_search 1][mesure_search mesures final_matrix[loop_search - 1][mesure_search - 1] mesures += final_matrix[loop_search - -1][mesure_search - -1]1] else: else: else: mesures.append(k) mesures.append(k) mesures.append(k) final_matrix[loop_idx].append(mesures) final_matrix[loop_idx].append(mesures) final_matrix[loop_idx].append(mesures) return final_matrix return final_matrix return final_matrix
"""""" """
### ### ### AUTRES AUTRES AUTRES TABLEAUX TABLEAUX TABLEAUX POUR POUR POUR AUTRES AUTRES AUTRES CONFIGURATION CONFIGURATION CONFIGURATION ### ### ### ##à#àcoupler coupler à coupler aux aux aux changement changement changement de dede valeurs valeurs valeurs dans dans dans lelespawn lespawn spawn de dede cubes cubes cubes
def create_frame(x, y, def create_frame(x, z):z): def create_frame(x, y,y,z): bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, location=(x, bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, location=(x, zz bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, location=(x, y,y,zy, +0.5)) 0.5)) ++0.5)) bpy.ops.object.modifier_add(type='WIREFRAME') bpy.ops.object.modifier_add(type='WIREFRAME') bpy.ops.object.modifier_add(type='WIREFRAME') bpy.context.object.modifiers["Wireframe"].thickness =0.07 0.07 bpy.context.object.modifiers["Wireframe"].thickness bpy.context.object.modifiers["Wireframe"].thickness ==0.07
def matrix_to_cube(): def matrix_to_cube(): def matrix_to_cube(): matrix_g_translate =translate_matrix(measure_structure_mg) translate_matrix(measure_structure_mg) matrix_g_translate matrix_g_translate ==translate_matrix(measure_structure_mg) matrix_d_translate =translate_matrix(measure_structure_md) translate_matrix(measure_structure_md) matrix_d_translate matrix_d_translate ==translate_matrix(measure_structure_md) print(measure_structure_mg) print(measure_structure_mg) print(measure_structure_mg) print(measure_structure_md) print(measure_structure_md) print(measure_structure_md) matrix_lengh =len(matrix_g_translate) len(matrix_g_translate) matrix_lengh matrix_lengh ==len(matrix_g_translate) i range(matrix_lengh): inrange(matrix_lengh): range(matrix_lengh): forfor for i iinin loop_g =matrix_g_translate[i] matrix_g_translate[i] loop_g loop_g ==matrix_g_translate[i] loop_d =matrix_d_translate[i] matrix_d_translate[i] loop_d loop_d ==matrix_d_translate[i] measure_lengh =len(loop_g) len(loop_g) measure_lengh measure_lengh ==len(loop_g) create_frame(0, create_frame(0, i) i) create_frame(0, 0,0,i)0, position position position ==1=1 1 j range(measure_lengh): inrange(measure_lengh): range(measure_lengh): forfor for j jinin doublon_g doublon_g doublon_g =={}={} {} doublon_d doublon_d doublon_d =={}={} {} inloop_g[j]: loop_g[j]: forfor for kkinkinloop_g[j]: doublon_g[k] =doublon_g.get(k, doublon_g.get(k, doublon_g[k] doublon_g[k] ==doublon_g.get(k, 0)0)+0)+1+1 1 inloop_d[j]: loop_d[j]: forfor for kkinkinloop_d[j]: doublon_d[k] =doublon_d.get(k, doublon_d.get(k, doublon_d[k] doublon_d[k] ==doublon_d.get(k, 0)0)+0)+1+1 1 l range(6): inrange(6): range(6): forfor for l linin =translation_matrix[position][0] translation_matrix[position][0] xx=x=translation_matrix[position][0] =translation_matrix[position][1] translation_matrix[position][1] yy=y=translation_matrix[position][1] =translation_matrix[position][2] translation_matrix[position][2] rotrot rot ==translation_matrix[position][2] #create_frame(x, i)### ### fait apparaitre lastrucutre strucutre ### #create_frame(x, i)### fait apparaitre ### #create_frame(x, y,y,i)y, fait apparaitre lalastrucutre ### key indoublon_g: doublon_g: forfor key for key inindoublon_g: create_pattern(key, doublon_g[key], i, True, rot) create_pattern(key, doublon_g[key], y,i,y, i,True, True, rot) create_pattern(key, doublon_g[key], x,x,y,x, rot) key indoublon_d: doublon_d: forfor key for key inindoublon_d: create_pattern(key, doublon_d[key], i, False, rot) create_pattern(key, doublon_d[key], y,i,y, i,False, False, rot) create_pattern(key, doublon_d[key], x,x,y,x, rot) position+=1 position+=1 position+=1
des Argeggios dans #Position Position des Argeggios dans letableau tableau ##Position des Argeggios dans leletableau arpeggio_structure False, True, False, False] arpeggio_structure =[False, [False, False, True, False, False] arpeggio_structure ==[False, False, True, False, False]
##Dictionnaire #Dictionnaire Dictionnaire des des des paternes paternes paternes patterns_list patterns_list patterns_list =={ ={ { 'V' 'V''V' :1, :1,:1, 'A': 'A': 'A': 1,1,1, 'B': 'B': 'B': 1.5, 1.5, 1.5, 'C': 'C': 'C': 2,2,2, 'CG': 'CG': 'CG': 4,4,4, 'CF': 'CF': 'CF': 5,5,5, 'DF': 'DF': 'DF': 4.5, 4.5, 4.5, 'EG': 'EG': 'EG': 3,3,3, }} }
else: else: else: bpy.ops.mesh.primitive_cube_add(size=0.4, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.4, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.4, enter_editmode=False, location=(x, z(pattern_number +(pattern_number (pattern_number *0.125))) 0.125))) location=(x, z++ location=(x, y,y,zy, **0.125))) bpy.ops.transform.resize(value=(1, 1, 0.18 *pattern_number,)) pattern_number,)) bpy.ops.transform.resize(value=(1, 0.18 bpy.ops.transform.resize(value=(1, 1,1,0.18 **pattern_number,)) bpy.ops.transform.rotate(value=rot, orient_axis='Z') #(1,57 radian =9090 deg) bpy.ops.transform.rotate(value=rot, orient_axis='Z') #(1,57 radian deg) bpy.ops.transform.rotate(value=rot, orient_axis='Z') #(1,57 radian ==90 deg) ifis_doublon: is_doublon: ififis_doublon: bpy.ops.mesh.primitive_cube_add(size=0.3, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.3, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.3, enter_editmode=False, location=(x +(pattern_number (pattern_number *0.005), 0.005), z0.3)) +0.3)) 0.3)) location=(x z++ location=(x ++(pattern_number **0.005), y,y,zy, #bpy.ops.transform.resize(value=(pattern_number *0.3, 0.3, 1, 0.125 *pattern_pattern_#bpy.ops.transform.resize(value=(pattern_number 0.125 #bpy.ops.transform.resize(value=(pattern_number **0.3, 1,1,0.125 **pattern_number,)) number,)) number,)) #bpy.ops.transform.rotate(value=rot, orient_axis='X') #(1,57 radian =9090 deg) #bpy.ops.transform.rotate(value=rot, orient_axis='X') #(1,57 radian deg) #bpy.ops.transform.rotate(value=rot, orient_axis='X') #(1,57 radian ==90 deg) #bpy.ops.transform.rotate(value=rot-0.75, orient_axis='Z') #(1,57 radian =9090 #bpy.ops.transform.rotate(value=rot-0.75, orient_axis='Z') #(1,57 radian #bpy.ops.transform.rotate(value=rot-0.75, orient_axis='Z') #(1,57 radian ==90 deg) deg) deg) #bpy.ops.object.modifier_add(type='WIREFRAME') #bpy.ops.object.modifier_add(type='WIREFRAME') #bpy.ops.object.modifier_add(type='WIREFRAME') #bpy.context.object.modifiers["Wireframe"].thickness =0.08 0.08 #bpy.context.object.modifiers["Wireframe"].thickness #bpy.context.object.modifiers["Wireframe"].thickness ==0.08 ifis_g: is_g: ififis_g: bpy.ops.transform.rotate(value=1.57, orient_axis='X') #(1,57 radian =9090 deg) bpy.ops.transform.rotate(value=1.57, orient_axis='X') #(1,57 radian deg) bpy.ops.transform.rotate(value=1.57, orient_axis='X') #(1,57 radian ==90 deg) ifarpeggio_structure[z]: arpeggio_structure[z]: ififarpeggio_structure[z]: bpy.ops.mesh.primitive_cube_add(size=0.55, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.55, enter_editmode=False, bpy.ops.mesh.primitive_cube_add(size=0.55, enter_editmode=False, location=(x, z(pattern_number +(pattern_number (pattern_number *0.125))) 0.125))) location=(x, z++ location=(x, y,y,zy, **0.125))) bpy.ops.transform.resize(value=(1,( - 0.02 *pattern_number), pattern_number), 0.03 bpy.ops.transform.resize(value=(1,( 0.02 0.03 bpy.ops.transform.resize(value=(1,( 11- 1-0.02 **pattern_number), 0.03 ** * pattern_number)) pattern_number)) pattern_number))
Minimalist Minimalist music music composition composition techniques techniques -- A.I.M. A.I.M.
Series of architectural objects created by procedural generation following Philip Glass’ score : String Quartet No. 3 ‘Mishima’, VI Code written in Python
Diminution Diminution Diminution Cell Cell Cell
Cell Cell Cell
Here Here Here it’s it’s it’C One One One note note not
Cell Cell Cell
Playing Playing Playing the the the melody melody melody twice twice twice as asas fast, fast, fast, then then then twice twice twice as asas fast fast fast again again again Note Note Note substraction substraction substraction Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Taking Taking Taking one one one note note note away away away atatat aatime atime time from from from the the the short short short melody melody melody
C4 C4C4
Note Note Note addition addition addition Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Cell Cell Cell
Making Making Making oo changing changing changin
Adding Adding Adding one one one note note note atatat aatime atime time tototo make make make the the the short short short melody melody melody
def create_pattern(key, doublon, y,z,y, z,is_g, is_g, rot): def create_pattern(key, doublon, z, is_g, rot): def create_pattern(key, doublon, x,x,y,x, rot): pattern_number =patterns_list[key] patterns_list[key] pattern_number pattern_number ==patterns_list[key]
complete project on www.sachajonckers.com
37