# point_3d

Source code in `cadwork/__init__.py`
``````class point_3d():

def __init__(self, x: float, y: float, z: float) -> None:
self.x = x
self.y = y
self.z = z

def cross(self, another_point_3d):
"""cross product takes two vectors and produces a third vector that is orthogonal to both

Args:
point_3d (point_3d): a second vector

Returns:
point_3d: a third vector orthogonal to both
"""

def distance(self, another_point_3d) -> float:
"""distance between to points

Args:
point_3d (point_3d): a second point

Returns:
float: distance
"""

def dot(self, another_point_3d) -> float:
"""When calculating the dot product of two unit vectors, the result is always between -1 and +1.
The scalar product of two vectors of given length is thus zero if they are perpendicular to each other, and maximum if they have the same direction.
A negative dot product between two vectors means that the two vectors go in the opposite general direction.

Args:
point_3d (point_3d): a second vector

Returns:
float: value betweend 0.0 and 1.0
"""

def magnitude(self) -> float:
"""magnitude of a vector is the length of the vector.

Returns:
float: vector length
"""

def normalized(self):
"""A normalized vector is a vector with a length equal to one unit.

Returns:
point_3d: normalized vector
"""

def invert(self):
"""Invert point_3d

Returns:
point_3d: inverted point_3d
"""
``````

## `cross(self, another_point_3d)`

cross product takes two vectors and produces a third vector that is orthogonal to both

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second vector

required

Returns:

Type Description
`point_3d`

a third vector orthogonal to both

Source code in `cadwork/__init__.py`
``````def cross(self, another_point_3d):
"""cross product takes two vectors and produces a third vector that is orthogonal to both

Args:
point_3d (point_3d): a second vector

Returns:
point_3d: a third vector orthogonal to both
"""
``````

## `distance(self, another_point_3d)`

distance between to points

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`float`

distance

Source code in `cadwork/__init__.py`
``````def distance(self, another_point_3d) -> float:
"""distance between to points

Args:
point_3d (point_3d): a second point

Returns:
float: distance
"""
``````

## `dot(self, another_point_3d)`

When calculating the dot product of two unit vectors, the result is always between -1 and +1. The scalar product of two vectors of given length is thus zero if they are perpendicular to each other, and maximum if they have the same direction. A negative dot product between two vectors means that the two vectors go in the opposite general direction.

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second vector

required

Returns:

Type Description
`float`

value betweend 0.0 and 1.0

Source code in `cadwork/__init__.py`
``````def dot(self, another_point_3d) -> float:
"""When calculating the dot product of two unit vectors, the result is always between -1 and +1.
The scalar product of two vectors of given length is thus zero if they are perpendicular to each other, and maximum if they have the same direction.
A negative dot product between two vectors means that the two vectors go in the opposite general direction.

Args:
point_3d (point_3d): a second vector

Returns:
float: value betweend 0.0 and 1.0
"""
``````

## `invert(self)`

Invert point_3d

Returns:

Type Description
`point_3d`

inverted point_3d

Source code in `cadwork/__init__.py`
``````def invert(self):
"""Invert point_3d

Returns:
point_3d: inverted point_3d
"""
``````

## `magnitude(self)`

magnitude of a vector is the length of the vector.

Returns:

Type Description
`float`

vector length

Source code in `cadwork/__init__.py`
``````def magnitude(self) -> float:
"""magnitude of a vector is the length of the vector.

Returns:
float: vector length
"""
``````

## `normalized(self)`

A normalized vector is a vector with a length equal to one unit.

Returns:

Type Description
`point_3d`

normalized vector

Source code in `cadwork/__init__.py`
``````def normalized(self):
"""A normalized vector is a vector with a length equal to one unit.

Returns:
point_3d: normalized vector
"""
``````