# point_3d

## ``` cadwork.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

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""

def __sub__(self, another_point_3d):
"""subtracts two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""

def __mul__(self, another_point_3d):
"""multiplies two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""

def __div__(self, another_point_3d):
"""divides two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""

def __eq__(self, another_point_3d):
"""checks if two points are equal

Args:
point_3d (point_3d): a second point

Returns:
bool: condition
"""

def __ne__(self, another_point_3d):
"""checks if two points are not equal

Args:
point_3d (point_3d): a second point
"""

def __getitem__(self, index: int):
"""gets the value of a point at a given index

Args:
index (int): index

Returns:
float: value
"""

def __setitem__(self, index: int, value: float):
"""sets the value of a point at a given index

Args:
index (int): index
value (float): value
"""

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
"""
``````

### `__add__(self, another_point_3d)` `special`

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`point_3d`

a third point

Source code in `cadwork/__init__.py`
``````def __add__(self, another_point_3d):

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""
``````

### `__div__(self, another_point_3d)` `special`

divides two points

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`point_3d`

a third point

Source code in `cadwork/__init__.py`
``````def __div__(self, another_point_3d):
"""divides two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""
``````

### `__eq__(self, another_point_3d)` `special`

checks if two points are equal

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`bool`

condition

Source code in `cadwork/__init__.py`
``````def __eq__(self, another_point_3d):
"""checks if two points are equal

Args:
point_3d (point_3d): a second point

Returns:
bool: condition
"""
``````

### `__getitem__(self, index)` `special`

gets the value of a point at a given index

Parameters:

Name Type Description Default
`index` `int`

index

required

Returns:

Type Description
`float`

value

Source code in `cadwork/__init__.py`
``````def __getitem__(self, index: int):
"""gets the value of a point at a given index

Args:
index (int): index

Returns:
float: value
"""
``````

### `__mul__(self, another_point_3d)` `special`

multiplies two points

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`point_3d`

a third point

Source code in `cadwork/__init__.py`
``````def __mul__(self, another_point_3d):
"""multiplies two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""
``````

### `__ne__(self, another_point_3d)` `special`

checks if two points are not equal

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required
Source code in `cadwork/__init__.py`
``````def __ne__(self, another_point_3d):
"""checks if two points are not equal

Args:
point_3d (point_3d): a second point
"""
``````

### `__setitem__(self, index, value)` `special`

sets the value of a point at a given index

Parameters:

Name Type Description Default
`index` `int`

index

required
`value` `float`

value

required
Source code in `cadwork/__init__.py`
``````def __setitem__(self, index: int, value: float):
"""sets the value of a point at a given index

Args:
index (int): index
value (float): value
"""
``````

### `__sub__(self, another_point_3d)` `special`

subtracts two points

Parameters:

Name Type Description Default
`point_3d` `point_3d`

a second point

required

Returns:

Type Description
`point_3d`

a third point

Source code in `cadwork/__init__.py`
``````def __sub__(self, another_point_3d):
"""subtracts two points

Args:
point_3d (point_3d): a second point

Returns:
point_3d: a third point
"""
``````

### `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
"""
``````