HHullspring
Ambiente de programação com IA

Envoltórias convexas inteiras

Construa uma envoltória convexa anti-horária de até 1000 pontos inteiros, começando pelo menor ponto lexicográfico.

● ● ●Hullspring●
Fluxos de trabalho · Envoltórias convexas inteiras ×
def convex_hull(points):
    if type(points) is not list or len(points) > 1000:
        raise ValueError("hull.input")
    if any(type(p) not in (tuple, list) or len(p) != 2 or
           any(type(v) is not int for v in p) for p in points):
        raise ValueError("hull.point")
    ordered = sorted(set(map(tuple, points)))
    if len(ordered) <= 1:
        return ordered
    def turn(a,b,c):
        return (b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])
    def chain(sequence):
        out = []
        for p in sequence:
            while len(out) >= 2 and turn(out[-2],out[-1],p) <= 0:
                out.pop()
            out.append(p)
        return out
    return chain(ordered)[:-1]+chain(reversed(ordered))[:-1]
✳Envoltórias convexas inteiras
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
Projeto
Teste entrada vazia, duplicatas e pontos colineares, mantendo apenas extremos e rejeitando coordenadas fracionárias.
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.
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.
Fluxos de trabalho

Envoltórias convexas inteiras

Fluxos de trabalho ↗
Fluxos de trabalho
def convex_hull(points):
    if type(points) is not list or len(points) > 1000:
        raise ValueError("hull.input")
    if any(type(p) not in (tuple, list) or len(p) != 2 or
           any(type(v) is not int for v in p) for p in points):
        raise ValueError("hull.point")
    ordered = sorted(set(map(tuple, points)))
    if len(ordered) <= 1:
        return ordered
    def turn(a,b,c):
        return (b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])
    def chain(sequence):
        out = []
        for p in sequence:
            while len(out) >= 2 and turn(out[-2],out[-1],p) <= 0:
                out.pop()
            out.append(p)
        return out
    return chain(ordered)[:-1]+chain(reversed(ordered))[:-1]
Ambiente de programação com IA

Conecte alterações geométricas à aplicação que as utiliza

O código geométrico fica mais fácil de revisar quando a saída exigida é descrita em termos da aplicação. Hullspring é um ambiente de programação com IA para Windows para trabalhar nesse requisito com seu projeto aberto. Peça ao modelo conectado que examine o cálculo relevante e seus consumidores antes de sugerir edições, para que a proposta responda a um comportamento real em vez de apenas reorganizar uma fórmula.

Por exemplo, uma ferramenta de seleção pode usar um contorno externo em torno de um conjunto de pontos. Solicite uma revisão de como pontos duplicados e colineares afetam esse contorno e explique se pontos intermediários nas arestas devem fazer parte do resultado. Inclua o código chamador que renderiza e casos de teste representativos. Isso dá ao assistente uma tarefa concreta sem presumir que Hullspring inclua uma ferramenta de seleção.

Revise uma correção proposta quanto à ordem de saída, à validação de entrada e ao caso vazio, além da forma típica. Execute seu projeto com uma linha de pontos, coordenadas repetidas e um pequeno polígono. Compare a sequência retornada com as expectativas do consumidor; o conjunto geométrico correto ainda pode produzir uma exibição incorreta se as convenções de ordenação ou fechamento forem diferentes.

Hullspring suporta conexões com modelos por endpoints compatíveis com OpenAI ou da Anthropic. Um modelo de IA abliterado pode ser selecionado onde estiver disponível, mas seu serviço determina as restrições, a capacidade de contexto e as ferramentas. Use a conversa para esclarecer suas escolhas de implementação e mantenha a verificação baseada nos próprios casos de teste do projeto.

Preparando uma solicitação de manutenção geométrica

Pontos colineares nas arestas devem permanecer no contorno?

Informe o requisito do seu consumidor. Alguns usos precisam apenas dos vértices extremos; outros preservam pontos intermediários. Peça ao modelo que examine a convenção atual e explicite qualquer mudança de política tanto na proposta quanto nos testes.

Por que incluir o código de renderização em uma revisão de cálculo?

Ele pode esperar uma ordem específica de percurso ou a repetição do vértice de fechamento. Um cálculo pode retornar os pontos pretendidos e ainda violar essa interface. Examinar o consumidor ajuda a evitar que uma correção local crie uma regressão visível.

Quais casos de teste revelam premissas rapidamente?

Use um conjunto vazio, um ponto, duplicatas, uma linha reta e um pequeno polígono com um ponto interior. Escreva a convenção de saída esperada para cada caso. Execute-os no projeto em vez de se apoiar apenas em uma forma desenhada.

Uma correção pode ampliar incidentalmente os tipos de coordenadas aceitos?

Trate isso como uma mudança separada de contrato. Representações numéricas diferentes podem afetar comparações e validação. Pergunte por que a extensão é necessária e confira o código chamador antes de aceitá-la como parte de uma correção geométrica que, de resto, tem escopo definido.

Baixar para Windows ↗

Hullspring · Atualizado 2026-10-25