2012-03-26 32 views
30

Sto provando a scrivere una funzione che restituirà a caso una (x, y) coordinate attorno a una determinata circonferenza quindi se ho un punto è a (0 , 0) (essendo il centro del div) come posso scrivere una funzione che posiziona casualmente altre entità che appaiono tra il bordo esterno di un cerchio.Come posso generare punti casuali su una circonferenza di cerchi in javascript

Tutto ciò di cui ho bisogno è l'equazione, so che ha qualcosa a che fare con ottenere la distanza dal centro al bordo della circonferenza, non ha idea di come calcolarlo e renderlo casuale, quindi sembra buono.

+3

Inizia scavando fuori il tuo libro di testo di trigonometria del liceo. Cerca la sezione sulla legge dei seni. Lavorerai con molti triangoli rettangoli. – gilly3

+1

questo inst compiti a casa è più di stanco di googleing per solo una parte dell'equazione e dover capirlo per tentativi ed errori. – Mouseroot

risposta

72

Basta avere un angolo casuale:

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

Poi

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

Done.

+3

Sì funziona: http://jsfiddle.net/hNgxP/ +1, molto bello. Più facile di quanto pensassi. – gilly3

+0

sì, funziona esattamente come volevo e anche se non funziona correttamente: D – Mouseroot

+0

Che tipo di valore è l'angolo? Sono i radianti? – knownasilya

Problemi correlati