« PEmbroider » : différence entre les versions
m (→Exemple) |
|||
Ligne 42 : | Ligne 42 : | ||
=== PEmbroider shapes === | === PEmbroider shapes === | ||
'''Tester la génération d'un fichier au format PES''' | |||
Pour tester le code, il suffit de cliquer sur "Run" (>) | Pour tester le code, il suffit de cliquer sur "Run" (>) | ||
Ligne 64 : | Ligne 66 : | ||
file:PEmbroider_shapes-PES.png|Visualisation avec Truesizer | file:PEmbroider_shapes-PES.png|Visualisation avec Truesizer | ||
</gallery> | </gallery> | ||
'''Extrait de code''' | |||
import processing.embroider.*; | |||
PEmbroiderGraphics E; | |||
<syntaxhighlight mode="java"> | |||
void setup() { | |||
//noLoop(); | |||
size (900, 600); | |||
E = new PEmbroiderGraphics(this, width, height); | |||
String outputFilePath = sketchPath("PEmbroider_shapes.pes"); | |||
E.setPath(outputFilePath); | |||
E.ellipseMode(CORNER); | |||
E.beginDraw(); | |||
E.clear(); | |||
E.strokeWeight(1); | |||
E.fill(0, 0, 0); | |||
E.noStroke(); | |||
E.hatchSpacing(5); | |||
E.hatchAngleDeg(50); | |||
E.hatchMode(PEmbroiderGraphics.SATIN); | |||
E.setStitch(2, 50, 0); | |||
E.PARALLEL_RESAMPLING_OFFSET_FACTOR = 0.33; | |||
//----------------------- | |||
// Standard shapes are supported | |||
E.circle (50, 50, 150); | |||
E.square(225, 50, 150); | |||
..... | |||
//----------------------- | |||
E.optimize(); // slow, but very good and very important | |||
E.visualize(); | |||
E.endDraw(); // write out the file | |||
save("PEmbroider_shapes.png"); | |||
} | |||
void draw(){ | |||
background(200); | |||
if (mousePressed){ | |||
E.eraser(mouseX,mouseY,20); | |||
} | |||
E.visualize(); | |||
} | |||
</syntaxhighlight> | |||
== Liens == | == Liens == | ||
* [https://github.com/CreativeInquiry/PEmbroider PEmbroider] (home page sur Github) | * [https://github.com/CreativeInquiry/PEmbroider PEmbroider] (home page sur Github) |
Version du 26 mai 2021 à 16:52
Introduction
PEmbroider est une bibliothèque ouverte de broderie computationnelle développé par Golan Levin, Lingdong Huang, et Tatyana Mustakos. Selon les auteurs (notre traduction), «Les outils libres et gratuits qui existent sont soit des outils GUI autonomes complets (InkStitch, Embroidermodder), soit des bibliothèques à grande échelle (EmbroidePy), qui ne s'intègrent pas facilement aux boîtes à outils populaires de "codage créatif" et ne permettent pas non plus de créer facilement des dessins génératifs et computationnels. PEmbroider, en revanche, est une bibliothèque Java gratuite, multiplateforme, open-source et légère pour la conception de broderies génératives. Elle s'intègre au célèbre cadre de codage créatif Processing, offrant un accès facile à un écosystème vaste et diversifié de fonctionnalités, notamment la typographie de haute qualité, l'interaction en direct, la capture de mouvement, la vision par ordinateur, la cartographie SIG, la simulation physique, et bien plus encore.» ([https://github.com/CreativeInquiry/PEmbroider, Mai 2021).
License
«Intended primarily for artists, craftspersons, educators, makers, and schools, PEmbroider is free, open-source software released under both the GNU General Public Licence (GPLv3) and the Anti-Capitalist Software License (ACSL 1.4). In short: you are encouraged to use PEmbroider to make art; you are required to share your improvements to PEmbroider; and you are expressly forbidden from using PEmbroider to profiteer.» ([https://github.com/CreativeInquiry/PEmbroider, Mai 2021).
Installation
(1) PEmbroider nécessite l'installation de Processing
Sous Ubuntu 18 (un Java est compris dans la distribution de Processing 3.5.4)
- Dézipper le *.tgz
- cd processing-XXX
./processing
(2) Ensuite il faut installer PEmbroider
En principe on devrait pouvoir installer cette bibliothèque avec gestionnaire de Processing (ne marche pas....)
Sketch → Import Library → PEmbroider
Alors, il faut installer manuellement:
- Zip Archive (Download)
- Installation du zip
- Il faut dezipper l'archive dans le dossier
libraries
dans le dossier sketchbook. La location précise est indiqué dans lesPreferences
- Sous Unix:
~/sketchbook/libraries/
Structure du dossier PEmbroider. Dans le dossier example on trouve des exemples et dans reference, le manuel manque.
~/sketchbook/libraries/PEmbroider$ ls -la
drwxr-xr-x examples drwxr-xr-x library -rw-r--r-- library.properties drwxr-xr-x reference drwxr-xr-x src
Exemple
Dans le dossier PEmbroider il y pas mal d'exemples à tester. Ils sont également ici
PEmbroider shapes
Tester la génération d'un fichier au format PES
Pour tester le code, il suffit de cliquer sur "Run" (>)
Ensuite on peut ajouter des commandes dans la fonction draw()
. Pour le moment cela ajouter une fonctionalité pour gommer les dessins de broderie dans la visualisation
Il faudrait surtout créer le fichier de broderie:
Au début, changer le nom du fichier en fonction de vos préférences, par exemple:
String outputFilePath = sketchPath("PEmbroider_shapes.pes");
Ensuite à la fin, optimiser et écrire le fichier.
//----------------------- E.optimize(); // optimise le code, très lent E.visualize(); E.endDraw(); // write out the file //save("PEmbroider_shapes.png");
Voici une simulation du code:
PEmbroider shapes.png Visualisation des points par Processing
PEmbroider shapes-PES.png Visualisation avec Truesizer
Extrait de code
import processing.embroider.*; PEmbroiderGraphics E;
void setup() {
//noLoop();
size (900, 600);
E = new PEmbroiderGraphics(this, width, height);
String outputFilePath = sketchPath("PEmbroider_shapes.pes");
E.setPath(outputFilePath);
E.ellipseMode(CORNER);
E.beginDraw();
E.clear();
E.strokeWeight(1);
E.fill(0, 0, 0);
E.noStroke();
E.hatchSpacing(5);
E.hatchAngleDeg(50);
E.hatchMode(PEmbroiderGraphics.SATIN);
E.setStitch(2, 50, 0);
E.PARALLEL_RESAMPLING_OFFSET_FACTOR = 0.33;
//-----------------------
// Standard shapes are supported
E.circle (50, 50, 150);
E.square(225, 50, 150);
.....
//-----------------------
E.optimize(); // slow, but very good and very important
E.visualize();
E.endDraw(); // write out the file
save("PEmbroider_shapes.png");
}
void draw(){
background(200);
if (mousePressed){
E.eraser(mouseX,mouseY,20);
}
E.visualize();
}
Liens
- PEmbroider (home page sur Github)