| Name | graphics-planes JSON |
| Version |
1.0.2
JSON |
| download |
| home_page | https://github.com/CCFTS/graphics-plane |
| Summary | Esta es una libreria para generar graficos en 2D, añadiendo herramientas y utilidades extras para mejorar la generacion de graficos. |
| upload_time | 2024-08-31 16:48:19 |
| maintainer | Alejandro Beltran, Cristian Cuadrado |
| docs_url | None |
| author | Damian Zsiros |
| requires_python | >=3.6 |
| license | None |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# graphics-plane
`graphics-plane` es una librería de Python para crear gráficos en 2D y exportarlos a formato SVG. Permite generar y manipular figuras geométricas como rectángulos y triángulos, y combinarlas en un único dibujo dentro de un plano definido.
## Instalación
Puedes instalar `graphics-plane` desde PyPI usando pip. Ejecuta el siguiente comando en tu terminal:
```bash
pip install graphics-plane
```
## Uso Básico
### Importar la Librería
Primero, importa las clases necesarias en tu script:
```python
from graphics_plane import Plane, Rectangle, Triangle
```
### Crear Figuras y Dibujo
1. **Crear un objeto `Plane`** especificando el ancho y alto del área de trabajo:
```python
plane = Plane(name="Sample Plane", width=200, height=200)
```
2. **Crear instancias de las figuras**:
```python
# Crear un rectángulo y un triángulo con posiciones específicas
rectangle = Rectangle(width=100, height=50, label="My Rectangle", x=50, y=50)
triangle = Triangle(width=100, height=80, label="My Triangle", x=100, y=100)
```
3. **Añadir las figuras al plano**:
```python
# Añadir las figuras al plano
plane.add_shape(rectangle)
plane.add_shape(triangle)
```
4. **Mostrar y exportar el plano**:
```python
# Mostrar las figuras en el plano (para depuración)
plane.show_shapes()
# Exportar el plano completo a SVG
plane.export_to_svg("sample_plane.svg")
```
## Clases y Métodos
### `Shape`
Representa una forma geométrica. Puedes definir la posición y exportar la figura a SVG.
- **Atributos**:
- `width`: Ancho de la figura.
- `height`: Alto de la figura.
- `label`: Etiqueta de la figura.
- `x`: Posición horizontal en el plano.
- `y`: Posición vertical en el plano.
- **Métodos**:
- `draw(drawer)`: Dibuja la figura usando un objeto `drawer` (para exportación a SVG o para depuración con `turtle`).
- `export_to_svg(drawer, file_name)`: Exporta la figura a un archivo SVG.
- `_draw_to_svg(shape_group, drawer)`: Método interno para añadir la figura al SVG.
### `Rectangle`
Representa un rectángulo y hereda de `Shape`.
- **Métodos**:
- `draw(drawer)`: Dibuja el rectángulo utilizando `turtle`, centrado en la posición (`x`, `y`).
- `_draw_to_svg(shape_group, drawer)`: Añade el rectángulo al SVG con la posición ajustada.
### `Triangle`
Representa un triángulo y hereda de `Shape`.
- **Métodos**:
- `draw(drawer)`: Dibuja el triángulo utilizando `turtle`, centrado en la posición (`x`, `y`).
- `_draw_to_svg(shape_group, drawer)`: Añade el triángulo al SVG con la posición ajustada.
### `Plane`
Maneja un conjunto de formas y permite exportar el dibujo completo a SVG.
- **Atributos**:
- `width`: Ancho del plano.
- `height`: Alto del plano.
- `shapes`: Lista de figuras en el plano.
- **Métodos**:
- `add_shape(shape)`: Añade una forma al plano.
- `export_to_svg(filename)`: Exporta el plano completo a un archivo SVG.
- `show_shapes()`: Muestra todas las formas y sus posiciones utilizando `turtle` (para depuración).
- `show_with_turtle()`: Utiliza `turtle` para dibujar todas las figuras en el plano, brindando una representación visual interactiva.
## Ejemplos
Aquí tienes un ejemplo completo de cómo usar la librería para crear y exportar un dibujo:
```python
from graphics_plane import Plane, Rectangle, Triangle
# Crear una instancia de Plane
plane = Plane(name="Sample Plane", width=200, height=200)
# Crear un rectángulo y un triángulo
rectangle = Rectangle(width=100, height=50, label="My Rectangle", x=50, y=50)
triangle = Triangle(width=100, height=80, label="My Triangle", x=100, y=100)
# Añadir las figuras al plano
plane.add_shape(rectangle)
plane.add_shape(triangle)
# Mostrar las figuras en el plano
plane.show_shapes()
# Exportar el plano completo a SVG
plane.export_to_svg("sample_plane.svg")
```
## Mantenedores
Este proyecto es mantenido por:
- **Damián Zsiros**
[GitHub](https://github.com/Damian-Zsiros-Prog)

- **Alejandro Beltrán**
[GitHub](https://github.com/Beltranposso)

## Contribuciones
Las contribuciones son bienvenidas. Si encuentras algún problema o deseas mejorar la librería, abre un [issue](https://github.com/tu_usuario/graphics-plane/issues) o envía un pull request en el [repositorio](https://github.com/tu_usuario/graphics-plane).
## Licencia
Este proyecto está licenciado bajo la [Licencia MIT](LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/CCFTS/graphics-plane",
"name": "graphics-planes",
"maintainer": "Alejandro Beltran, Cristian Cuadrado",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Damian Zsiros",
"author_email": "damjeronzalez23@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/3b/59/baa8b7b911b4eb33da6da519ffbbd99eed553bf3865cb7708034c84014fa/graphics_planes-1.0.2.tar.gz",
"platform": null,
"description": "\r\n# graphics-plane\r\n\r\n`graphics-plane` es una librer\u00eda de Python para crear gr\u00e1ficos en 2D y exportarlos a formato SVG. Permite generar y manipular figuras geom\u00e9tricas como rect\u00e1ngulos y tri\u00e1ngulos, y combinarlas en un \u00fanico dibujo dentro de un plano definido.\r\n\r\n## Instalaci\u00f3n\r\n\r\nPuedes instalar `graphics-plane` desde PyPI usando pip. Ejecuta el siguiente comando en tu terminal:\r\n\r\n```bash\r\npip install graphics-plane\r\n```\r\n\r\n## Uso B\u00e1sico\r\n\r\n### Importar la Librer\u00eda\r\n\r\nPrimero, importa las clases necesarias en tu script:\r\n\r\n```python\r\nfrom graphics_plane import Plane, Rectangle, Triangle\r\n```\r\n\r\n### Crear Figuras y Dibujo\r\n\r\n1. **Crear un objeto `Plane`** especificando el ancho y alto del \u00e1rea de trabajo:\r\n\r\n ```python\r\n plane = Plane(name=\"Sample Plane\", width=200, height=200)\r\n ```\r\n\r\n2. **Crear instancias de las figuras**:\r\n\r\n ```python\r\n # Crear un rect\u00e1ngulo y un tri\u00e1ngulo con posiciones espec\u00edficas\r\n rectangle = Rectangle(width=100, height=50, label=\"My Rectangle\", x=50, y=50)\r\n triangle = Triangle(width=100, height=80, label=\"My Triangle\", x=100, y=100)\r\n ```\r\n\r\n3. **A\u00f1adir las figuras al plano**:\r\n\r\n ```python\r\n # A\u00f1adir las figuras al plano\r\n plane.add_shape(rectangle)\r\n plane.add_shape(triangle)\r\n ```\r\n\r\n4. **Mostrar y exportar el plano**:\r\n\r\n ```python\r\n # Mostrar las figuras en el plano (para depuraci\u00f3n)\r\n plane.show_shapes()\r\n\r\n # Exportar el plano completo a SVG\r\n plane.export_to_svg(\"sample_plane.svg\")\r\n ```\r\n\r\n## Clases y M\u00e9todos\r\n\r\n### `Shape`\r\n\r\nRepresenta una forma geom\u00e9trica. Puedes definir la posici\u00f3n y exportar la figura a SVG.\r\n\r\n- **Atributos**:\r\n - `width`: Ancho de la figura.\r\n - `height`: Alto de la figura.\r\n - `label`: Etiqueta de la figura.\r\n - `x`: Posici\u00f3n horizontal en el plano.\r\n - `y`: Posici\u00f3n vertical en el plano.\r\n\r\n- **M\u00e9todos**:\r\n - `draw(drawer)`: Dibuja la figura usando un objeto `drawer` (para exportaci\u00f3n a SVG o para depuraci\u00f3n con `turtle`).\r\n - `export_to_svg(drawer, file_name)`: Exporta la figura a un archivo SVG.\r\n - `_draw_to_svg(shape_group, drawer)`: M\u00e9todo interno para a\u00f1adir la figura al SVG.\r\n\r\n### `Rectangle`\r\n\r\nRepresenta un rect\u00e1ngulo y hereda de `Shape`.\r\n\r\n- **M\u00e9todos**:\r\n - `draw(drawer)`: Dibuja el rect\u00e1ngulo utilizando `turtle`, centrado en la posici\u00f3n (`x`, `y`).\r\n - `_draw_to_svg(shape_group, drawer)`: A\u00f1ade el rect\u00e1ngulo al SVG con la posici\u00f3n ajustada.\r\n\r\n### `Triangle`\r\n\r\nRepresenta un tri\u00e1ngulo y hereda de `Shape`.\r\n\r\n- **M\u00e9todos**:\r\n - `draw(drawer)`: Dibuja el tri\u00e1ngulo utilizando `turtle`, centrado en la posici\u00f3n (`x`, `y`).\r\n - `_draw_to_svg(shape_group, drawer)`: A\u00f1ade el tri\u00e1ngulo al SVG con la posici\u00f3n ajustada.\r\n\r\n### `Plane`\r\n\r\nManeja un conjunto de formas y permite exportar el dibujo completo a SVG.\r\n\r\n- **Atributos**:\r\n - `width`: Ancho del plano.\r\n - `height`: Alto del plano.\r\n - `shapes`: Lista de figuras en el plano.\r\n\r\n- **M\u00e9todos**:\r\n - `add_shape(shape)`: A\u00f1ade una forma al plano.\r\n - `export_to_svg(filename)`: Exporta el plano completo a un archivo SVG.\r\n - `show_shapes()`: Muestra todas las formas y sus posiciones utilizando `turtle` (para depuraci\u00f3n).\r\n - `show_with_turtle()`: Utiliza `turtle` para dibujar todas las figuras en el plano, brindando una representaci\u00f3n visual interactiva.\r\n\r\n## Ejemplos\r\n\r\nAqu\u00ed tienes un ejemplo completo de c\u00f3mo usar la librer\u00eda para crear y exportar un dibujo:\r\n\r\n```python\r\nfrom graphics_plane import Plane, Rectangle, Triangle\r\n\r\n# Crear una instancia de Plane\r\nplane = Plane(name=\"Sample Plane\", width=200, height=200)\r\n\r\n# Crear un rect\u00e1ngulo y un tri\u00e1ngulo\r\nrectangle = Rectangle(width=100, height=50, label=\"My Rectangle\", x=50, y=50)\r\ntriangle = Triangle(width=100, height=80, label=\"My Triangle\", x=100, y=100)\r\n\r\n# A\u00f1adir las figuras al plano\r\nplane.add_shape(rectangle)\r\nplane.add_shape(triangle)\r\n\r\n# Mostrar las figuras en el plano\r\nplane.show_shapes()\r\n\r\n# Exportar el plano completo a SVG\r\nplane.export_to_svg(\"sample_plane.svg\")\r\n```\r\n\r\n## Mantenedores\r\n\r\nEste proyecto es mantenido por:\r\n\r\n- **Dami\u00e1n Zsiros** \r\n [GitHub](https://github.com/Damian-Zsiros-Prog) \r\n \r\n\r\n- **Alejandro Beltr\u00e1n** \r\n [GitHub](https://github.com/Beltranposso) \r\n \r\n\r\n## Contribuciones\r\n\r\nLas contribuciones son bienvenidas. Si encuentras alg\u00fan problema o deseas mejorar la librer\u00eda, abre un [issue](https://github.com/tu_usuario/graphics-plane/issues) o env\u00eda un pull request en el [repositorio](https://github.com/tu_usuario/graphics-plane).\r\n\r\n## Licencia\r\n\r\nEste proyecto est\u00e1 licenciado bajo la [Licencia MIT](LICENSE).\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Esta es una libreria para generar graficos en 2D, a\u00f1adiendo herramientas y utilidades extras para mejorar la generacion de graficos.",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/CCFTS/graphics-plane"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a004243fc573395decaf314baf9e68e3ed898d8f70a3c9fe6663faafb71d06cb",
"md5": "d56381fc927af3be7f7a541967292e67",
"sha256": "f3cd0833187493f72aa4e417b6ab4b34bb2b9b1e8e0a1d56f4048206e561b9ac"
},
"downloads": -1,
"filename": "graphics_planes-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d56381fc927af3be7f7a541967292e67",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 8243,
"upload_time": "2024-08-31T16:48:17",
"upload_time_iso_8601": "2024-08-31T16:48:17.896660Z",
"url": "https://files.pythonhosted.org/packages/a0/04/243fc573395decaf314baf9e68e3ed898d8f70a3c9fe6663faafb71d06cb/graphics_planes-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3b59baa8b7b911b4eb33da6da519ffbbd99eed553bf3865cb7708034c84014fa",
"md5": "4c12cabb8f227352565567709461399f",
"sha256": "ba646045efbc9af34145261ec0a48bb728b8e5dfe353f75eac9798c0ecb1176d"
},
"downloads": -1,
"filename": "graphics_planes-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "4c12cabb8f227352565567709461399f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4781,
"upload_time": "2024-08-31T16:48:19",
"upload_time_iso_8601": "2024-08-31T16:48:19.172989Z",
"url": "https://files.pythonhosted.org/packages/3b/59/baa8b7b911b4eb33da6da519ffbbd99eed553bf3865cb7708034c84014fa/graphics_planes-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-31 16:48:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CCFTS",
"github_project": "graphics-plane",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "graphics-planes"
}