author | sheepluva |
Sat, 30 Oct 2010 23:25:41 +0200 | |
changeset 4026 | afae5a3b8424 |
parent 3922 | 44804043b691 |
child 4476 | 4bf74e158f44 |
permissions | -rw-r--r-- |
3547 | 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" |
|
3922
44804043b691
iPad Video Out support (+less warnings +code update for latest SDL)
koda
parents:
3547
diff
changeset
|
11 |
#include "math.h" |
3547 | 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 |
} |