float distance;//距离
float rads;//弧度
CGPoint point = [tap locationInView:self.view];
NSLog(@"。。。触点的位置%@",NSStringFromCGPoint(point));
CGPoint centerPoint = CGPointMake(WIDTH/2, (HEIGHT/2-30)/2);
NSLog(@"。。。中心点的坐标%@",NSStringFromCGPoint(centerPoint));
CGPoint startPoint = CGPointMake(WIDTH/2, HEIGHT/4-100);
distance = [self distanceFromPointX:point distanceToPointY:centerPoint];
rads = [self radiansToDegreesFromPointX:point ToPointY:startPoint ToCenter:centerPoint];
#pragma mark - 计算触点和中心点的弧度
-(float)radiansToDegreesFromPointX:(CGPoint)start ToPointY:(CGPoint)end ToCenter:(CGPoint)center{
float rads;
CGFloat a = (end.x - center.x);
CGFloat b = (end.y - center.y);
CGFloat c = (start.x- center.x);
CGFloat d = (start.y- center.y);
rads = acos(((a*c) + (b*d)) / ((sqrt(a*a + b*b)) * (sqrt(c*c + d*d))));
if (start.x < center.x) {
rads = 2*M_PI - rads;
}
return rads;
}
#pragma mark - 计算触点到中心点的距离
-(float)distanceFromPointX:(CGPoint)start distanceToPointY:(CGPoint)end{
float distance;
CGFloat xDist = (end.x - start.x);
CGFloat yDist = (end.y - start.y);
distance = sqrt((xDist * xDist) + (yDist * yDist));
return distance;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。