Цитирование по формуле, которая описывает спираль для генерации координат XY

Я пытаюсь создать спиральную галактику в виде xy (2D) координат, но математика не моя сильная манера.

Я извлек следующее из отличный источник для спиралей:

Радиус r (t) и угол t пропорциональны простейшая спираль, спираль Архимеда. Поэтому уравнение имеет вид:

(3) Полярное уравнение: r (t) = at [a постоянное].
Из этого следует, что (2) Форма параметра: x (t) = at cos (t), y (t) = at sin (t),
(1) Центральный уравнение: x² + y² = a² [arc tan (y/x)] ².

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

По сути, мне нужно сделать петлю через спиральную формулу в PHP ~ 5000 раз для создания точек в сетке 513x513 XY. Размер сетки и количество необходимых очков могут измениться в будущем. Еще лучше было бы взвесить эти точки относительно происхождения спиралей как по частоте, так и от того, как далеко они могут отклониться от точной математической формулы, подобно тому, как выглядит галактика.

В этой математической статье описывается формула, описывающая структуру спиральных галактик.

То, что полностью меня теряет, - это перевести математическую формулу на то, что я могу пропустить в PHP!

Ответ 1

// a is 5 here
function x($t){ return 5 * $t * cos($t); }
function y($t){ return 5 * $t * sin($t); }

for ($t = 0; $t < 50; $t += 0.01) {
    $xyPoint = array(x($t), y($t));
    // draw it
}

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

вам нужно будет выбрать свои собственные значения для a, диапазон t и шаг шага приращения t. Это зависит только от ваших требований. как cos(), так и sin() имеют максимальное значение 1, если это поможет вам определить подходящие значения для a и t в зависимости от размера холста