Мне нужно рассчитать угол между линиями. Мне нужно вычислить атан. Поэтому я использую такой кодпомочь вычислить atan2 правильно
static inline CGFloat angleBetweenLinesInRadians2(CGPoint line1Start, CGPoint line1End)
{
CGFloat dx = 0, dy = 0;
dx = line1End.x - line1Start.x;
dy = line1End.y - line1Start.y;
NSLog(@"\ndx = %f\ndy = %f", dx, dy);
CGFloat rads = fabs(atan2(dy, dx));
return rads;
}
Но я не могу получить более 180 градусов ((После того, как 179 градусов происходит 178..160..150 и так далее.
мне нужно повернуть на 360 градусов . Как я могу это сделать Что случилось
Maby это помогает:?
//Tells the receiver when one or more fingers associated with an event move within a view or window.
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSArray *Touches = [touches allObjects];
UITouch *first = [Touches objectAtIndex:0];
CGPoint b = [first previousLocationInView:[self imgView]]; //prewious position
CGPoint c = [first locationInView:[self imgView]]; //current position
CGFloat rad1 = angleBetweenLinesInRadians2(center, b); //first angel
CGFloat rad2 = angleBetweenLinesInRadians2(center, c); //second angel
CGFloat radAngle = fabs(rad2 - rad1); //angel between two lines
if (tempCount <= gradus)
{
[imgView setTransform: CGAffineTransformRotate([imgView transform], radAngle)];
tempCount += radAngle;
}
}
Я пробовал. Не работает – yozhik
@yozhik: Может быть, вы должны ясно, что не работает. Каков ожидаемый результат и что вы видите? – casablanca
У меня есть система координат decart. На котором я предлагаю картину. Есть нуль изображения. Когда я беру и перемещаю свою фотографию в верхних 180 градусах - все сплачивается. Когда я пытаюсь двигаться на 180 градусов, например, 190 - это показывает мне 170 градусов. Мне нужно, чтобы там где 190 градусов. Вы видите ... – yozhik