"arc(x,y,w,h,start,stop,mod) - copie" - Processing

ID Autor Duplicat din Ultima modificare
#4092 Viespescu Carina Maria (puf) arc(x,y,w,h,start,stop,mod) Marti, 27 oct 2020, 20:51

Desenează un arc de elipsă, folosind parametri curenți pentru linii și umplere. Parametri reprezintă:

  • x, y, w, h – coordonatele centrului, lățimea și înălțimea elipsei din care face parte arcul
  • start, stop – unghiul de început și sfârșit al arcului de elipsă.
  • mod este opțional și reprezintă modul de închidere a a arcului de elipsă. Valoarea sa poate fi una dintre constantele OPEN, CHORD sau PIE. Vezi figura pentru detalii.

Observații:

  • Unghiurile sunt exprimate implict în radiani. Dacă dorim să le exprimăm în grade, trebuie să apelăm funcția angleMode(DEGREES), preferabil în setup(). Pentru a reveni la radiani, folosim angleMode(RADIANS).
  • Măsurarea unghiurilor se face astfel:
    • unghiul de 0 (grade sau radiani) se află la extremitatea dreaptă a elipsei;
    • sensul de măsurare este cel orar. Astfel, unghiul de 90<sup>@o@</sup> (PI/2 radiani) se află în extremitatea de jos a elipsei;
    • pentru măsurarea în radiani a unghiurilor sunt definite constantele PI, HALF_PI, QUARTER_PI, TWO_PI.
x
 
1
function setup() {
2
    createCanvas(400, 400);
3
}
4
5
function draw() {
6
    background("lightgray");
7
    fill("lightgreen");
8
    
9
    angleMode(RADIANS);
10
    arc(100 , 100, 50, 50, 0, HALF_PI); // arc de cerc, de 90 de grade
11
  
12
    angleMode(DEGREES);
13
    arc(200, 100 , 80, 80, 45, 270);
14
    
15
    angleMode(RADIANS);
16
    arc(300 , 100, 100, 100, HALF_PI, TWO_PI);
17
    
18
    angleMode(DEGREES);
19
    
20
    arc(100, 200 , 80, 80, 45, 315, PIE);
21
    arc(100, 300 , 80, 80, 45, 315);
22
    
23
    arc(200, 200 , 80, 80, 135, 270, OPEN);
24
    arc(200, 300 , 80, 80, 135, 270);
25
    
26
    arc(300, 200 , 80, 80, 60, 300, CHORD);
27
    arc(300, 300 , 80, 80, 60, 300);
28
    
29
}
30
Du-te sus!