# PyHyperbolic3D
<!-- badges: start -->
[![Documentation status](https://readthedocs.org/projects/pyhyperbolic3d/badge/)](https://pyhyperbolic3d.readthedocs.io/en/latest/index.html)
<!-- badges: end -->
Python stuff for drawing 3D hyperbolic polyhedra with 'PyVista'.
```
pip install pyhyperbolic3d
```
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron.png)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron_slider.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron_colored.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/BarthHyperbolicpolyhedron.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/PentagrammicPrism.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/GreatDeltoidalIcositetrahedron.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/gircope.gif)
![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/griddip.gif)
#### `gyrotube(A, B, s, r, npoints=300):`
Tubular hyperbolic segment.
##### Parameters
- **`A,B`** points (lists or arrays)
The two endpoints of the segment.
- **`s`** positive float
Curvature parameter.
- **`r`** positive float
Radius of the tube.
- **`npoints`** integer
Number of points along the segment. The default is 300.
##### Returns
A PyVista mesh ready for inclusion in a plotting region.
___
#### `gyrotriangle(A, B, C, s, depth=5, tol=1e-6):`
Hyperbolic triangle.
##### Parameters
- **`A,B,C`** points (lists or arrays)
The vertices of the triangle.
- **`s`** positive float
Curvature parameter.
- **`depth`** integer
The number of recursive subdivions. The default is 5.
- **`tol`** small positive float
The tolerance used to merge duplicated points in the mesh.
The default is 1e-6.
##### Returns
A PyVista mesh ready for inclusion in a plotting region.
Raw data
{
"_id": null,
"home_page": "https://github.com/stla/PyHyperbolic3D",
"name": "pyhyperbolic3d",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<3.11",
"maintainer_email": "",
"keywords": "hyperbolic geometry,3D meshes,PyVista",
"author": "St\u00e9phane Laurent",
"author_email": "laurent_step@outook.fr",
"download_url": "https://files.pythonhosted.org/packages/e3/ed/1ab0db6f561a99dcd862f41779ced39536dafd1f01b8511842f8c416a79c/pyhyperbolic3d-0.1.0.tar.gz",
"platform": null,
"description": "# PyHyperbolic3D\n\n<!-- badges: start -->\n[![Documentation status](https://readthedocs.org/projects/pyhyperbolic3d/badge/)](https://pyhyperbolic3d.readthedocs.io/en/latest/index.html)\n<!-- badges: end -->\n\nPython stuff for drawing 3D hyperbolic polyhedra with 'PyVista'.\n\n```\npip install pyhyperbolic3d\n```\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron.png)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron_slider.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/icosahedron_colored.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/BarthHyperbolicpolyhedron.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/PentagrammicPrism.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/GreatDeltoidalIcositetrahedron.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/gircope.gif)\n\n![](https://github.com/stla/PyHyperbolic3D/raw/main/examples/griddip.gif)\n\n#### `gyrotube(A, B, s, r, npoints=300):`\n\nTubular hyperbolic segment.\n\n##### Parameters\n- **`A,B`** points (lists or arrays)\n\n The two endpoints of the segment.\n\n- **`s`** positive float\n\n Curvature parameter.\n \n- **`r`** positive float\n\n Radius of the tube.\n \n- **`npoints`** integer\n\n Number of points along the segment. The default is 300.\n\n##### Returns\nA PyVista mesh ready for inclusion in a plotting region.\n\n___\n\n#### `gyrotriangle(A, B, C, s, depth=5, tol=1e-6):`\n\nHyperbolic triangle.\n\n##### Parameters\n- **`A,B,C`** points (lists or arrays)\n\n The vertices of the triangle.\n\n- **`s`** positive float\n\n Curvature parameter.\n \n- **`depth`** integer\n\n The number of recursive subdivions. The default is 5.\n\n- **`tol`** small positive float\n\n The tolerance used to merge duplicated points in the mesh.\nThe default is 1e-6.\n\n##### Returns\nA PyVista mesh ready for inclusion in a plotting region.\n\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-only",
"summary": "Hyperbolic meshes for 'PyVista'",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://pyhyperbolic3d.readthedocs.io/en/latest/",
"Homepage": "https://github.com/stla/PyHyperbolic3D"
},
"split_keywords": [
"hyperbolic geometry",
"3d meshes",
"pyvista"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cd09f763d102f7e1ad9d565d375957507f25fbae63d4c474ec0aaf89bf1ac4c4",
"md5": "d2e82d2de7f2e48212e6e0e85e744713",
"sha256": "2a5f3516573a0dc8100be007436b9b1fd689a2f43a5355ab5d297f87286639a4"
},
"downloads": -1,
"filename": "pyhyperbolic3d-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d2e82d2de7f2e48212e6e0e85e744713",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<3.11",
"size": 16120,
"upload_time": "2023-05-12T16:48:51",
"upload_time_iso_8601": "2023-05-12T16:48:51.362568Z",
"url": "https://files.pythonhosted.org/packages/cd/09/f763d102f7e1ad9d565d375957507f25fbae63d4c474ec0aaf89bf1ac4c4/pyhyperbolic3d-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3ed1ab0db6f561a99dcd862f41779ced39536dafd1f01b8511842f8c416a79c",
"md5": "2f52831920c90ca46bc495ab15cea112",
"sha256": "5fa386dfcbe72d288bbca6454a6f77cb65ce05dce8cb73a4a747bd2d97c1eb29"
},
"downloads": -1,
"filename": "pyhyperbolic3d-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "2f52831920c90ca46bc495ab15cea112",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<3.11",
"size": 16023,
"upload_time": "2023-05-12T16:48:53",
"upload_time_iso_8601": "2023-05-12T16:48:53.499152Z",
"url": "https://files.pythonhosted.org/packages/e3/ed/1ab0db6f561a99dcd862f41779ced39536dafd1f01b8511842f8c416a79c/pyhyperbolic3d-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-12 16:48:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stla",
"github_project": "PyHyperbolic3D",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyhyperbolic3d"
}