from math import sqrt
class Vector(object):
"""
Python Vector class
Example Usage:
==> import vector
==> vec = vector.Vector([100, 200, 300])
==> print vec.scale(2)
[200, 400, 600]
"""
def __init__(self, vector):
self.vector = vector
def vector(self, vector=None):
if type(vector) is NoneType:
return self.vector
else:
self.vector = vector
def scale(self, x):
return [self.vector[0] * x, self.vector[1] * x, self.vector[2] * x]
def div(self, vector):
return [self.vector[0] / vector[0], self.vector[1] / vector[1], self.vector[2] / vector[2]]
def add(self, vector):
return [self.vector[0] + vector[0], self.vector[1] + vector[1], self.vector[2] + vector[2]]
def sub(self, vector):
return [self.vector[0] - vector[0], self.vector[1] - vector[1], self.vector[2] - vector[2]]
def dot(self, vector):
return self.vector[0](vector[0]) + self.vector[1](vector[1]) + self.vector[2](vector[2])
def len(self):
return sqrt((self.vector[0] * self.vector[0]) + (self.vector[1] * self.vector[1]) + (self.vector[2] * self.vector[2]))
def dist(self, vector):
dist = [self.vector[0] - vector[0], self.vector[1] - vector[1], self.vector[2] - vector[2]]
return sqrt((dist[0] * dist[0]) + (dist[1] * dist[1]) + (dist[2] * dist[2]))
def normalize(self):
len = self.len()
return [self.vector[0] / len, self.vector[1] / len, self.vector[2] / len]
The Vector.dist(vector) method probably produces invalid results. Just quickly made it because I was bored :/