Bonjour,
je ne sais pas du tout comment envisager ce problème... je souhaite parcourir les pixels d'une image mais en choisissant un angle de départ pour ce parcours. je ne suis pas sur d'être très clair...
bon merci d'avance à ceux qui m'auront compris.
Hors ligne
tu peux dessiner un schema avec paint ou autre ?
Hors ligne
Bonjour Charles et bienvenue,
Je ne sais si tu as trouvé une réponse depuis que tu as posé ta question, mais voila un exemple qui parcourt les pixels selon un angle en utilisant les coordonnées polaires. Je ne suis pas bien sûr de comprendre ce que tu cherches à faire non plus
Cherches tu parcourir tous les pixels ?
float x = 200, y = 200, prev_x, prev_y, ang = 30; void setup() { size(400, 400); } void draw() { prev_x = x; prev_y = y; x = x + cos(radians(ang)); y = y + sin(radians(ang)); if (x > width) { x = 0; } if (y > height) { y = 0; } set(int(x), int(y), color(255,255,255)); }
Hors ligne
Bonjour,
Merci beaucoup pour vos réponses.
Désolé "cgiles" mais je n'ai pas eu le temps de revenir à ce petit bout de projet (qui me sert surtout à apprendre processing) ni a dessiner un schéma.
"emoc" : l'idée est presque celle-ci. Je souhaite parcourir une image entièrement par le biais de lignes parallèles en laissant l'utilisateur définir entre autre l'angle de parcours et l'espacement entre les ligne.
Je vous joint mon travail un peu bordélique (dans lequel je n'ai pas encore intégré cette notion d'angle de parcours) si ça vous intéresse :
lth.pde :
controls.pde :
import controlP5.*; public ControlP5 controlP5; public controlP5.Label label; public ColorPicker lineColorPicker, backgroundColorPicker; void setParameters() { lineColor = color(255, 255, 255, 255); backgroundColor = color(0, 0, 0, 255); imageContrastMin = 0; imageContrastMax = 255; renduContrastMin = 0; lineWidth = 8; renduContrastMax = lineWidth / 2; angle = 0; smoothToggle = true; } void makeControls() { controlP5 = new ControlP5(this); int i = 10; controlP5.addTextlabel("lineColorLabel", "lineColor :", 10, i); lineColorPicker = controlP5.addColorPicker("lineColor", 10, i += 12, 255, 255); lineColorPicker.setColorValue(lineColor); controlP5.addTextlabel("backgroundColorLabel", "backgroundColor :", 10, i += 70); backgroundColorPicker = controlP5.addColorPicker("backgroundColorPicker", 10, i += 12, 255, 20); backgroundColorPicker.setColorValue(backgroundColor); controlP5.addTextlabel("contrastLabel", "contrast :", 10, i += 70); controlP5.addSlider("imageContrastMin", 0, 255, 10, i += 12, 255, 9); controlP5.addSlider("imageContrastMax", 0, 255, 10, i += 12, 255, 9); controlP5.addSlider("renduContrastMin", -50, 50, 10, i += 12, 255, 9); controlP5.addSlider("renduContrastMax", -50, 50, 10, i += 12, 255, 9); controlP5.addTextlabel("geometryLabel", "geometry :", 10, i += 20); controlP5.addSlider("lineWidth", 0, 50, 10, i += 12, 255, 9); controlP5.addSlider("angle", 0, 360, 10, i += 12, 255, 9); controlP5.addToggle("smoothToggle", true, 10, i += 20, 50, 9); controlP5.addButton("lhtJpg", 1, 91, i, 50, 9); controlP5.addButton("lhtPdf", 1, 153, i, 50, 9); controlP5.addButton("lhtDraw", 1, 215, i, 50, 9); }
exports.pde :
import processing.pdf.*; public PGraphicsPDF pdf; public boolean lhtPdfBoolean = false; public boolean lhtJpgBoolean = false; void lhtPdf() { lhtPdfBoolean = true; // String fileName = "test"; // println("lthPdf ["+fileName+".pdf] : wait"); // beginRecord(PDF, fileName+".pdf"); // lhtDraw(); // endRecord(); // println("lthPdf ["+fileName+".pdf] : ok"); lhtDraw(); } void lhtJpg() { lhtJpgBoolean = true; // String fileName = "test"; // println("lthJpg ["+fileName+".png] : wait"); // // save(fileName+".png"); // // println("lthJpg ["+fileName+".png] : ok"); lhtDraw(); }
Je bricole et je ne suis pas encore tout à fait à l'aise avec la notion de programmation objet.
Si vous avez des remarques sur le fonctionnement général je suis évidement preneur.
Hors ligne
Pages: 1