project_files/HedgewarsMobile/Classes/CGPointUtils.c
changeset 3547 02875b1145b7
parent 3546 ccf4854df294
child 3922 44804043b691
equal deleted inserted replaced
3546:ccf4854df294 3547:02875b1145b7
       
     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 }