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]))- 프로젝트
- 양 끝과 중점을 시험하고 제어점을 바꾸지 않고 비유한 좌표나 영부터 일 밖의 매개변수를 거부합니다.
- 적용하기 전에 검토하세요
- 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
- 모델
- 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
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]))시각적 기대사항을 코드 검토에 반영하세요
곡선이 이상해 보이는 이유는 잘못된 공식이 아니라 데이터 규약일 수 있습니다. CurveHearth는 눈에 보이는 결과를 프로젝트 구현과 연결하는 Windows AI 코딩 작업 공간입니다. 예상 모양, 제어 데이터, 이를 사용하는 구성 요소에서 시작한 뒤 연결된 모델에게 그 사이의 경로를 살펴보도록 요청하세요.
가능한 작업으로 편집기 미리보기에 쓰이는 이차 곡선 보조 함수 검토가 있습니다. 도우미에게 제어점 순서, 매개변수 범위, 호출자의 좌표 전달 방식을 살펴보도록 요청하세요. 그 가정이 명확해진 뒤에만 범위를 좁힌 패치를 요청하세요. 미리보기는 애플리케이션 작업의 예시이며, 유용한 결과물은 자체 프로젝트에서 이해하고 검증할 수 있는 코드입니다.
정확한 양 끝점 테스트 사례와 중간값으로 제안을 확인한 뒤 애플리케이션 좌표계에서 렌더링 결과를 살펴보세요. 보조 함수가 잘못되거나 유한하지 않은 입력을 거부한다고 명시한다면 그 입력도 포함하세요. 관련 프로젝트 테스트를 실행하고 요청하지 않은 허용 범위 변경을 찾아보세요. 시각적 개선이 더 넓은 계약 변경을 감출 수 있기 때문입니다.
CurveHearth는 지원되는 OpenAI 호환 또는 Anthropic 엔드포인트에 연결합니다. 서비스에서 제공되는 경우 무검열 AI 모델을 선택하세요. 도구, 컨텍스트, 제한은 여전히 설정에 따라 달라집니다. 대화는 검토를 돕고, 수정이 요구사항을 충족하는지는 테스트 사례와 인터페이스 검사로 판단합니다.
보간 변경에 관한 질문
왜곡된 곡선을 설명하는 데 어떤 맥락이 도움이 되나요?
실제 순서의 제어점, 매개변수 값, 호출자의 좌표 규약을 제공하세요. 예상 시각적 결과도 포함하세요. 이러한 세부사항은 보간 오류와 애플리케이션 다른 부분의 변환 또는 표시 가정을 구분하는 데 도움이 됩니다.
끝점 검사만으로 충분한가요?
유용하지만 불완전합니다. 구현이 양 끝점을 올바르게 반환해도 중간값은 틀릴 수 있습니다. 독립적으로 계산한 내부 지점 테스트 사례를 하나 이상 추가하고 이를 사용하는 애플리케이션에서 시각적 경로를 확인하세요.
보조 함수가 현재 구간 밖의 값을 허용해야 하나요?
범위를 늘리기 전에 외삽이 계약에 포함되는지 결정하세요. 어떤 호출자가 이를 필요로 하고 현재 잘못된 입력을 어떻게 처리하는지 물어보세요. 범위 확장을 보간 수정 안에 숨기지 말고 명시하세요.
편집기를 실행하지 않고 CurveHearth가 모양을 확인할 수 있나요?
코드 검토가 렌더링 결과를 입증한다고 가정하지 마세요. 편집기나 애플리케이션으로 실제 좌표 변환과 표시를 확인하세요. 제안 계산을 별도로 검토한 뒤 통합 결과가 의도한 모양을 만드는지 검증하세요.
CurveHearth · 업데이트 2026-10-25