linnd
January 21, 2020, 12:58pm
#1
Hi guys,
For my school project we have to do an assignment with the processing program. I have made two things but I want to combine them but I’m not advanced enough to do so since I’ve just started a few weeks ago.
This is my first code:
static final int NUM_LINES = 10;
float t;
void setup() {
background(70);
size(800,600);
}
void draw() {
background(255);
stroke(100, 10, 100);
strokeWeight(6);
translate(width/2, height/2);
for (int i = 0; i < NUM_LINES; i++) {
line(x1(t+i), y1(t+i), x2(t+i), y2(t+i));
}
t += 0.7;
}
float x1(float t) {
return sin(t / 10) * 100 + sin(t / 5) * 20;
}
float y1(float t) {
return sin(t / 10) * 100 ;
}
float x2(float t) {
return sin(t / 10) * 200 + sin(t) * 2;
}
float y2(float t) {
return cos(t / 20) * 200 + cos(t / 12) * 20;
}
I want to combine this code with a bouncing ball that I’ve also made:
float x = 400;
float y = 300;
float xSpeed = 5;
float ySpeed = 5;
void setup () {
size(800,600);
}
void draw () {
background(0);
x += xSpeed;
if (x > width || x < 0) {
xSpeed *= -1;
}
y += ySpeed;
if (y > height || y < 0) {
ySpeed *= -1;
}
ellipse(x,y,50,50 );
}
Is this possible??? Please help me hahaha I don’t know what to do. And besides, can I also combine the first code with itself? So that I have that one two times in the same code but a bit different.
1 Like
Chrisir
January 21, 2020, 1:29pm
#2
you can merge the 2 codes.
done.
2 Likes
linnd
January 21, 2020, 1:32pm
#3
But which part of the code should I copy then? because I get errors with everything I try…
Chrisir
January 21, 2020, 1:37pm
#4
Well one function setup
One draw with elements from previous draw 1 and previous draw 2 together in one function draw()
The the other functions like x1, y1…
Place brackets correctly
Show your attempt of the new merged sketch
linnd
January 21, 2020, 1:46pm
#5
i would come up with something like this:
static final int NUM_LINES = 10;
float t;
PImage img;
float xSpeed = 5;
float ySpeed = 5;
void setup() {
background(0);
size(800,600);
}
void draw() {
img = loadImage("finland.jpg");
background(img);
stroke(0, random(200), random(50));
strokeWeight(6);
translate(width/2, height/2);
for (int i = 0; i < NUM_LINES; i++) {
line(x1(t+i), y1(t+i), x2(t+i), y2(t+i));
}
t += 0.7;
}
float x1(float t) {
return sin(t / 10) * 100 + sin(t / 5) * 20;
}
float y1(float t) {
return sin(t / 10) * 100 ;
}
float x2(float t) {
return sin(t / 10) * 200 + sin(t) * 2;
}
float y2(float t) {
return cos(t / 20) * 200 + cos(t / 12) * 20;
}
**x += xSpeed;**
if (x > width || x < 0) {
xSpeed *= -1;
}
y += ySpeed;
if (y > height || y < 0) {
ySpeed *= -1;
}
ellipse(x,y,50,50 );
}
but it get troubles with the xspeed
Chrisir
January 21, 2020, 1:57pm
#6
All this belongs in draw
You copied it wrong
See your 2nd initial sketch
Also hit ctrl-t to get better indents
1 Like
linnd
January 21, 2020, 2:59pm
#7
static final int NUM_LINES = 10;
float t;
PImage img;
float xSpeed = 5;
float ySpeed = 5;
void setup() {
background(0);
size(800, 600);
}
void draw() {
img = loadImage("finland.jpg");
background(img);
stroke(0, random(200), random(50));
strokeWeight(6);
x += xSpeed;
if (x > width || x < 0) {
xSpeed *= -1;
}
y += ySpeed;
if (y > height || y < 0) {
ySpeed *= -1;
}
ellipse(x, y, 50, 50 );
}
translate(width/2, height/2);
for (int i = 0; i < NUM_LINES; i++) {
line(x1(t+i), y1(t+i), x2(t+i), y2(t+i));
}
t += 0.7;
}
float x1(float t) {
return sin(t / 10) * 100 + sin(t / 5) * 20;
}
float y1(float t) {
return sin(t / 10) * 100 ;
}
float x2(float t) {
return sin(t / 10) * 200 + sin(t) * 2;
}
float y2(float t) {
return cos(t / 20) * 200 + cos(t / 12) * 20;
}
okay so i put the small part below draw but then i get the error that i’m mixing static and active mode
Chrisir
January 21, 2020, 3:02pm
#8
You want to get rid of this }
linnd
January 21, 2020, 3:13pm
#9
okay that helps but then again the xSpeed is the problem. It says : ‘x cannot be resolved to a variable’.
Chrisir
January 21, 2020, 3:14pm
#10
Yes you forgot these lines from the initial sketch
1 Like
linnd
January 21, 2020, 3:17pm
#11
yes it workss!! thank you!! is it also possible to then add another line? The first part from the initial code but then with different values vor x1 etc
1 Like