Skolekoding.no > Tekst-koding > p5.js > NOC trinn for trinn
Forslag til løsning av oppgave 8
- // let ax, ay, bx, by;
- let pencil_x, pencil_y;
- let track = [];
- let angleA, angleB;
- let speedA, speedB;
- function setup() {
- createCanvas(400, 400);
- noFill();
- angleA = 0.0;
- angleB = 0.0;
- speedA = 0.05;
- speedB = 0.07;
- }
- function draw() {
- background(220);
- strokeWeight(1);
- ellipse(100, 100, 100);
- ellipse(300, 300, 100);
- ax = 100 + cos(angleA) * 50;
- ay = 100 + sin(angleA) * 50;
- bx = 300 + cos(angleB) * 50;
- by = 300 + sin(angleB) * 50;
- pencil_x = bx;
- pencil_y = ay;
- line(ax, ay, pencil_x, pencil_y); // Vannrett
- line(bx, by, pencil_x, pencil_y); // Loddrett
- strokeWeight(4);
- point(ax, ay);
- point(bx, by);
- point(pencil_x, pencil_y);
- angleA = angleA + speedA;
- angleB = angleB + speedB;
- let v = createVector(pencil_x, pencil_y); // Vektor, to verdier i samme variabel
- track.push(v); // Legger til celle sist i tabellen track
- // for at ikke tabellen skal bli for stor fjernes den første cellen som ble lagt inn
- if (track.length > 800) {
- track.splice(0, 1); // Fjerner en celle fra og med celle nr 0
- }
- strokeWeight(1);
- for (i = 0; i < track.length; i++) {
- point(track[i].x, track[i].y);
- }
- }
Oppgave 9
A) Lag en variabel som gjør det lettere å vise spesifikke brøker
skolekoding.no
Stein Olav Kivle