2013-11-23 5 views
1

Мне нужно получить конкретную точку с заданным углом и расстоянием (радиус) от центральной точки моего базового UIView. Я нашел этот вопрос How to calculate a point with an given center, angle and radius?, но это не дает мне правильной точки. Я использую код ниже, чтобы найти точку,Получить точку x, y от угла и радиуса

В основном мне нужно найти точку x, y от расстояния 100 пикселей и 90 градусов (по часовой стрелке) от центральной точки моего базового вида.

int angle = 90 * M_PI/180;//need to find the point of 90 degrees 
int distance = 100; 
int line_end_x = 160 + cos(angle)*distance;//160 is my center x 
int line_end_y = 274 + sin(angle)*distance;//274 is my center y 
myView.center = CGPointMake(line_end_x, line_end_y); 

Приведенный выше код дает мне ниже выхода,

Красная коробка "MyView" с (20px 20px х)

enter image description here

Может быть кто-то может сказать мне, что не так я делать?

ответ

4

Я сомневаюсь, что вы хотите, чтобы ваш угол выражался как int. Ваш угол Pi/2, который равен 1,57.

Может попробовать float angle = 90 * M_PI/180;

+0

Оооо спасибо родственную, То, что я не хватает ... –

+0

Если кому интересно знать, 0 градусов начинается с 3 в циферблате часов, Ошибочно я начал с 12 в моем изображении. –

+1

Yup, соглашение состоит в том, что начало углов - это ось 'x', * ie *. горизонтальный ;-) – Olotiar

Смежные вопросы