Завантажте застосунок
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Обчисліть точку квадратичної кривої Безьє за трьома двовимірними керувальними точками з модулем до 1e100. Перевірте кінці й середину, відхиляючи нескінченні координати або параметр поза нулем та одиницею без зміни точок.
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.
Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
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]))Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.