void setup() {
size(600, 600);
background(255);
noLoop();
} // setup()
void draw() {
// Draw a polygon
stroke(0);
polygon(100, 100, 5, 150);
// Draw a filled polygon
noStroke();
fill(252, 107, 107);
filledPolygon(width/2, height/2, 6, 300);
} // draw()
void polygon(float x, float y, int N, float s) {
// Draw a polygon of N sides of size, s at <x, y>
float r = s/2;
float theta = 0.0;
float delta = TWO_PI/N;
void setup() {
size(600, 600);
background(255);
noLoop();
} // setup()
void draw() {
// Draw a polygon
stroke(0);
polygon(100, 100, 5, 150);
// Draw a filled polygon
noStroke();
fill(252, 107, 107);
filledPolygon(width/2, height/2, 6, 300);
} // draw()
void polygon(float x, float y, int N, float s) {
// Draw a polygon of N sides of size, s at <x, y>
float r = s/2;
float theta = 0.0;
float delta = TWO_PI/N;
pushMatrix();
translate(x, y);
float x1 = r * cos(theta);
float y1 = r * sin(theta);
for (int i=1; i <= N; i++) {
theta = theta + delta;
float x2 = r*cos(theta);
float y2 = r* sin(theta);
stroke(0);
line(x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
popMatrix();
} // polygon()
void filledPolygon(float x, float y, int N, float s) {
// Draw a fillable polygon of N sides of size, s at <x, y>
float r = s/2;
float theta = 0.0;
float delta = TWO_PI/N;
pushMatrix();
translate(x, y);
beginShape();
for (int i=1; i <= N+1; i++) {
theta = theta + delta;
float x1 = r*cos(theta);
float y1 = r*sin(theta);
vertex(x1, y1);
}
endShape(CLOSE);
popMatrix();
} // filledPolygon()