好久沒碰2d,3d的東西了,翻出個向量類,正好用于道路抽稀時根據轉角來剔除多余的中間節點
1 import os,os.path,sys,time,copy,shutil,math
2 from gameobjects.vector2 import Vector2
3
4 a=(2,6)
5 b= (1,2)
6 c=(5,2.48)
7
8 #計算ba與bc夾角 Labc
9 def pp_distance(p1,p2):
10 return math.sqrt( (p1[0]-p2[0])**2+ (p1[1]-p2[1])**2)
11
12 ba= Vector2.from_points(b,a)
13 bc = Vector2.from_points(b,c)
14 #點乘計算夾角
15 dot = (ba[0]*bc[0]+ba[1]*bc[1] )
16 x = dot/ (ba.get_magnitude()*bc.get_magnitude() )
17 angle = (math.acos(x) / math.pi) * 180
18 print angle
19