Constantes pour les arcs de cercles

Valeurs conseillées pour le paramètre debut_fin pour les arcs de cercles

 

Exemples d'utilisation

// Arc à partir de la position NORD (en haut) jusqu'à la position NORD_EST (45°)
arc(x, y, rayon, DEPART_NORD+ARRIVEE_NORD_EST, couleur);
// Arc complémentaire
arc(x, y, rayon, DEPART_NORD_EST+ARRIVEE_NORD, couleur);

 

Référence

#define DEPART_NORD         0x00
#define DEPART_NORD_EST     0x10
#define DEPART_EST          0x20
#define DEPART_SUD_EST      0x30
#define DEPART_SUD          0x40
#define DEPART_SUD_OUEST    0x50
#define DEPART_OUEST        0x60
#define DEPART_NORD_OUEST   0x70

#define ARRIVEE_NORD        0x00
#define ARRIVEE_NORD_EST    0x01
#define ARRIVEE_EST         0x02
#define ARRIVEE_SUD_EST     0x03
#define ARRIVEE_SUD         0x04
#define ARRIVEE_SUD_OUEST   0x05
#define ARRIVEE_OUEST       0x06
#define ARRIVEE_NORD_OUEST  0x07

 

Voir aussi

- arc(); Trace un arc de cercle
- circle(); Trace un cercle

 

Notes

Les tracés d'arcs de cercles se font par huitième de cercle. C'est d'une part pour des raisons d'algorithme et d'autre part parce que les arcs sont nécessaires pour tracer la police de caractère. Les huitièmes de cercles sont suffisant. C'est pour cela que l'angle n'est pas en degré.

Le tracé se comprend comme si il était dessiné à partir du point de départ jusqu'au point d'arrivé dans le sens horaire.

 

Choix du début et de la fin du tracé, avec des noms:

Le paramètre debut_fin définit le début et la fin de l'arc. Le paramètre s'obtient en ajoutant deux constantes, une DEPART_????? et une ARRIVEE_????. Les ???? sont à remplacer par NORD, NORD_EST, EST, SUD_EST, SUD, SUD_OUEST, OUEST ou NORD_OUEST.

 

Choix du début et de la fin du tracé, avec un mot binaire :

Le paramètre debut_fin définit le début et la fin de l'arc. Chacun de ces deux informations est codé sur 3 bits:

Les bits repérés X sont ignorés. arc=0x40 est identique à arc=0x48.

 

fillRect()   <<     >>   arc()