diff -r 83ad68ceef72 -r 334016e8d895 cocoaTouch/otherSrc/CGPointUtils.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cocoaTouch/otherSrc/CGPointUtils.c Thu Jan 07 05:23:23 2010 +0000 @@ -0,0 +1,40 @@ +/* + * CGPointUtils.c + * PinchMe + * + * Created by Jeff LaMarche on 8/2/08. + * Copyright 2008 __MyCompanyName__. All rights reserved. + * + */ + +#include "CGPointUtils.h" +#include + +#define degreesToRadian(x) (M_PI * x / 180.0) +#define radiansToDegrees(x) (180.0 * x / M_PI) + +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); + //degs = degrees(atan((top - bottom)/(right - left))) +} + +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); +}