Поиск координат на краю круга
Использование С#:
Как получить координаты (x, y) на краю круга для любой заданной степени, если у меня есть координаты центра и радиус?
Есть, вероятно, SIN, TAN, COSIN и другая математика класса 10...:)
Ответы
Ответ 1
Это не имеет ничего общего с С#. Существует только элементарная математика.
x = x0 + r * cos(theta)
y = y0 + r * sin(theta)
theta находится в радианах, x0 и y0 - координаты центра, r - радиус, а угол измеряется против часовой стрелки от оси x. Но если вы хотите его в С#, а ваш угол находится в градусах:
double x = x0 + r * Math.Cos(theta * Math.PI / 180);
double y = y0 + r * Math.Sin(theta * Math.PI / 180);
Ответ 2
с использованием теоремы Пифагора (где x1, y1 - краевая точка):
x1 = x + rcos (theta)
y1 = y + rsin (theta)
в С#, это будет выглядеть так:
x1 = x + radius * Math.Cos(angle * (Math.PI / 180));
y1 = y + radius * Math.Sin(angle * (Math.PI / 180));
где все переменные doubles
и angle
находятся в градусах
Ответ 3
http://en.wikipedia.org/wiki/Trigonometry - ваш друг, вычисления довольно просты.
Проверьте пространство имен Math для Sin() и Cos()
Ответ 4
Для круга с началом (j, k)
, радиусом r
и углом t
в радианах:
x(t) = r * cos(t) + j
y(t) = r * sin(t) + k