Metadata-Version: 2.1
Name: plotcp
Version: 0.2.4
Summary: Python package for drawing transformations of functions of a complex variable of the whole grid or a given area
Home-page: https://github.com/ZettZet/plotcp
License: AGPL-3.0
Author: ZetZet
Author-email: dmesser@yandex.ru
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Dist: matplotlib (>=3.2.1,<4.0.0)
Requires-Dist: numpy (>=1.18.4,<2.0.0)
Project-URL: Repository, https://github.com/ZettZet/plotcp
Description-Content-Type: text/markdown

# PlotComplexPlane
Python library for plotting complex functions transformations
# It can...
  - *plot complex planes (both transformed and original)*
  - *plot transformations of specific areas (both transformed and original)*
  - *plot lines parallel to real or imaginary axis (both transformed and original)*
# How to use:
## **First** 
import plotcp
```python
from plotcp import *
```

## **Second** 
define a callable complex function:
```python
def f(z):
    return (z+1)/z
```
## **Optionally** 
find edges of your specific area. For example: |z|=2
```python
circle = [2*(cos(x)+1j*sin(x) for x in np.linspace(0, 2*pi)]
```
## **Finally** 
choose what you want to see and call plotcp

parameter |description |type
-|-|-
fun |your predefined function f(z) |Callable[[complex], complex]
xbound |real plot bounds |Tuple[left: int, right: int]
ybound |imaginary plot bounds |Tuple[top: int, bottom: int]
nsteps |how many nodes will be on each line (bigger value - smoother lines - more time to compute) |int
gridstep |spaces between lines parallel to axis | int
inits_point |array of your areas points |optional iterator
faxis |what to display: 'origin', 'transform' or 'both' (named constants, correspondingly: Faxis.ORIG, Faxis.TRANSF, Faxis.BOTH) |Faxis(Enum.Flag)
reim |which part to display: 'real', 'imag' or 'both' (named constants, correspondingly: Reim.RE, Reim.IM, Reim.BOTH) (**only works with grid lines, and not areas**) |Reim(Enum.Flag)
inits |what to display: 'origin', 'transform' or 'both' (named constants, correspondingly: Inits.ORIG, Inits.TRANSF, Inits.BOTH) |Inits(Enum.Flag)
inits_only |show initial points only? transformed or not |bool

```python
plotcp(f, np.array([-4, 4]), np.array([-4, 4]), nsteps = 1000, inits_point=[circle], faxis=Faxis.TRANSF, reim=Reim.BOTH, inits=Inits.ORIG)
```
