diff -r ccf4854df294 -r 02875b1145b7 project_files/HedgewarsMobile/Classes/CGPointUtils.c --- a/project_files/HedgewarsMobile/Classes/CGPointUtils.c Wed Jun 23 21:49:19 2010 +0200 +++ b/project_files/HedgewarsMobile/Classes/CGPointUtils.c Wed Jun 23 22:03:56 2010 +0200 @@ -0,0 +1,34 @@ +/* + * CGPointUtils.c + * PinchMe + * + * Created by Jeff LaMarche on 8/2/08. + * Copyright 2008 __MyCompanyName__. All rights reserved. + * + */ + +#include "CGPointUtils.h" +#include + + +CGFloat distanceBetweenPoints (CGPoint first, CGPoint second) { + CGFloat deltaX = second.x - first.x; + CGFloat deltaY = second.y - first.y; + return sqrt(deltaX*deltaX + deltaY*deltaY ); +} + +CGFloat angleBetweenPoints(CGPoint first, CGPoint second) { + CGFloat height = second.y - first.y; + CGFloat width = first.x - second.x; + CGFloat rads = atan(height/width); + return radiansToDegrees(rads); +} + +CGFloat angleBetweenLines(CGPoint line1Start, CGPoint line1End, CGPoint line2Start, CGPoint line2End) { + CGFloat a = line1End.x - line1Start.x; + CGFloat b = line1End.y - line1Start.y; + CGFloat c = line2End.x - line2Start.x; + CGFloat d = line2End.y - line2Start.y; + CGFloat rads = acos(((a*c) + (b*d)) / ((sqrt(a*a + b*b)) * (sqrt(c*c + d*d)))); + return radiansToDegrees(rads); +}