This commit is contained in:
root 2025-04-24 07:13:31 +00:00
commit 9c527bec23
3 changed files with 147396 additions and 0 deletions

21
index.html Normal file
View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>p5.js</title>
<script src="lib/p5.js"></script>
<style>
body {
padding: 0;
margin: 0;
background-color: #1b1b1b;
}
</style>
</head>
<body>
<main>
</main>
<script src="sketch.js"></script>
</body>
</html>

147309
lib/p5.js Normal file

File diff suppressed because one or more lines are too long

66
sketch.js Normal file
View file

@ -0,0 +1,66 @@
let charges = new Map();
let counter = 0;
function setup() {
createCanvas(600, 600, WEBGL);
}
function draw() {
orbitControl();
background(50);
make_lights();
draw_sphere(200, 25);
}
function draw_sphere(radius, n_axis_circles) {
stroke(0x3f);
noFill();
push();
rotateX(TAU / 4);
draw_circles(
radius,
n_axis_circles,
color(0x00, 0x9f, 0xff),
color(0xff, 0x9f, 0x00),
);
pop();
push();
rotateY(TAU / 4);
draw_circles(
radius,
n_axis_circles,
color(0xff, 0x00, 0xff),
color(0x00, 0xff, 0x00),
);
pop();
}
function draw_circles(radius, n_circles, pole_1_color, pole_2_color) {
push();
stroke(pole_1_color);
translate(0, 0, -radius);
point(0, 0);
pop();
for (let i = 1; i < n_circles; i += 1) {
const angle = map(i, 0, n_circles - 1, -TAU / 4, TAU / 4);
const circle_radius = radius * cos(angle);
push();
translate(0, 0, radius * sin(angle));
circle(0, 0, circle_radius * 2);
pop();
}
push();
stroke(pole_2_color);
translate(0, 0, radius);
point(0, 0);
pop();
}
function make_lights() {
let light = createVector(0, 1, -1);
light.normalize();
directionalLight(0x1f, 0x1f, 0x1f, light);
ambientLight(0xbf);
}