Нарисуйте точку на заданном расстоянии от базовой точки - PullRequest
5 голосов
/ 05 августа 2010

Я пытаюсь найти алгоритм для нахождения случайной точки на заданном расстоянии от базовой точки. Так, например:

альтернативный текст http://i34.tinypic.com/2e4vxao.png

Это может быть просто базовая математика, и мой мозг еще не работает (простите, я еще не выпил кофе :)), но я пытался решить это на бумаге, и я никуда не доберусь.

Ответы [ 3 ]

10 голосов
/ 05 августа 2010

координата точки на окружности с радиусом R и центром (xc, yc):

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

изменяя значение угла a от 0 до 2 * PI вы можете найти любую точку на окружности.

5 голосов
/ 05 августа 2010

Используйте угол от вертикали в качестве случайного ввода.

Псевдокод:

angle = rand(0,1)
x = cos(angle * 2 * pi) * Radius + x_centre
y = sin(angle * 2 * pi) * Radius + y_centre
1 голос
/ 05 августа 2010

Основные Пифагор.

Выберите случайное число от 0 до 50 и решите h ^ 2 = a ^ 2 + b ^ 2. Добавьте несколько случайных решений по направлению.

...