How to resolve the algorithm Archimedean spiral step by step in the Processing programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Archimedean spiral step by step in the Processing programming language
Table of Contents
Problem Statement
The Archimedean spiral is a spiral named after the Greek mathematician Archimedes.
An Archimedean spiral can be described by the equation: with real numbers a and b.
Draw an Archimedean spiral.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Archimedean spiral step by step in the Processing programming language
Source code in the processing programming language
float x, y;
float theta;
float rotation;
void setup() {
size(300, 300);
theta = 0;
rotation = 0.1;
background(255);
}
void draw() {
translate(width/2.0, height/2.0);
x = theta*cos(theta/PI);
y = theta*sin(theta/PI);
point(x, y);
theta = theta + rotation;
// check restart
if (x>width/2.0) frameCount=-1;
}
float theta;
float rotation;
void setup() {
size(300, 300);
theta = 0;
rotation = 0.1;
background(255);
}
void draw() {
translate(width/2.0, height/2.0);
theta += rotation;
rotate(theta/PI);
point(theta, 0);
// check restart
if (theta>width/2.0) frameCount=-1;
}
PVector pv;
float rotation;
void setup() {
size(300, 300);
rotation = 0.1;
pv = new PVector(rotation, 0);
background(255);
}
void draw() {
translate(width/2.0, height/2.0);
pv.setMag(pv.mag()+rotation);
println(pv.mag());
pv.rotate(rotation/PI);
point(pv.x, pv.y);
// check restart
if (pv.mag()>width/2.0) frameCount=-1;
}
float px, py, x, y;
float theta;
float rotation;
void setup() {
size(300, 300);
px = py = x = y = theta = 0;
rotation = 0.1;
background(255);
}
void draw() {
translate(width/2.0, height/2.0);
x = theta*cos(theta/PI);
y = (theta)*sin(theta/PI);
line(x, y, px, py);
theta = theta + rotation;
px = x;
py = y;
// check restart
if (px>width/2.0) frameCount=-1;
}
float x, y, px, py;
float theta;
float rotation;
void setup() {
size(300, 300);
x = y = px = py = theta = 0;
rotation = 0.1;
background(255);
}
void draw() {
// find coordinates with rotating reference frame
pushMatrix();
rotate(theta/PI);
x = screenX(theta, 0);
y = screenY(theta, 0);
popMatrix();
translate(width/2.0, height/2.0);
theta += rotation;
line(px, py, x, y);
px = x;
py = y;
if (theta>width/2.0) frameCount=-1; // start over
}
theta = 0
rotation = 0.1
def setup():
size(300, 300)
background(255)
def draw():
global theta
translate(width / 2.0, height / 2.0)
x = theta * cos(theta / PI)
y = theta * sin(theta / PI)
point(x, y)
theta = theta + rotation
# check restart
if x > width / 2.0:
background(255)
theta = 0
You may also check:How to resolve the algorithm Program termination step by step in the Simula programming language
You may also check:How to resolve the algorithm Kernighans large earthquake problem step by step in the Klingphix programming language
You may also check:How to resolve the algorithm Metronome step by step in the C++ programming language
You may also check:How to resolve the algorithm 2048 step by step in the BASIC programming language
You may also check:How to resolve the algorithm System time step by step in the Modula-3 programming language