2012-03-26 3 views
30

Ich versuche, eine Funktion zu schreiben, die nach dem Zufallsprinzip eine (x, y) -Koordinaten um einen gegebenen Umfang zurückgeben wird, wenn ich einen Punkt habe, der bei (0 ist , 0) (der Mittelpunkt des div) Wie kann ich eine Funktion schreiben, die zufällig andere Entitäten platziert, die am äußeren Rand eines Kreises erscheinen?Wie kann ich zufällige Punkte auf einem Kreisumfang in Javascript erzeugen

Alles, was ich brauche, ist die Gleichung Ich weiß, es hat etwas damit zu tun, den Abstand von der Mitte zum Umfang Rand nur keine Ahnung, wie man es berechnet und randomize es so gut aussieht.

+3

Beginnen Sie mit Ihrem High School Trigonometrie Lehrbuch zu graben. Suchen Sie nach dem Abschnitt über das Gesetz der Sinus. Du wirst mit vielen richtigen Dreiecken arbeiten. – gilly3

+1

dieser Hausaufgaben ist es mehr von ich bin es leid, nur für einen Teil der Gleichung googeln und es durch Versuch und Irrtum herauszufinden. – Mouseroot

Antwort

72

einfach einen beliebigen Winkel erhalten:

var angle = Math.random()*Math.PI*2; 

Dann

x = Math.cos(angle)*radius; 
y = Math.sin(angle)*radius; 

Erledigt.

+3

Yep funktioniert: http://jsfiddle.net/hNgxP/ +1, sehr nett. Leichter als ich dachte. – gilly3

+0

ja das funktioniert genau so, wie ich es wollte und bricht es sogar für mich: D – Mouseroot

+0

Welchen Wert hat der Winkel? Ist es Radiant? – knownasilya

Verwandte Themen