> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/detections-shapes/shape-analysis/translate-shape.md).

# Translate Shape

Esta función mueve formas geométricas por los desplazamientos horizontales y verticales especificados. Úsala cuando necesites desplazar puntos, rectángulos, círculos o contornos dentro del espacio de coordenadas de tu imagen.

## 📥 Entradas

`Shape`\
Una forma a traducir. Tipos aceptados:

* Punto único (x, y)
* Rectángulo definido por dos puntos de esquina
* Círculo definido por center\_x, center\_y, radius
* Contorno (una lista/array ordenada de puntos (x,y))

`X`\
Valor de traslación horizontal (opcional). Pixeles enteros para mover la forma a lo largo de X. Por defecto es 0 si no se proporciona.

`Y`\
Valor de traslación vertical (opcional). Pixeles enteros para mover la forma a lo largo de Y. Por defecto es 0 si no se proporciona.

(Todos los anteriores son sockets de entrada.)

## 📤 Salidas

`Shape`\
La forma traducida devuelta en el mismo formato que la entrada (punto, rectángulo, círculo o contorno).

(Este es un socket de salida.)

## 🕹️ Controles

Este bloque de función no tiene controles o widgets adicionales. Proporciona las translaciones a través de los sockets de entrada (`X` y `Y`).

## ⚙️ Mecanismo de ejecución

* Al ejecutarse, el bloque lee la `Shape` proporcionada y los valores opcionales de traslación `X` y `Y`.
* Las translaciones se aplican como desplazamientos de píxeles enteros. Valores positivos mueven la forma a la derecha/abajo; valores negativos la mueven a la izquierda/arriba.
* El bloque devuelve el mismo tipo de forma desplazada por los offsets dados. Para contornos, cada vértice se desplaza por el mismo offset (X, Y).
* Si se suministra un tipo de forma no soportado o datos inválidos, el bloque indicará un error de configuración — asegúrate de que la entrada `Shape` coincide con uno de los formatos aceptados.

## ✨ Características

* Soporta tipos de forma comunes: point, rectangle, circle y contour.
* Conserva el formato de salida idéntico al de la entrada para encadenamientos sin fricción.
* Traslación simple basada en enteros para posicionamiento determinista.
* Funciona con formas individuales o arrays de contornos para transformaciones geométricas por lotes.

## 📝 Instrucciones de uso

1. Proporciona una forma al socket `Shape` (por ejemplo, el contorno devuelto por un detector).
2. Proporciona el desplazamiento horizontal al socket `X` (opcional).
3. Proporciona el desplazamiento vertical al socket `Y` (opcional).
4. Lee la forma traducida desde el socket de salida `Shape` y úsala para dibujar, medir o procesar posteriormente.

## 💡 Tips and Tricks

* Combínalo con bloques de detección y ROI:
  * Usa `Find Contour`, `Find Object` o `Approximate Contour` para obtener shapes, luego aliméntalos a este bloque para alinear o desplazar resultados.
  * Usa `Image ROI`, `Image ROI Select` o `Get ROI` para recortar o enfocar una región antes de traducir shapes, de modo que las coordenadas permanezcan consistentes dentro de la región de trabajo.
* Trabajar con múltiples shapes o listas:
  * Usa `Batch Processing`, `Debatch` o `Batch Concatenation` para traducir una lista de shapes de forma iterativa.
  * Para dibujar los resultados traducidos y verificarlos visualmente, envía la salida a `Draw Point`, `Draw Rectangle` o `Draw Result On Image`.
* Para flujos de trabajo de medición:
  * Después de traducir shapes, usa `Measure Position Distance` para calcular distancias entre posiciones movidas y de referencia.
  * Usa `Minimum Rectangle`, `Hull Convex` o `Contour to Image` para convertir y comparar resúmenes geométricos tras la traducción.
* Visualización y depuración:
  * Para visualizar contornos o rectángulos traducidos en imágenes, enruta la shape traducida a `Draw Rectangle` o `Draw Result On Image` y prévisualiza con `Show Image`.

## 🛠️ Solución de problemas

* No se ve ningún cambio tras la traducción:
  * Verifica que se hayan proporcionado valores distintos de cero en `X` o `Y`.
  * Asegúrate de que el bloque de dibujo/visualización (por ejemplo `Show Image` o `Draw Rectangle`) esté recibiendo la shape traducida y que se esté usando el mismo sistema de coordenadas.
* Errores de formato inesperados:
  * Confirma que la `Shape` de entrada se ajuste a uno de los formatos soportados (point, rectangle, circle o contour).
  * Si trabajas con listas, asegúrate de que se proporcionen mediante un flujo compatible con batch/list (usa `Batch Processing` / `Debatch` según sea necesario).
* Shapes fuera de los límites:
  * Las translaciones pueden mover formas fuera del área de la imagen. Si esto es un problema, restringe las coordenadas con comprobaciones posteriores o recorta el ROI antes de la traducción.
