SShoalMetric
Espacio de programación con IA

Área orientada de polígonos

Devuelve el doble del área orientada de 3–256 vértices enteros con coordenadas de magnitud máxima 1000000.

● ● ●ShoalMetric●
Flujos de trabajo · Área orientada de polígonos ×
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
✳Devuelve el doble del área orientada de 3–256 vértices enteros con coordenadas de magnitud máxima 1000000.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
  1. Revisa antes de aplicar

    Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.

  2. Modelos

    Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.

  3. Proyecto

    Prueba orden inverso y colinealidad, interpreta algebraicamente los cruces y rechaza coordenadas mal formadas.

Flujos de trabajo

Área orientada de polígonos

Flujos de trabajo ↗
Flujos de trabajo
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
Espacio de programación con IA

Relaciona las convenciones de coordenadas con el código que las utiliza

ShoalMetric es un espacio de programación con IA para Windows donde puedes analizar cálculos en el contexto de la aplicación que los utiliza. Selecciona la carpeta del proyecto y describe la convención de coordenadas, la salida esperada y los casos que la aplicación debe rechazar. Pide al asistente conectado que examine la validación y el código consumidor antes de sugerir cambios. Así, una tarea de geometría tiene un límite concreto dentro del software, en vez de dejar su significado en una fórmula aislada.

Una tarea relacionada con polygon.py podría preguntar por qué invertir el orden de los puntos cambia el resultado de un área con signo. Aporta un polígono de ejemplo e indica si el código que lo utiliza necesita orientación, magnitud u otra representación. Revisa el cambio propuesto según ese requisito, incluido el orden de llegada de los vértices. El resultado útil es un código cuyo resultado tenga un significado acordado en todos los lugares donde la aplicación lo utiliza.

Tras la inspección, ejecuta las comprobaciones del proyecto con una forma sencilla, el orden invertido y los casos degenerados que contemple tu contrato. Compara el cálculo y el comportamiento posterior, y lleva las discrepancias a la conversación. ShoalMetric admite conexiones a modelos compatibles con OpenAI o de Anthropic con las credenciales que se requieran. Puedes elegir un modelo sin restricciones donde esté disponible, sujeto a las reglas del proveedor; las herramientas, la capacidad de contexto y las restricciones de respuesta siguen dependiendo del modelo y del servidor configurados. Verificar el comportamiento geométrico esperado sigue siendo tu responsabilidad.

Supuestos de geometría que conviene acordar en el espacio de trabajo

¿Debe tratarse un resultado de área negativo como un error?

Depende de si el código consumidor utiliza una cantidad con signo para conservar la orientación. Especifica el significado requerido antes de cambiar el signo o tomar la magnitud y comprueba después el efecto en el código que utiliza el resultado.

¿Por qué incluir el orden invertido de los vértices en una prueba?

Permite descubrir si la orientación forma parte del contrato y si la implementación la conserva. Usa una forma con un resultado conocido de manera independiente y examina tanto la salida numérica como el comportamiento del código consumidor con la secuencia invertida.

¿Valida el ejemplo todos los polígonos posibles?

No lo deduzcas de un cálculo de área. Si tu aplicación necesita comprobar intersecciones u otras propiedades geométricas, indica esos requisitos por separado y examina la implementación pertinente en vez de suponer que el cálculo los garantiza.

¿Cómo debo elegir los límites de las coordenadas?

Utiliza las restricciones de tu aplicación y de la representación numérica. Comunica esos límites al asistente, examina cómo se aplican y prueba valores cercanos a ellos. Los límites del código de ejemplo no garantizan precisión ni rendimiento para otra escala de datos.

Descargar para Windows ↗

ShoalMetric · Actualizado 2026-10-25