Annonce

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


#1 2013-05-06 11:59:04 probléme avec strokeCape(); et Arc.

Vainzou
nouveau membre
Date d'inscription: 2011-03-30
Messages: 4

probléme avec strokeCape(); et Arc.



Bonjour,
je commençais a regarder comment fonctionnais les arc(); (en vue de dataviz) quand est venue un petit problème.
je n'arrive pas a avoir des extrémités qui se joignent parfaitement même en utilisant les variables PI, HALF_PI etc...
voila le code

import processing.pdf.*;
//
float p = 250; //centre des arc
float f = 240; // variante pour couleur du stroke
void setup() {
  size(500, 500);
  beginRecord(PDF, "line.pdf"); 
  background(255, 255);
  noFill();
  smooth();
  strokeCap(SQUARE);
  strokeWeight(50);
  for ( float av = 0; av< TWO_PI; av+=QUARTER_PI) {
    stroke(f, 10, 10);
    f-=20;
    arc(p, p, 350, 350, 0+av, QUARTER_PI+av);
  }
  endRecord();
}

L'idée étant d'arriver a des choses comme ceci,
http://i.stack.imgur.com/BAx7u.jpg
Aussi il y a peut être une méthode plus simple ou autre(dessiner la forme et pas utiliser Stroke?)?
C'est surment trés simple mais je ne trouve pas.
Merci d'avance
++

Dernière modification par Vainzou (2013-05-06 12:02:49)

Hors ligne

 

#2 2013-05-06 15:15:18 Re : probléme avec strokeCape(); et Arc.

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: probléme avec strokeCape(); et Arc.



Bonjour,

Dans l'algorithme de calcul des arcs, il doit y avoir une approximation. Tu peux "tricher" :

// import processing.pdf.*;

float p = 250; //centre des arc
int f = 240; // variante pour couleur du stroke

void setup() {
  size(500, 500);
  smooth();
  noLoop();
}

void draw() {
  // beginRecord(PDF, "line.pdf"); 
  background(255, 255);
  noFill();
  smooth();
  strokeCap(SQUARE);
  strokeWeight(50);
  for ( int i = 0; i< 8; i++) {
    stroke(f, 10, 10);
    f -= 20;
    arc(p, p, 350, 350, i * QUARTER_PI - 0.003, QUARTER_PI +  i * QUARTER_PI+ 0.003);
  }
  // endRecord();
}

Hors ligne

 

#3 2013-05-07 09:56:52 Re : probléme avec strokeCape(); et Arc.

Vainzou
nouveau membre
Date d'inscription: 2011-03-30
Messages: 4

Re: probléme avec strokeCape(); et Arc.



Oui c'est une solution.smile
sachant que plus le diamètre est grand plus la valeur d'ajustement sera grande :s
(le rendue png est différent du rendue pdf/vectorie d'ailleurs)
je vais me débrouiller avec ça en attendant une correction/meilleur solution.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024