graphics-planes


Namegraphics-planes JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/CCFTS/graphics-plane
SummaryEsta es una libreria para generar graficos en 2D, añadiendo herramientas y utilidades extras para mejorar la generacion de graficos.
upload_time2024-08-31 16:48:19
maintainerAlejandro Beltran, Cristian Cuadrado
docs_urlNone
authorDamian Zsiros
requires_python>=3.6
licenseNone
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)  
  ![GitHub](https://img.shields.io/badge/GitHub-Damian--Zsiros--Prog-lightgrey?logo=github&logoColor=white)

- **Alejandro Beltrán**  
  [GitHub](https://github.com/Beltranposso)  
  ![GitHub](https://img.shields.io/badge/GitHub-Beltranposso-lightgrey?logo=github&logoColor=white)

## 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  ![GitHub](https://img.shields.io/badge/GitHub-Damian--Zsiros--Prog-lightgrey?logo=github&logoColor=white)\r\n\r\n- **Alejandro Beltr\u00e1n**  \r\n  [GitHub](https://github.com/Beltranposso)  \r\n  ![GitHub](https://img.shields.io/badge/GitHub-Beltranposso-lightgrey?logo=github&logoColor=white)\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"
}
        
Elapsed time: 0.33998s