Processing IDE Dersleri | Processing IDE Kurulumu | Processing IDE Programlama Dersleri
Temel geometri çizmek için noktalar ve çizgiler kullanılabilir. Formu ölçeklendirmek için 'd' değişkeninin değerini değiştirin. Dört değişken, konumları 'd' değerine göre ayarlar.
int d = 70;
int p1 = d;
int p2 = p1+d;
int p3 = p2+d;
int p4 = p3+d;
size(640, 360);
noSmooth();
background(0);
translate(140, 0);
// Draw gray box
stroke(153);
line(p3, p3, p2, p3);
line(p2, p3, p2, p2);
line(p2, p2, p3, p2);
line(p3, p2, p3, p3);
// Draw white points
stroke(255);
point(p1, p1);
point(p1, p3);
point(p2, p4);
point(p3, p1);
point(p4, p2);
point(p4, p4);
Temel şekil ilkel işlevleri, triangle (), rect (), quad (), elips () ve arc () 'dır. Kareler rect () ile yapılır ve daireler elips () ile yapılır. Bu işlevlerin her biri, şeklin konumunu ve boyutunu belirlemek için bir dizi parametre gerektirir.
size(640, 360);
background(0);
noStroke();
fill(204);
triangle(18, 18, 18, 360, 81, 360);
fill(102);
rect(81, 81, 63, 63);
fill(204);
quad(189, 18, 216, 18, 216, 360, 144, 360);
fill(255);
ellipse(252, 144, 72, 72);
fill(204);
triangle(288, 18, 351, 360, 288, 360);
fill(255);
arc(479, 300, 280, 280, PI, TWO_PI);
Bir dizide depolanan verilerden bir pasta grafik oluşturmak için arc () işlevini kullanır.
int[] angles = { 30, 10, 45, 35, 60, 38, 75, 67 };
void setup() {
size(640, 360);
noStroke();
noLoop(); // Run once and stop
}
void draw() {
background(100);
pieChart(300, angles);
}
void pieChart(float diameter, int[] data) {
float lastAngle = 0;
for (int i = 0; i < data.length; i++) {
float gray = map(i, 0, data.length, 0, 255);
fill(gray);
arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i]));
lastAngle += radians(data[i]);
}
}
Vertex () işlevini ve beginShape (TRIANGLE_STRIP) modunu kullanarak kapalı bir halka oluşturun. OutRadius ve insideRadius değişkenleri sırasıyla halkanın yarıçapını kontrol eder.
int x;
int y;
float outsideRadius = 150;
float insideRadius = 100;
void setup() {
size(640, 360);
background(204);
x = width/2;
y = height/2;
}
void draw() {
background(204);
int numPoints = int(map(mouseX, 0, width, 6, 60));
float angle = 0;
float angleStep = 180.0/numPoints;
beginShape(TRIANGLE_STRIP);
for (int i = 0; i <= numPoints; i++) {
float px = x + cos(radians(angle)) * outsideRadius;
float py = y + sin(radians(angle)) * outsideRadius;
angle += angleStep;
vertex(px, py);
px = x + cos(radians(angle)) * insideRadius;
py = y + sin(radians(angle)) * insideRadius;
vertex(px, py);
angle += angleStep;
}
endShape();
}
Bezier () fonksiyonu için ilk iki parametre eğrinin ilk noktasını ve son iki parametre son noktayı belirtir. Ortadaki parametreler, eğrinin şeklini tanımlayan kontrol noktalarını ayarlar.
void setup() {
size(640, 360);
stroke(255);
noFill();
}
void draw() {
background(0);
for (int i = 0; i < 200; i += 20) {
bezier(mouseX-(i/2.0), 40+i, 410, 20, 440, 300, 240-(i/16.0), 300+(i/8.0));
}
}