SShoalMetric
Ambiente de programação com IA

Área orientada de polígonos

Retorne o dobro da área orientada de 3–256 vértices inteiros com coordenadas de magnitude até 1000000.

● ● ●ShoalMetric●
Fluxos de trabalho · Á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]))
✳Retorne o dobro da área orientada de 3–256 vértices inteiros com coordenadas de magnitude até 1000000.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. Revise antes de aplicar

    Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

  2. Modelos

    Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

  3. Projeto

    Teste ordem inversa e colinearidade, trate cruzamentos algebricamente e rejeite coordenadas malformadas.

Fluxos de trabalho

Área orientada de polígonos

Fluxos de trabalho ↗
Fluxos de trabalho
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]))
Ambiente de programação com IA

Relacione as convenções de coordenadas ao código que as utiliza

ShoalMetric é um ambiente de programação com IA para Windows para discutir cálculos no contexto da aplicação que os consome. Selecione a pasta do projeto e descreva a convenção de coordenadas, a saída esperada e os casos que a aplicação deve rejeitar. Peça ao assistente conectado que examine a validação e os consumidores antes de sugerir mudanças. Isso estabelece um escopo concreto de software para a tarefa geométrica, em vez de deixar seu significado restrito a uma fórmula isolada.

Uma tarefa envolvendo polygon.py poderia perguntar por que inverter a ordem dos pontos muda o resultado de uma área com sinal. Traga um polígono de exemplo e indique se o código chamador precisa de orientação, magnitude ou outra representação. Revise a alteração proposta segundo esse requisito, incluindo a ordem em que os vértices chegam. O resultado útil é um código cujo resultado tenha um significado acordado em todos os pontos da aplicação que o utilizam.

Após a inspeção, execute as verificações do projeto com uma forma simples, a ordem invertida e os casos degenerados contemplados pelo contrato. Compare o cálculo e o comportamento posterior e leve as discrepâncias de volta à conversa. ShoalMetric permite conexões a modelos compatíveis com OpenAI ou da Anthropic, com credenciais conforme necessário. Você pode escolher um modelo sem restrições quando disponível, sujeito às regras do provedor; ferramentas, capacidade de contexto e restrições de resposta ainda dependem do modelo e do servidor configurados. Cabe a você verificar o comportamento geométrico esperado.

Premissas geométricas a definir no ambiente

Um resultado de área negativo deve ser tratado como erro?

Isso depende de o código chamador usar uma grandeza com sinal para preservar a orientação. Especifique o significado necessário antes de mudar o sinal ou obter a magnitude; depois, verifique o efeito no código que consome o resultado.

Por que incluir a ordem invertida dos vértices em um teste?

Isso revela se a orientação faz parte do contrato e se a implementação a preserva. Use uma forma com resultado conhecido de maneira independente; depois, examine tanto a saída numérica quanto o comportamento do código chamador para a sequência invertida.

O exemplo valida todos os polígonos possíveis?

Não deduza isso de um cálculo de área. Se a aplicação precisa verificar interseções ou outras propriedades geométricas, indique esses requisitos separadamente e examine a implementação relevante, em vez de supor que o cálculo os comprova.

Como devo escolher os limites das coordenadas?

Use as restrições da aplicação e da representação numérica. Informe esses limites ao assistente, examine como são impostos e teste valores próximos a eles. Limites no código de exemplo não comprovam precisão ou desempenho para outra escala de dados.

Baixar para Windows ↗

ShoalMetric · Atualizado 2026-10-25