2013-06-29 17 views
7

Ich habe ein Rechteck in Leinwand, und ich weiß, wie Sie es nach oben und seitwärts bewegen. Was ich tun möchte, ist es in einer kreisförmigen Bewegung zu bewegen.Leinwand verschieben Objekt im Kreis

Also meine Objekte (Rechteck) x und y würde in einem Kreis gehen.

Jetzt nehme ich an, ich brauche einen Radius für wie weit raus und einige Formel für die Geschwindigkeit (1 Pixel), um es auf der Achse zu drehen.

Irgendwelche Ideen?

Antwort

13

Die Parametergleichung für die in einem Kreis zu bewegen, ist dies:

x=r*cos(theta) 
y=r*sin(theta) 

theta ist der Winkel und der Radius r.

Wenn Sie die Änderung in theta kennen, um die gewünschte Geschwindigkeit zu erreichen, für die Entfernung der Lösung d Sie erhalten, dass die Änderung in theta ist: arccos(1-(d/r)^2/2)

Die JavaScript-Funktionen sind Math.cos, Math.sin und Math.acos, respsectively . Sie alle beschäftigen sich mit Radianten.

+0

Könntest du oder jemand mir eine jsFiddle zur Verfügung stellen, wie man die Math-Bibliotheken hinzufügt oder wie sie verbunden sind? –

+0

Die Mathebibliothek ist bereits im Browser verfügbar. – simonzack

+4

Hier ist eine Fiddle, die die Mathematik zeigt: http://jsfiddle.net/m1erickson/Qnk5d/ – markE