2017-08-17 2 views
1

Je dessine un simple cercle en utilisant le code suivant:Pourquoi les cercles sont-ils dessinés en utilisant Traitement si irrégulier?

import processing.core.PApplet; 

public class A3 extends PApplet { 

    public static void main(String[] args) { 
     PApplet.main(A3.class.getCanonicalName()); 
    } 

    public void settings() { 
     size(800, 600); 

    } 

    public void draw() { 
     background(255); 
     stroke(0); 
     ellipse(200,200,300,300); 
    } 

    public void setup() { 
     background(255); 

    } 
} 

Et le résultat est le cercle en dents de scie suivant: The jagged circle

J'ai essayé d'utiliser smooth(8);, mais il n'a pas aidé.

Répondre

3

À quoi pensez-vous que cela ressemble à la place?

Notez que vous ne voyez vraiment que la "difficulté" car vous avez augmenté la taille de l'image. Voici ce que vous devriez vraiment voir

anti-aliased circle

Je ne dirais pas ce cercle en dents de scie. En fait, Processing utilise par défaut l'anti-crénelage pour rendre les dessins plus fluides. Essayez de désactiver en appelant noSmooth() dans la fonction setup(), et vous verrez ceci:

non anti-aliased circle

Pour moi, qui ressemble beaucoup plus en dents de scie.

Vous pouvez également essayer d'augmenter la largeur de ligne en appelant strokeWeight() à l'intérieur de la fonction draw(). Voilà strokeWeight(8):

thick circle

Honnêtement si je vous, je voudrais juste vous inquiétez pas à ce sujet. Le traitement utilise l'anti-aliasing par défaut, donc tout devrait sembler raisonnable sans que vous fassiez quelque chose de spécial. Si vous regardez assez près de n'importe quel dessin de pixel, vous allez trouver une certaine difficulté.

+0

J'ai effectivement vu la difficulté sans zoomer l'image, et c'est ce qui a déclenché cette question en premier lieu. Mais je suppose que tu as raison, ça ne peut pas être aidé ... Merci quand même. – HappyFace