Added some things

This commit is contained in:
Cametendo
2026-04-20 11:20:54 +02:00
parent 97a7c9f0fb
commit 372b892862
29 changed files with 406 additions and 92 deletions

View File

@@ -0,0 +1,18 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Following circles sketch</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="libraries/p5.min.js"></script>
<script src="libraries/p5.sound.min.js"></script>
</head>
<body>
<script src="sketch.js"></script>
</body>
</html>

View File

@@ -0,0 +1,18 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Bouncing DVD-type sketch</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="libraries/p5.min.js"></script>
<script src="libraries/p5.sound.min.js"></script>
</head>
<body>
<script src="random_sketch.js"></script>
</body>
</html>

View File

@@ -0,0 +1,82 @@
const amountOfFormPoints = 5;
const stepSize = 1;
const initRadius = 150;
// const mouseAttraction = 1; let centerX, centerY;
let x = [];
let y = [];
posX = 1;
posY = 1;
let movement_angle;
let xDirection = -1;
let yDirection = -1;
function setup() {
createCanvas(windowWidth, windowHeight);
// inital setup
centerX = width / 2;
centerY = height / 2;
const angle = radians(360 / amountOfFormPoints);
for (let i = 0; i < amountOfFormPoints; i++) {
x.push(cos(angle * i) * initRadius);
y.push(sin(angle * i) * initRadius);
}
movement_angle = random(360);
// styling
stroke(0.75);
strokeWeight(5);
noFill();
}
function draw() {
background(255, 255, 255, 10);
// float towards random position
if (centerX > windowWidth) {
xDirection = -1;
}
if (centerX < 0) {
xDirection = 1;
}
if (centerY > windowHeight) {
yDirection = -1;
}
if (centerY < 0) {
yDirection = 1;
}
posX = posX + 2 * xDirection;
posY = posY + 2 * yDirection;
centerX = windowWidth / 2 + posX;
centerY = windowHeight / 2 + posY;
console.log(xDirection);
// calculate new points
for (let i = 0; i < amountOfFormPoints; i++) {
x[i] += random(-stepSize, stepSize);
y[i] += random(-stepSize, stepSize);
// ellipse(x[i] + centerX, y[i] + centerY, 5, 5);
}
// first controlPoint
beginShape();
curveVertex(x[0] + centerX, y[0] + centerY);
// only these points are drawn
for (let i = 0; i < amountOfFormPoints; i++) {
curveVertex(x[i] + centerX, y[i] + centerY);
}
// Connect to the first poing again
// or use endShape(CLOSE); but result is different
curveVertex(x[0] + centerX, y[0] + centerY);
// end controlPoint
curveVertex(
x[amountOfFormPoints - 1] + centerX,
y[amountOfFormPoints - 1] + centerY,
);
endShape();
}

59
Week-2/Shapes/sketch.js Normal file
View File

@@ -0,0 +1,59 @@
const amountOfFormPoints = 5;
const stepSize = 1;
const initRadius = 150;
const mouseAttraction = 1;
let centerX, centerY;
let x = [];
let y = [];
function setup() {
createCanvas(windowWidth, windowHeight);
// inital setup
centerX = width / 2;
centerY = height / 2;
const angle = radians(360 / amountOfFormPoints);
for (let i = 0; i < amountOfFormPoints; i++) {
x.push(cos(angle * i) * initRadius);
y.push(sin(angle * i) * initRadius);
}
// styling
stroke(0, 75);
strokeWeight(0.5);
background(255);
noFill();
}
function draw() {
// float towards mouse position
centerX += (mouseX - centerX) * mouseAttraction;
centerY += (mouseY - centerY) * mouseAttraction;
// calculate new points
for (let i = 0; i < amountOfFormPoints; i++) {
x[i] += random(-stepSize, stepSize);
y[i] += random(-stepSize, stepSize);
// ellipse(x[i] + centerX, y[i] + centerY, 5, 5);
}
// first controlPoint
beginShape();
curveVertex(x[0] + centerX, y[0] + centerY);
// only these points are drawn
for (let i = 0; i < amountOfFormPoints; i++) {
curveVertex(x[i] + centerX, y[i] + centerY);
}
// Connect to the first poing again
// or use endShape(CLOSE); but result is different
curveVertex(x[0] + centerX, y[0] + centerY);
// end controlPoint
curveVertex(
x[amountOfFormPoints - 1] + centerX,
y[amountOfFormPoints - 1] + centerY,
);
endShape();
}