2010-08-05 14 views

risposta

10

coordinata del punto sul cerchio di raggio R e centro (xc, yc):

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

mutevole valore dell'angolo a da 0 a 2 * PI è possibile trovare un punto qualsiasi circonferenza.

1

Basic Pitagora.

Prelievo numero casuale tra 0 e 50 e risolva h^2 = a^2 + b^2 aggiungono poche descisions caso sulla direzione.

+1

Va sottolineato che questo non darà una risposta che è uniformemente distribuito nel modo in cui la maggior parte delle persone si aspettano. Invece, questo metodo (usato, per esempio, sul cerchio unitario) tenderà a privilegiare leggermente i punti vicino a (1,0) e (-1,0) (o (0,1) e (0, -1) a seconda di come lo implementa). –

+0

@Peter - Buon punto. E la densità, credo, dovrebbe essere sin() o cos(). – ysap

5

Usa l'angolo dal vertice come input casuale.

Pseudocodice:

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