Punti di Bézier quadratici
Valuta un punto Bézier quadratico da tre controlli bidimensionali con modulo massimo 1e100.
from math import isfinite
def quadratic_bezier(points, t):
def valid(v):
return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
if type(points) not in (list, tuple) or len(points) != 3:
raise ValueError("three control points")
if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
raise ValueError("bounded finite 2D controls")
if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
return mix(mix(points[0],points[1]),mix(points[1],points[2]))- Progetto
- Verifica estremi e punto medio, rifiutando coordinate non finite o parametro fuori da zero a uno senza cambiare i controlli.
- Controlla prima di applicare
- Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
- Modelli
- Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
from math import isfinite
def quadratic_bezier(points, t):
def valid(v):
return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
if type(points) not in (list, tuple) or len(points) != 3:
raise ValueError("three control points")
if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
raise ValueError("bounded finite 2D controls")
if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
return mix(mix(points[0],points[1]),mix(points[1],points[2]))Porta le aspettative visive nella revisione del codice
Una curva dall'aspetto errato può dipendere da una convenzione sui dati anziché da una formula sbagliata. CurveHearth è uno spazio di lavoro Windows con IA per collegare quel risultato visibile all'implementazione del progetto. Parti dalla forma attesa, dai dati di controllo e dal componente che li usa, poi chiedi al modello collegato di esaminare il percorso fra questi elementi.
Una possibile attività è rivedere una funzione per curve quadratiche usata nell'anteprima di un editor. Chiedi all'assistente di esaminare ordine dei punti di controllo, limiti del parametro e modo in cui il chiamante fornisce le coordinate. Richiedi una modifica mirata solo dopo aver chiarito queste ipotesi. L'anteprima è un esempio di attività applicativa; il risultato utile è codice che puoi comprendere e verificare nel tuo progetto.
Verifica la proposta con casi di prova esatti agli estremi e un valore intermedio, poi esamina il risultato renderizzato nel sistema di coordinate dell'applicazione. Includi input non validi o non finiti se la funzione promette di rifiutarli. Esegui i test pertinenti del progetto e cerca modifiche non richieste agli intervalli accettati, perché un miglioramento visivo può nascondere una variazione più ampia del contratto.
CurveHearth si collega a endpoint supportati compatibili con OpenAI o Anthropic. Scegli un modello IA senza censura se disponibile tramite il servizio; strumenti, contesto e restrizioni restano dipendenti dalla configurazione. La conversazione sostiene la revisione, mentre casi di prova e controlli dell'interfaccia determinano se la modifica soddisfa il requisito.
Domande per una modifica dell'interpolazione
Quale contesto aiuta a spiegare una curva deformata?
Fornisci i punti di controllo nell'ordine effettivo, il valore del parametro e la convenzione di coordinate del chiamante. Includi il risultato visivo atteso. Questi dettagli aiutano a distinguere un errore d'interpolazione da un'ipotesi su trasformazioni o visualizzazione altrove nell'applicazione.
Bastano i controlli agli estremi?
Sono utili ma incompleti. Un'implementazione può restituire correttamente entrambi gli estremi e produrre comunque valori intermedi errati. Aggiungi almeno un caso interno calcolato indipendentemente e verifica il percorso visivo nell'applicazione che lo usa.
La funzione dovrebbe accettare valori fuori dall'intervallo attuale?
Decidi se l'estrapolazione appartiene al contratto prima di estendere l'intervallo. Chiedi quali chiamanti ne hanno bisogno e come sono gestiti oggi gli input non validi. Mantieni esplicita l'estensione invece di nasconderla in una correzione dell'interpolazione.
CurveHearth può confermare l'aspetto senza eseguire il mio editor?
Non presumere che l'esame del codice dimostri il risultato renderizzato. Usa l'editor o l'applicazione per verificare trasformazioni delle coordinate e visualizzazione effettive. Rivedi separatamente il calcolo proposto, poi verifica che la sua integrazione produca la forma desiderata.
CurveHearth · Aggiornato 2026-10-25