2012-03-26 33 views
30

Estoy tratando de escribir una función que devolverá aleatoriamente una (x, y) coordenadas alrededor de una circunferencia dada así que si tengo un punto que está en (0 , 0) (siendo el centro del div) cómo puedo escribir una función que coloca aleatoriamente otras entidades que aparecen entre el borde exterior de un círculo.¿Cómo puedo generar puntos aleatorios en una circunferencia de círculos en javascript

Todo lo que necesito es la ecuación, sé que tiene algo que ver con obtener la distancia desde el centro hasta el borde de la circunferencia, simplemente no tengo idea de cómo calcularla y la aleatorizo ​​para que se vea bien.

+3

Comience por desenterrar su libro de texto de trigonometría de la escuela secundaria. Busque la sección sobre la ley de los senos. Trabajarás con muchos triángulos rectángulos. – gilly3

+1

esta tarea de inst es más de lo que estoy cansado de buscar solo una parte de la ecuación y tener que resolverla por prueba y error. – Mouseroot

Respuesta

72

acaba de obtener un ángulo aleatorio:

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

Entonces

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

Done.

+3

Sí funciona: http://jsfiddle.net/hNgxP/ +1, muy agradable. Más fácil de lo que pensaba. – gilly3

+0

Sí, esto funciona exactamente como yo quería e incluso lo descompone: D – Mouseroot

+0

¿Qué valor tiene el ángulo? ¿Son radianes? – knownasilya

Cuestiones relacionadas