Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
Vector.py
Go to the documentation of this file.
1 def Vector (x,y,z):
2  return (x,y,z)
3 def Add (a,b):
4  return (a[0]+b[0],a[1]+b[1],a[2]+b[2])
5 def Sub (a,b):
6  return (a[0]-b[0],a[1]-b[1],a[2]-b[2])
7 def Neg (a):
8  return (-a[0],-a[1],-a[2])
9 def Cross(a,b):
10  return (a[1]*b[2]-a[2]*b[1], a[2]*b[0]-a[0]*b[2], a[0]*b[1]-a[1]*b[0])
11 def Scale(a,f):
12  return (a[0]*f,a[1]*f,a[2]*f)
13 def Dot (a,b):
14  return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]
15 def Transform (a,p,q,r):
16  return (Dot (a,p),
17  Dot (a,q),
18  Dot (a,r))
19 def Mag(a):
20  import VS
21  return VS.sqrt(Dot(a,a))
22 def Norm (a):
23  return Scale(a,1.0/Mag(a))
24 def SafeNorm (a):
25  mag = Mag(a)
26  if (mag):
27  return Scale(a,1.0/mag)
28  else:
29  return Vector(0,0,0)
30 def ScaledCross (a,b):
31  return Norm(Cross(a,b))
32 def Max(a,b):
33  return ((a[0]>b[0])*a[0]+(a[0]<=b[0])*b[0],
34  (a[1]>b[1])*a[1]+(a[1]<=b[1])*b[1],
35  (a[2]>b[2])*a[2]+(a[2]<=b[2])*b[2])
36 def Min(a,b):
37  return ((a[0]<b[0])*a[0]+(a[0]>=b[0])*b[0],
38  (a[1]<b[1])*a[1]+(a[1]>=b[1])*b[1],
39  (a[2]<b[2])*a[2]+(a[2]>=b[2])*b[2])