Векторы расчетов в физике - PullRequest
1 голос
/ 21 марта 2011

Вам дан радиус окружности, а также точка P в окружности (x, y), как вы пишете функцию, возвращающую x количество точек (x, y), все на окружностиданного круга.Кроме того, как вы находите угол между каждой сгенерированной точкой и точкой P.

1 Ответ

4 голосов
/ 21 марта 2011

Полагаю, вы хотите, чтобы точки на окружности были равномерно распределены по окружности.Если это так, вы можете рассчитать количество градусов между каждой точкой, разделив 360 на количество точек, которые вы хотите.Затем вы можете получить координаты любой точки (x, y) следующим образом:

(x, y) = (cos(angle), sin(angle))

, где «угол» - это угол для данной точки.(Предполагается, что вы хотите получить значения от -1 до 1, как в случае с единичным кругом: http://en.wikipedia.org/wiki/Unit_circle) Например, если вы хотите 4 точки по окружности круга, вы можете рассчитать, что есть ровно 360 /4 = 90 градусов между последовательными точками.

Итак, давайте назовем эти точки точкой 0, точкой 1, точкой 2 и точкой 3. Точка 0 находится под углом 0 градусов, точка 1 - под углом 90 градусов (1 * 90), точка 2 - под углом 180 (2 * 90) и точка 3 на 270 (3 * 90). Тогда координаты для каждой точки:

point0 = (cos(0), sin(0)) = (1, 0)
point1 = (cos(90), sin(90)) = (0, 1)
point2 = (cos(180), sin(180)) = (-1, 0)
point3 = (cos(270), sin(270)) = (0, -1)

Имейте в виду, что вы обычно начинаете измерение углов с правой стороны от горизонтальной осикружок. (На часах: на 3). РЕДАКТИРОВАТЬ: Также обратите внимание, что почти все тригонометрические функции в программировании принимают значения радиан вместо градусов. Однако с радианами может быть трудно думать, поэтому очень полезно знать, какпреобразовать радианы и градусы в другое. Чтобы преобразовать градусы в радианы, умножьте значение градуса на (pi / 180).радиан на (180 / пи).За всем этим стоит объяснение, поэтому, если вы хотите узнать больше об этом, я предлагаю вам ознакомиться с радианами.http://en.wikipedia.org/wiki/Radian

Что касается угла между этими точками и точкой P;Я дам вам только несколько указаний.Вы можете рассчитать x- и y-различия между точками и точкой P (это должно быть тривиально для вас, оно состоит из простых вычитаний).Используя эти два значения, вы можете рассчитать угол между точками.

...