Trinn 9

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

Klikk her for å få hint

Gå til trinn 10


skolekoding.no
Stein Olav Kivle