# Geometry3D
## About Geometry3D
Geometry3D is a simple python computational geographics library written in python.
This library focuses on the functions and lacks efficiency which might be improved in future version.
## Core Features
- Basic 3D Geometries: Point, Line, Plane, Segment, Convex Polygon and Convex Polyhedron.
- Simple Object like Cubic, Sphere, Cylinder, Cone, Rectangle, Parallepiped, Parallogram and Circle.
- Basic Attributes Of Geometries: length, area, volume.
- Basic Relationships And Operations Between Geometries: move, angle, parallel, orthogonal, intersection.
- Overload Build-In Functions Such As `__contains__`, `__hash__`, `__eq__`, `__neg__`.
- A Naive Renderer Using `matplotlib`.
![pic1](pic1.png)
![pic2](pic2.png)
![pic3](pic3.png)
![pic4](pic4.png)
Some of the code comes from [sgl](https://github.com/Kingdread/sgl) whose author is really interesting.
## Requirements
* [Python](http://www.python.org) 3
* No additional third-party library is required, it's written in pure python and standard library.
* Matplotlib is needed if you want to use the renderer.
## Documentation
[![Documentation Status](https://readthedocs.org/projects/geometry3d/badge/?version=latest)](https://geometry3d.readthedocs.io/en/latest/?badge=latest)
- [https://geometry3d.readthedocs.io/en/latest](https://geometry3d.readthedocs.io/en/latest/)
- [pdf](https://geometry3d.readthedocs.io/_/downloads/en/latest/pdf/)
## Installation
```bash
pip install Geometry3D
```
## Test
### Unit Tests
```bash
python run_tests.py
```
### Tests
Run .py files under g3d_tests folder.
For example:
```bash
python g3d_tests/test1.py
```
## Usage
See Documentations
## Change Log
[changelog.md](changelog.md)
## License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
## Contact
gouminghao@gmail.com
Raw data
{
"_id": null,
"home_page": "https://github.com/m-albert/Geometry3D",
"name": "Geometry3D-vendored",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "analytic geometry intersection 3d",
"author": "Minghao Gou",
"author_email": "gouminghao@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/eb/d8/a33432832a7208472a85d856a0ce284224ec18901fbfd24d96f9f011ed40/Geometry3D_vendored-0.3.1.tar.gz",
"platform": null,
"description": "# Geometry3D\n\n## About Geometry3D\n\nGeometry3D is a simple python computational geographics library written in python.\nThis library focuses on the functions and lacks efficiency which might be improved in future version.\n\n\n## Core Features\n- Basic 3D Geometries: Point, Line, Plane, Segment, Convex Polygon and Convex Polyhedron.\n- Simple Object like Cubic, Sphere, Cylinder, Cone, Rectangle, Parallepiped, Parallogram and Circle. \n- Basic Attributes Of Geometries: length, area, volume.\n- Basic Relationships And Operations Between Geometries: move, angle, parallel, orthogonal, intersection.\n- Overload Build-In Functions Such As `__contains__`, `__hash__`, `__eq__`, `__neg__`.\n- A Naive Renderer Using `matplotlib`.\n\n![pic1](pic1.png)\n\n![pic2](pic2.png)\n\n![pic3](pic3.png)\n\n![pic4](pic4.png)\n\n\nSome of the code comes from [sgl](https://github.com/Kingdread/sgl) whose author is really interesting.\n\n## Requirements\n\n* [Python](http://www.python.org) 3 \n* No additional third-party library is required, it's written in pure python and standard library. \n* Matplotlib is needed if you want to use the renderer.\n\n## Documentation\n\n[![Documentation Status](https://readthedocs.org/projects/geometry3d/badge/?version=latest)](https://geometry3d.readthedocs.io/en/latest/?badge=latest)\n\n- [https://geometry3d.readthedocs.io/en/latest](https://geometry3d.readthedocs.io/en/latest/)\n\n- [pdf](https://geometry3d.readthedocs.io/_/downloads/en/latest/pdf/)\n\n## Installation\n```bash\npip install Geometry3D\n```\n\n## Test\n### Unit Tests\n```bash\npython run_tests.py\n```\n\n### Tests\nRun .py files under g3d_tests folder.\nFor example:\n```bash\npython g3d_tests/test1.py\n```\n\n## Usage\n\nSee Documentations\n\n## Change Log\n\n[changelog.md](changelog.md)\n\n## License\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see <http://www.gnu.org/licenses/>.\n\n## Contact\ngouminghao@gmail.com\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "A 3D Geometry Lib",
"version": "0.3.1",
"project_urls": {
"Homepage": "https://github.com/m-albert/Geometry3D"
},
"split_keywords": [
"analytic",
"geometry",
"intersection",
"3d"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ebd8a33432832a7208472a85d856a0ce284224ec18901fbfd24d96f9f011ed40",
"md5": "12bd2278970aceed882b37936e529edb",
"sha256": "0a666e3c87de6773b4a961d92b07fd02dd774baaa3ce3d1fdf180b34314dbc1a"
},
"downloads": -1,
"filename": "Geometry3D_vendored-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "12bd2278970aceed882b37936e529edb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 38618,
"upload_time": "2024-07-23T09:47:47",
"upload_time_iso_8601": "2024-07-23T09:47:47.790009Z",
"url": "https://files.pythonhosted.org/packages/eb/d8/a33432832a7208472a85d856a0ce284224ec18901fbfd24d96f9f011ed40/Geometry3D_vendored-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-23 09:47:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "m-albert",
"github_project": "Geometry3D",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "geometry3d-vendored"
}