Anwendung herunterladen
Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.
Berechne einen quadratischen Bézierpunkt aus drei zweidimensionalen Kontrollpunkten mit Betrag höchstens 1e100. Prüfe Endpunkte und Mitte und lehne nichtendliche Koordinaten oder Parameter außerhalb null bis eins ohne Eingabeänderung ab.
Wählen Sie einen Ordner und lassen Sie die betreffenden Dateien vor einer Änderung lesen. Legen Sie Ziel und Grenzen der Aufgabe fest.
Wählen Sie einen kompatiblen Endpunkt. Verfügbare Werkzeuge und Antwortqualität hängen vom konfigurierten Modell und Server ab.
Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
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]))Vor dem Anwenden prüfen. Prüfen Sie Änderungen und Befehlsausgaben. Führen Sie die Projektprüfungen aus, bevor Sie das Ergebnis übernehmen; erzeugter Code ist nicht automatisch getestet.