====== Polygones dégénérés ====== Au fablab @ Flux, 8-12 novembre 2025 Pad : https://annuel.framapad.org/p/rda_polygone_2025 ===== XY LDC ===== Alléger une paire de micros larges diaphragmes NEAT King Bee II (6dB Self Noise) de 1kg pièce pour en faire quelque chose de portable pour du field recording. ====NEAT King Bee II en image==== {{:recherche:residence_polygones:nkingbee2-ensemble.jpg?200|}}{{:recherche:residence_polygones:nkingbee2-capsule1.jpg?200|}}{{:recherche:residence_polygones:nkingbee2-capsule3.jpg?200|}}{{:recherche:residence_polygones:nkingbee2-connexioncaps.jpg?200|}}{{:recherche:residence_polygones:nkingbee2-connexionxlr.jpg?200|}}{{:recherche:residence_polygones:nkingbee2-connexionxlr2.jpg?200|}} [[recherche:residence_polygones:xy_ldc|XY LDC]] ===== mesh 2 svg 2 paper ===== [[recherche:residence_polygones:mesh2svg2paper|mesh2svg2paper (notes)]] [[recherche:residence_polygones:papercraft|papercraft (notes)]] [[recherche:residence_polygones:blender_export_paper_model|Utiliser l'add-on Blender «Export Paper Model»]] ==== Petite parenthèse VRML ==== Visualiseur en ligne pour fichiers VRML : https://imagetostl.com/view-wrl-online#convert \\ Navigateur VRML à compiler : https://freewrl.sourceforge.io/examples.html \\ Peut être possible d'afficher un fichier VRML avevc : https://castle-engine.io/ \\ https://www.qiew.org/ \\ https://web.archive.org/web/20140412054654/http://cic.nist.gov/vrml/vbdetect.html \\ ===== Physarum Polycephalum ===== **Maintenant en 3D !** 🍩 Reprise d'un vieux projet de génération de motifs d'après l'algorithme de croissance du [[https://fr.wikipedia.org/wiki/Physarum_polycephalum|Physarum Polycephalum]] (a.k.a "le blob"), mais en y ajoutant une troisième dimension pour passer du pixel au voxel. * Godot 4.5 * Utilisation d'un compute shader pour accelerer le calcul de diffusion des traces chimiques. * Grille 3D relativement petite (32x32x32 à 100x100x100) avec un nombre d'agent/particules allant de 5.000 à 20.000 (code source à venir) {{:recherche:residence_polygones:phypoly_1.png?direct&400|}} {{:recherche:residence_polygones:phypoly_2.png?direct&400|}} {{:recherche:residence_polygones:polyphy_3.png?direct&400|}} {{:recherche:residence_polygones:slice_723_0.png?nolink&200|}} (vue de coupe au centre de la grille de voxels) ==== Travaux similaires (et plus aboutis) ==== * [[https://escholarship.org/uc/item/1x6458cp|PolyPhy]] * [[https://www.researchgate.net/publication/380331398_PhysOM_Physarum_polycephalum_Oriented_Microstructures|PhysOM]] ===== Pavages de polygones brodés ===== Les fichiers sont sur la clés usb de la machine, dossier 'laurent' {{:recherche:residence_polygones:pb101050.jpg?600|}} {{:recherche:residence_polygones:pb101051.jpg?600|}} {{:recherche:residence_polygones:pb101055.jpg?600|}} ===== Roland DPX-3300 ===== {{:recherche:residence_polygones:pb111077.jpg?400|}} {{:recherche:residence_polygones:pb111079.jpg?400|}} ==== Dessiner un fichier svg depuis linux ==== === Conversion de fichiers svg en RP-GL2 avec vpype-rpgl === pipx install vpype pipx inject vpype https://gitlab.com/losylam/vpype-rpgl/-/archive/v0.1.0/vpype-rpgl-v0.1.0.tar.gz Usage vpype read input.svg rpwrite output.rpgl === Streamer le fichier avec hpplot === Installation [[https://github.com/rhalkyard/hpplot|hpplot]] git clone https://github.com/rhalkyard/hpplot cd hpplot pipx install . Usage hpplot -f query -B 32 /dev/ttyUSB0 output.rpgl === Les trucs qui ne marchent pas === * Le dessin s'arrête avant la fin, il manque les quelques derniers traits et souvent le stylo reste baissé. * Le dessin est retourné en y (le haut est en bas) => à corriger dans vpype-rpgl * Le chargement / changement de stylo ne fonctionne pas * Il faut placer la feuille en bas à gauche (x=11mm, y=8mm), l'origine est fixée en dur dans le plugin (voir plus bas) ==== Création du plugin vpype-rpgl ==== Les sources sont disponibles sur [[https://gitlab.com/losylam/vpype-rpgl|gitlab]] D'après [[https://vpype.readthedocs.io/en/latest/plugins.html | la documentation de pipx]] 1. Utilisation de cookiecutter pour faire un squelette de plugin vpype # installer cookiecutter pipx install cookiecutter # initialiser un projet à partir du modèle de plugin cookiecutter gh:abey79/cookiecutter-vpype-plugin # Un formulaire permet de changer le noms du module (ici ''vpype-rpgl'') et de la commande (ici ''rpwrite'') 2. Conversion Le processus a lieu dans le fichier ''vpype_rpgl/rpwrite.py'' Inspiré du plugin [[https://github.com/plottertools/vpype-gcode|vpype-gcode]] from __future__ import annotations import click import copy import vpype as vp import vpype_cli def cplx(p: complex, offset_x, offset_y) -> str: return f"{int(round(p.real)+offset_x)},{int(round(p.imag)+offset_y)}" # @click.command() @click.argument("output", type=vpype_cli.FileType("w")) @vpype_cli.cli.command(group="Plugins") @vpype_cli.global_processor def rpwrite(document: vp.Document, output: typing.TextIO) -> vp.LineCollection: """ Write rp-gl2 files for the vpype pipeline. """ orig_document = document document = copy.deepcopy(document) # do NOT affect the pipeline's document unit_scale = vp.convert_length('mm') # unit_scale = 100 offset_x = -17750 offset_y = -11180 mult = 50 / 1.25 document.scale(mult / unit_scale, mult / unit_scale) lc = vp.LineCollection() layers = document.layers output.write('IN;') output.write('PA;') output.write('SP1;PU;\n') output.write('OS;\n') for (layer_id, layer) in layers.items(): for line in layer: output.write('PU' + cplx(line[0], offset_x, offset_y) + ';\n') for pt in line[1:]: output.write('PD' + cplx(pt, offset_x, offset_y) + ';\n') output.write('PU 0,0 ;\n') return orig_document ==== TODO ==== * Corriger les trucs qui ne marchent pas cités plus haut * Ajoutes des paramètres (vitesse et pression) voir des profils machines comme pour vpype-gcode