project_files/HedgewarsMobile/Classes/otherSrc/CGPointUtils.c
changeset 3546 ccf4854df294
parent 3545 b07ee704f35d
child 3547 02875b1145b7
equal deleted inserted replaced
3545:b07ee704f35d 3546:ccf4854df294
     1 /*
       
     2  *  CGPointUtils.c
       
     3  *  PinchMe
       
     4  *
       
     5  *  Created by Jeff LaMarche on 8/2/08.
       
     6  *  Copyright 2008 __MyCompanyName__. All rights reserved.
       
     7  *
       
     8  */
       
     9 
       
    10 #include "CGPointUtils.h"
       
    11 #include <math.h>
       
    12 
       
    13 
       
    14 CGFloat distanceBetweenPoints (CGPoint first, CGPoint second) {
       
    15 	CGFloat deltaX = second.x - first.x;
       
    16 	CGFloat deltaY = second.y - first.y;
       
    17 	return sqrt(deltaX*deltaX + deltaY*deltaY );
       
    18 }
       
    19 
       
    20 CGFloat angleBetweenPoints(CGPoint first, CGPoint second) {
       
    21 	CGFloat height = second.y - first.y;
       
    22 	CGFloat width = first.x - second.x;
       
    23 	CGFloat rads = atan(height/width);
       
    24 	return radiansToDegrees(rads);
       
    25 }
       
    26 
       
    27 CGFloat angleBetweenLines(CGPoint line1Start, CGPoint line1End, CGPoint line2Start, CGPoint line2End) {
       
    28 	CGFloat a = line1End.x - line1Start.x;
       
    29 	CGFloat b = line1End.y - line1Start.y;
       
    30 	CGFloat c = line2End.x - line2Start.x;
       
    31 	CGFloat d = line2End.y - line2Start.y;
       
    32 	CGFloat rads = acos(((a*c) + (b*d)) / ((sqrt(a*a + b*b)) * (sqrt(c*c + d*d))));
       
    33 	return radiansToDegrees(rads);
       
    34 }