29 lines
696 B
Python
29 lines
696 B
Python
###########################################
|
|
# Created on 1-9-2013. Miguel Angel Astor #
|
|
###########################################
|
|
import math
|
|
|
|
PI = 3.14159
|
|
|
|
def angle_to_vector(angle):
|
|
return [math.cos(angle), math.sin(angle)]
|
|
|
|
def normalize_vector_2D(vec):
|
|
norm = norm2_2D(vec)
|
|
return (vec[0] / norm, vec[1] / norm)
|
|
|
|
def dot_product_2D(vec1, vec2):
|
|
return (vec1[0] * vec2[0]) + (vec1[1] * vec2[1])
|
|
|
|
def norm2_2D(vec):
|
|
return math.sqrt(dot_product_2D(vec, vec))
|
|
|
|
def angle_vectors_2D(vec1, vec2):
|
|
return math.atan2(vec2[1], vec2[0]) - math.atan2(vec1[1], vec1[0])
|
|
|
|
def ang_2_radians(ang):
|
|
return ang * (180 / PI)
|
|
|
|
def radians_2_ang(rad):
|
|
return rad * (PI / 180)
|