# 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 Visualizer Using `matplotlib`.
- A Naive Visualizer Using `open3d`.




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 matplotlib Visualizer.
* Numpy and Open3d is needed if you want to use the open3d Visualizer.
## Documentation
[](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/GouMinghao/Geometry3D",
"name": "Geometry3D",
"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/b4/10/3abe092c49754e0eb5877dbe480d894d1926d9208e7ad73cb013c3629de7/geometry3d-0.3.0.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 Visualizer Using `matplotlib`.\n- A Naive Visualizer Using `open3d`.\n\n\n\n\n\n\n\n\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 matplotlib Visualizer.\n* Numpy and Open3d is needed if you want to use the open3d Visualizer.\n\n## Documentation\n\n[](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.0",
"project_urls": {
"Homepage": "https://github.com/GouMinghao/Geometry3D"
},
"split_keywords": [
"analytic",
"geometry",
"intersection",
"3d"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b4103abe092c49754e0eb5877dbe480d894d1926d9208e7ad73cb013c3629de7",
"md5": "f8ae77b5e8e70235602fc0a5c1960a8e",
"sha256": "fd85da683d7715c6cf214ef9c77b538eb21725ff1db8368510180a1a48c152a3"
},
"downloads": -1,
"filename": "geometry3d-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "f8ae77b5e8e70235602fc0a5c1960a8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 39261,
"upload_time": "2025-01-31T11:38:02",
"upload_time_iso_8601": "2025-01-31T11:38:02.712242Z",
"url": "https://files.pythonhosted.org/packages/b4/10/3abe092c49754e0eb5877dbe480d894d1926d9208e7ad73cb013c3629de7/geometry3d-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-31 11:38:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GouMinghao",
"github_project": "Geometry3D",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "geometry3d"
}