« PEmbroider » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 49 : Ligne 49 :


Il faudrait surtout créer le fichier de broderie:
Il faudrait surtout créer le fichier de broderie:
 
<syntaxhighlight mode="java">
Au début, changer le nom du fichier en fonction de vos préférences, par exemple:
Au début, changer le nom du fichier en fonction de vos préférences, par exemple:
   String outputFilePath = sketchPath("PEmbroider_shapes.pes");
   String outputFilePath = sketchPath("PEmbroider_shapes.pes");
Ligne 68 : Ligne 68 :


'''Extrait de code''' (Code pour le rectangle et le circle simple en haut à gauche)
'''Extrait de code''' (Code pour le rectangle et le circle simple en haut à gauche)
<syntaxhighlight mode="java">
 
<syntaxhighlight mode="Java">
import processing.embroider.*;
import processing.embroider.*;
PEmbroiderGraphics E;
PEmbroiderGraphics E;

Version du 26 mai 2021 à 16:54

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:

Il faut dezipper l'archive dans le dossier libraries dans le dossier sketchbook. La location précise est indiqué dans les Preferences
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:

<gallery mode="packed" heights="250px" showfilename="true">
file:PEmbroider_shapes.png|Visualisation des points par Processing
file:PEmbroider_shapes-PES.png|Visualisation avec Truesizer
</gallery>

'''Extrait de code''' (Code pour le rectangle et le circle simple en haut à gauche)

<syntaxhighlight mode="Java">
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