Ich versuche, einen Code zu schreiben, der simuliert, was in this video in einem HTML-Zeichenbereich passiert.Verschieben eines Objekts auf einem Pfad mit p5.js
Mein Code unterscheidet sich dadurch, dass die Radien der beiden Kreise bei jedem Laden oder Aktualisieren der Seite zufällig generiert werden. Ich brauche die "Planeten", um mit der gleichen Geschwindigkeit entlang der Umfänge ihrer jeweiligen Kreise zu reisen.
Ich benutze die p5.js, um auf die Leinwand zu zeichnen. Gibt es in p5.js etwas, das ein Objekt nach einem Pfad zeichnet, in meinem Fall einen Pfad, der ein Kreis ist?
Ich habe die Referenzen durchgesehen und bin auf Vektoren gestoßen, aber ich verstehe nicht ganz, was sie tun.
Mein Code so weit:
var w = window.innerWidth;
var h = window.innerHeight;
var r1, r1;
var d;
var x1, x2, y1, y2;
var angle = Math.PI/4;
function setup() {
// canvas setup
createCanvas(w, h);
background(255);
angleMode(RADIANS);
// randomly generated radiuses
r1 = Math.floor(Math.random() * (h/2-300)) + 300;
r2 = Math.floor(Math.random() * (200-100)) + 100;
// drawing the two ellipses
ellipseMode(CENTER);
noFill();
ellipse(w/2, h/2, r1*2, r1*2);
ellipse(w/2, h/2, r2*2, r2*2);
}
function draw() {
// points on the circles
x1 = (r1 * (Math.cos(angle))) + (w/2);
y1 = (h/2) - (r1 * (Math.sin(angle)));
x2 = (r2 * (Math.cos(angle))) + (w/2);
y2 = (h/2) - (r2 * (Math.sin(angle)));
// drawing two circles at those points
ellipseMode(CENTER);
noStroke();
fill('rgb(140, 140, 140)');
ellipse(x1, y1, 20, 20);
ellipse(x2, y2, 20, 20);
// randomly generated color for the line
var r = random(0, 255);
var g = random(0, 255);
var b = random(0, 255);
stroke(r, g, b);
strokeWeight(1);
// drawing the line that connects the two points
line(x1, y1, x2, y2);
// animation????
angle = angle + (10 * (Math.PI/180));
}
Das Problem mit der letzten Zeile ist, dass es evenly spaces lines schafft, nicht das Muster, das in dem Video erstellt wird.
Gibt es eine Möglichkeit für Sie einen Screenshot des Videos enthalten, die Sie zu imitieren sind versuchen? Viele Leute wollen nicht Facebook besuchen. –