2010-08-05 4 views

Répondre

10

coordonnée du point sur le cercle de rayon R et de centre (xc, yc):

x = xc + R*cos(a); 
y = yc + R*sin(a); 

changeant la valeur de l'angle a entre 0 et 2 * PI vous trouverez un point quelconque de la circonférence.

1

Pythagoras de base.

Choisissez un nombre aléatoire entre 0 et 50 et résolvez h^2 = a^2 + b^2 Ajoutez quelques descentes aléatoires dans la direction. Utilisez l'angle de la verticle comme entrée aléatoire.

+1

Il convient de souligner que cela ne donnera pas une réponse qui est uniformément répartie de la façon la plupart des gens attendent. Au lieu de cela, cette méthode (utilisée, disons, sur le cercle d'unité) aura tendance à favoriser légèrement les points proches de (1,0) et (-1,0) (ou (0,1) et (0, -1) selon la façon dont vous l'implémentez). –

+0

@Peter - Bon point. Et la densité, je crois, devrait être sin() ou cos(). – ysap

5

pseudocode:

angle = rand(0,1) 
x = cos(angle * 2 * pi) * Radius + x_centre 
y = sin(angle * 2 * pi) * Radius + y_centre 
Questions connexes