Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Equations.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 
3 from math import sqrt, pi, acos, cos, sin
4 
5 def vector(pointA, pointB):
6  vector = [0,0,0]
7  vector[0] = pointB[0] - pointA[0]
8  vector[1] = pointB[1] - pointA[1]
9  vector[2] = pointB[2] - pointA[2]
10 
11  return vector
12 
13 def length(vector):
14  length = sqrt(vector[0]**2 + vector[1]**2 + vector[2]**2)
15 
16  return length
17 
18 def unit_vector(vector, length):
19  unit_vector = [vector[0]/length, vector[1]/length, vector[2]/length]
20 
21  return unit_vector
22 
23 def dot_product(vector1, vector2):
24  dot_product = vector1[0]*vector2[0] + vector1[1]*vector2[1] + vector1[2]*vector2[2]
25 
26  return dot_product
27 
28 def cross_product(vector1, vector2):
29  cross_product = [0,0,0]
30  cross_product[0] = vector1[1]*vector2[2] - vector1[2]*vector2[1]
31  cross_product[1] = vector1[2]*vector2[0] - vector1[0]*vector2[2]
32  cross_product[2] = vector1[0]*vector2[1] - vector1[1]*vector2[0]
33 
34  return cross_product
35 
36 def angle(vector1, vector2):
37  unit_vector1 = unit_vector(vector1, length(vector1))
38  unit_vector2 = unit_vector(vector2, length(vector2))
39  angle = acos(dot_product(unit_vector1, unit_vector2))*180/pi
40 
41  return angle
42 
43 def scalar_triple_product(vector1, vector2, vector3):
44  scalar_triple_product = dot_product( vector1, cross_product(vector2, vector3) )
45 
46  return scalar_triple_product
def vector
Definition: Equations.py:5
def unit_vector
Definition: Equations.py:18
def angle
Definition: Equations.py:36
def cross_product
Definition: Equations.py:28
def scalar_triple_product
Definition: Equations.py:43
def length
Definition: Equations.py:13
def dot_product
Definition: Equations.py:23