Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import processing.pdf.*;
- float theta;
- float n = 0, a, b;
- int frms = 60, num = 25;
- int counter = 100;
- void setup() {
- size(750, 540);
- }
- void draw() {
- background(255);
- drawSuper();
- }
- void drawSuper() {
- translate(width/2, height/2);
- noFill();
- stroke(0);
- for (int i=0; i<num; i++) {
- float offSet = PI/4/num*i;
- n = map(sin(theta+offSet), -1, 1, 0.1, 3);
- a = map(sin(theta+offSet*3), -1, 1, 100, 200);
- b = a;
- beginShape();
- for (float angle = 0; angle<TWO_PI; angle+= 0.05) {
- float na = 2/n;
- float x = pow(abs(cos(angle+offSet*2)), na)*a*sgn(cos(angle+offSet*0));
- float y = pow(abs(sin(angle+offSet)), na)*b*sgn(sin(angle+offSet*3));
- vertex(x, y);
- }
- endShape(CLOSE);
- }
- }
- int sgn(float val) {
- if (val>0) {
- return 1;
- } else if (val<0) {
- return -1;
- } else {
- return 0;
- }
- }
- void keyPressed() {
- if (key == CODED) {
- if (keyCode == UP) {
- theta += TWO_PI/frms;
- } else if (keyCode == DOWN) {
- theta -= TWO_PI/frms;
- }
- }
- if (key == 's') {
- background(255);
- beginRecord(PDF, int(random(99999)) + ".pdf");
- drawSuper();
- endRecord();
- counter++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement