Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-03-10 05:35:26 parcourir une image avec un angle

charlescoiffier
nouveau membre
Date d'inscription: 2012-03-10
Messages: 2

parcourir une image avec un angle



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. big_smile

Hors ligne

 

#2 2012-03-10 09:03:56 Re : parcourir une image avec un angle

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: parcourir une image avec un angle



tu peux dessiner un schema avec paint ou autre ?

Hors ligne

 

#3 2012-03-13 21:46:47 Re : parcourir une image avec un angle

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: parcourir une image avec un angle



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 wink

Cherches tu parcourir tous les pixels ?

Code (processing) :

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

 

#4 2012-03-14 00:57:52 Re : parcourir une image avec un angle

charlescoiffier
nouveau membre
Date d'inscription: 2012-03-10
Messages: 2

Re: parcourir une image avec un angle



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

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025