Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Subrutin membuat lingkaran dengan pusat (0,0) dan jari-jari radius.
- Dengan menggunakan persamaan parametrik.
- Lingkaran ini digambar penuh
- */
- void circle1(int radius){
- float density=0.5; //ganti nilai density untuk memperoleh gambar yg lebih baik
- int px,py;
- for (float i=0.0; i<360; i=i+density){ //gambarkan titik untuk tiap sudut
- px=int(radius*cos(radians(i)));
- py=int(radius*sin(radians(i)));
- point(px,py);
- }
- }
- /*
- Subrutin membuat lingkaran dengan pusat (0,0) dan jari-jari radius.
- Dengan menggunakan persamaan quadratik lingkaran.
- Lingkaran ini digambar penuh
- */
- void circle2(int radius){
- int py;
- for (int px=-radius; px<radius; px++){ //dari mulai -r sampai +r
- py=int(sqrt(pow(radius,2)-pow(px,2)));
- point(px,py);
- }
- }
- /*
- Subrutin membuat lingkaran dengan pusat (0,0) dan jari-jari radius.
- Dengan menggunakan algoritma Bressenham.
- Lingkaran ini digambar tidak penuh, hanya 1/8 saja
- */
- void circle3(int radius){
- int px = 0;
- int py = radius;
- int d1 = 3 - (2 * radius);
- boolean rov=true;
- while (rov){
- if (px>=py){
- rov=false;}
- if (d1 < 0) {
- d1 = d1 + (4 * px) + 6; }
- else{
- d1 = d1 + 4 * (px-py) + 10; // (1)
- py = py-1;
- }
- point(px,py);
- px++;
- }
- }
- void setup(){
- size(700,700);
- stroke(200,0,0);
- circle1(600);
- stroke(0,0,0);
- circle2(640);
- stroke(0,0,255);
- circle3(680);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement