Vector (hwx.common.math)¶
A mathematical represenation of a Vector in 3D space.
Properties¶
Public Methods¶
classmethod findAngle (cls, pt1, pt2, pt3, degrees=False)
angle (self, x, y=None, z=None, degrees=False)
close (self, x, y=None, z=None, tol=1e-07)
copy (self, x=None, y=None, z=None)
cross (self, x, y=None, z=None)
dot (self, x, y=None, z=None)
isAlignedWith (self, x, y=None, z=None, tolerance=1e-05, normalize=True)
iszero (self)
magnitude (self)
normalize (self)
perpendicularize (self)
scale (self, x, y=None, z=None)
Property Details¶
- property x¶
 
The x coordinate.
- property y¶
 
The y coordinate.
- property z¶
 
The z coordinate.
Method Details¶
- classmethod findAngle(cls, pt1, pt2, pt3, degrees=False)¶
 
Computes the angle subtended between (pt2-pt1) and (pt3-pt1).
- param pt1
 The first Vector.
- type pt1
 Vector
- param pt2
 The second Vector.
- type pt2
 Vector
- param pt3
 The third Vector.
- type pt3
 Vector
- param degrees
 Determines if the return value will be in degrees or not.
- type degrees
 bool
- returns
 The angle.
- rtype
 float
- angle(self, x, y=None, z=None, degrees=False)¶
 
Computes the angle with the Vector defined by x, y, z.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- param degrees
 Determines if the return value will be in degrees or not.
- type degrees
 bool
- returns
 The angle.
- rtype
 float
- close(self, x, y=None, z=None, tol=1e-07)¶
 
Determines if the distance to the Vector defined by x, y, z is less or equal than tolerance.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- param tolerance
 The tolerance to consider when checking condition.
- type tolerance
 float
- returns
 True if Vectors are close, False otherwise.
- rtype
 bool
- copy(self, x=None, y=None, z=None)¶
 
Creates a copy of self.
If x, y, z are given then the copy has these as coordinates.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- returns
 The newly created object.
- rtype
 Vector
- cross(self, x, y=None, z=None)¶
 
Computes the cross product with the Vector defined by x, y, z.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- returns
 The cross product.
- rtype
 Vector
- dot(self, x, y=None, z=None)¶
 
Computes the dot product with the Vector defined by x, y, z.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- returns
 The dot product.
- rtype
 float
- isAlignedWith(self, x, y=None, z=None, tolerance=1e-05, normalize=True)¶
 
Determines if self is parallel to the Vector defined by x, y, z.
- param x
 The x coordinate.
- type x
 float
- param y
 The y coordinate.
- type y
 float
- param z
 The z coordinate.
- type z
 float
- param tolerance
 The tolerance to consider when checking condition.
- type tolerance
 float
- param normalize
 Determines whether to normalize self before checking the condition.
- type normalize
 bool
- returns
 True if Vectors are aligned, False otherwise.
- rtype
 bool
- iszero(self)¶
 
Returns True if x, y and z are set to zero, False otherwise.
- magnitude(self)¶
 
Returns the magnitude.
- normalize(self)¶
 
Returns the normalized Vector.
- perpendicularize(self)¶
 
Computes a Vector perpendicular to self.
If any of the coordinates are zero, returns a Vector along that coordinate, otherwise returns the cross product with (1, 0, 0).
- scale(self, x, y=None, z=None)¶
 
Scales by a single value ‘x’ or a tripple (x, y, z), elementwise.
- param x
 The x scale factor.
- type x
 float
- param y
 The y scale factor.
- type y
 float
- param z
 The z scale factor.
- type z
 float
- returns
 The scaled Vector.
- rtype
 Vector