Logo_Lav_PixelPerfect-12-12
01-31/

AUGUST

X Cosa Mentale
FLUX OF GENERATIVE





INTERACTIVE INSTALLATION GRAPHIC DESIGN
PATTERNS
3D PRINTING SHAPE



RESEARCHES
Separateur_Vertical-10
Logo_FragesLav_PixelPerfect-10

Frages is a project in which we are deeply involved, it consists of free research dedicated to graphical exploration with the implementation of new working practice. The project aims to promote generatif and more generally the code practice as a visual creation process. It’s also the occasion for us to extend our coding practice to new fields (print, web creation, mobile, AR) to experience new esthetical value.

In front of the ambivalence of digital practices within the current context, Frages is also an occasion for us to experiment with more reasoned practices. Within this project we pay a particular attention to a free and open-source creation.

Each session of research leads to public restitution through exhibition. This session which take place during August will give place to an exhibition from August 27 to 29.

QR_Insta

IG/ Frages_at

GENERATIVE

DESIGN PATTERN
3D SHAPE



RESEARCHES

01

HOW TO 2D MOVING GENERATE 3D SHAPES?

We creating moving pattern in GLSL using freeware: Kodelife

positionForm1.xz *= rotation(-position.y*0.5);
vec2 sizeForm1 = vec2(0.1,0.2)*1.5;
vec3 repetition = vec3 (sizeForm1.x*2.,0.,sizeForm1.y*2.);
positionForm1 = mod(positionForm1,repetition)-0.5*repetition;
float form1 = box(positionForm1.xz,sizeForm1);
positionForm2.xz *= rotation(-position.y*0.25);
float form2 = box(positionForm2.xz,vec2(1.));
float form3 = smoothIntersection(form1,form2,0.7);
float form4 = box(positionForm3.xz,vec2(0.3,0.4));
float form5 = smoothUnion(form3,form4,0.2);
01_02_Triple_Pattern-09
01_02_Motif-09-09-09
01_03_Sq_PNG-09-09

Exporting .png sequence in order to put in on 3Dslicer software. 3DSlicer is free & Open source software used for DICOM*

* Digital Imaging and Communications in Medicine

01_05_Colone3D-10

3D SHAPE IS GENERATED WITH THE ANIMATED PATTERNS

PROTOTYPING TO VISUALIZE 3D SHAPE ACCORDING TO THE PATTERN

Code available here:

VARETY OF PATTERN RESEARCH

BASED ON SIMPLE

DEFORMATION OF GRID SPACE

The deformation of space grid generate a repetition of element here:   a square

for(int i = 0 ; i <repetition ; i++){
position -= gap;
position *= rotation(pi*0.25);
position = abs(position);
}

* 3D shapes combining the repetition

   GRID & SHAPE VISUALISER

To make this transition clearer and not just have the end result. An interactive visualization system has been created so that the user can observe on the fly the generation of the shape according to the pattern. Code steps have also been added to lin them with the operations involved in the process.

The last step to make the process clearer was to make an interactive creation of pattern.
As in this part the user interact in time with the space of the pattern, the final shape was no longer generated as a function of time but as a function of the stages of complexity applied to this space.
He can thus move the square at the origin of the pattern in a space which cuts back on itself as a function of time like a very simple fractal.

INTERACTIVE TOOL AVAILABLE HERE:

Clic to the big square and move with your mouse.

GENERATIVE


DESIGN




RESEARCHES
03_02-10

Studie of traditionnal islamic pattern to identifie and reproduce the modification system of pattern creation

03_03-13

PATTERNS DECONSTRUCTION

03_DavidWade-22-22

For a research for patterns we got interested in a specific type of islamic pattern. It’s composed of a dark shape topped by the same light shape which has been rotated 90°. The readability of the initial form and its capacity to always overlap with itself made it an interesting subject for a procedural study.

03_08_STUDIES-19-23

We found some amazing references on this website with HD studies content:

 
03_05-15-15
Barre_Verticale-25-25-25-25
03_06-16

The glyph gains complexity with the addition of the negative part.

03_07-17
03_02-10

repetition and orientation of the shape

03_08_PatternOrientaion03-18
03_08_PatternOrientaion02-18
GENERATIVE


DESIGN




RESEARCHES

The first technique used seeks to make shapes with two lines (one straight and one diagonal) in order to try to remake shapes close to the first glyph as some kind of letters.

03_09-21

Combination create differents glyphes:

The second technique uses complete randomness to seek new forms . Depending on the value of each tiles either it is entirely dark, entirely light or cut in half.

04_02_Shape-29-29
GENERATIVE

3D SHAPES



RESEARCHES

03-30-30
Render3D_Vertical-31

3D VISUALISATION

– use of a simple pattern (checkerboard alternating lines going in the opposite direction) to study its passage in three dimensions.

– creation of a three-dimensional checkerboard

– the basic implementation of the pattern with horizontal and vertical lines.

Angle-34

– opposite lines changing orientation according to space are implemented according to the checkerboard

– opposite lines changing orientation according to space are implemented according to the checkerboard

WE HAVE MADE AN INTERACTIVE PROTOTYPE

float map(vec3 p){ vec3 p2 = p;
vec3 p3 = p;
vec3 p4 = p;
vec3 p5 = p; 
vec3 re2 = vec3(4.); 
p2 = mod(p2+re2*vec3(0.5,0.5,0.),re2)-re2*0.5; 
p3 = mod(p3+re2*vec3(0.5,0.,0.5),re2)-re2*0.5;
p4 = mod(p4+re2*vec3(0.,0.5,0.5),re2)-re2*0.5; 
p5 = mod(p5+re2*vec3(0.),re2)-re2*0.5; 
float d5 = min(min(min(box(p2,vec3(1.)),box(p3,vec3(1.))),box(p4,vec3(1.))),box(p5,vec3(1.))); 
float d5i = max(-100.,-d5); vec3 pl = abs(p); if(pl.x>pl.z)pl.x=pl.z; if(pl.x>pl.y)pl.x=pl.y; 
vec3 pl2 =abs(p); 
if(pl2.x>pl2.y)pl2.x=pl2.y; 
if(pl2.x<pl2.z)pl2.x=pl2.z; 
vec3 pl3 =abs(p); 
if(pl3.x<pl3.y)pl3.x=pl3.y; 
float tl = 0.25; 
float d6 = clamp(length(fract(pl.x*1.5)-0.5)-0.2,-10.,tl); float d7 = clamp(length(fract(pl2.x*1.5)-0.5)-0.2,-10.,tl); 
float d8 = clamp(length(fract(pl3.x*1.5)-0.5)-0.2,-10.,tl); 
float d7b = max(d7,d8); 
float d9 = box(p,vec3(4.5)); vec3 p9 = (p+0.5)/5.; 
float di = max(d6,d5); 
float di2 = max(d7b,d5i); 
float di3 = min(di,di2); 
float dt =max(di3,d9); 
return dt; 
}
Flyer-01
Opening-01
Opening-02-01
Flyer-02-01