CCurveHearth
Ruang kerja kode dengan AI

Titik Bézier kuadratik

Hitung titik Bézier kuadratik dari tiga kontrol dua dimensi bermagnitudo paling besar 1e100.

● ● ●CurveHearth●
Alur kerja · Titik Bézier kuadratik ×
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]))
✳Hitung titik Bézier kuadratik dari tiga kontrol dua dimensi bermagnitudo paling besar 1e100.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
Proyek
Uji kedua ujung dan titik tengah, lalu tolak koordinat tidak hingga atau parameter di luar nol sampai satu tanpa mengubah kontrol.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
Model
Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
Alur kerja

Titik Bézier kuadratik

Alur kerja ↗
Alur kerja
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]))
Ruang kerja kode dengan AI

Sertakan harapan visual dalam peninjauan kode

Kurva yang tampak salah mungkin mencerminkan konvensi data, bukan rumus yang rusak. CurveHearth adalah ruang kerja pemrograman AI Windows untuk menghubungkan hasil yang terlihat dengan implementasi proyek. Mulailah dari bentuk yang diharapkan, data kontrol, dan komponen pemakainya, lalu minta model terhubung memeriksa alur di antaranya.

Salah satu tugas yang mungkin adalah meninjau fungsi bantu kurva kuadratik untuk pratinjau editor. Minta asisten memeriksa urutan titik kontrol, batas parameter, dan cara pemanggil memasok koordinat. Mintalah perubahan terarah hanya setelah asumsi tersebut jelas. Pratinjau itu merupakan contoh tugas aplikasi; hasil yang berguna adalah kode yang dapat Anda pahami dan verifikasi dalam proyek sendiri.

Periksa usulan dengan kasus uji tepat pada titik ujung dan satu nilai antara, lalu periksa hasil render menggunakan sistem koordinat aplikasi. Sertakan masukan tidak valid atau tidak finit jika fungsi bantu menjanjikan penolakannya. Jalankan pengujian proyek yang relevan dan cari perubahan rentang yang diterima tanpa diminta, karena perbaikan visual dapat menyembunyikan perubahan kontrak yang lebih luas.

CurveHearth terhubung ke endpoint yang kompatibel dengan OpenAI atau endpoint Anthropic yang didukung. Pilih model AI tanpa sensor jika tersedia melalui layanan Anda; alat, konteks, dan batasannya tetap bergantung pada pengaturan. Percakapan mendukung peninjauan, sedangkan kasus uji dan pemeriksaan antarmuka menentukan apakah suntingan memenuhi kebutuhan.

Pertanyaan untuk perubahan interpolasi

Konteks apa yang membantu menjelaskan kurva terdistorsi?

Berikan titik kontrol dalam urutan sebenarnya, nilai parameter, dan konvensi koordinat pemanggil. Sertakan hasil visual yang diharapkan. Rincian itu membantu membedakan kesalahan interpolasi dari asumsi transformasi atau tampilan di bagian lain aplikasi.

Apakah pemeriksaan titik ujung cukup?

Berguna, tetapi belum lengkap. Implementasi dapat mengembalikan kedua titik ujung dengan benar namun menghasilkan nilai antara yang salah. Tambahkan setidaknya satu kasus uji bagian dalam yang dihitung secara independen dan periksa jalur visual dalam aplikasi pemakainya.

Haruskah fungsi bantu menerima nilai di luar interval saat ini?

Putuskan apakah ekstrapolasi termasuk kontrak sebelum memperluas rentang. Tanyakan pemanggil mana yang membutuhkannya dan bagaimana masukan tidak valid ditangani sekarang. Nyatakan perluasan rentang secara eksplisit, bukan menyembunyikannya dalam koreksi interpolasi.

Bisakah CurveHearth memastikan tampilan tanpa menjalankan editor saya?

Jangan menganggap pemeriksaan kode membuktikan hasil render. Gunakan editor atau aplikasi untuk memeriksa transformasi koordinat dan tampilan sebenarnya. Tinjau perhitungan yang diusulkan secara terpisah, lalu verifikasi bahwa integrasinya menghasilkan bentuk yang dimaksud.

Unduh untuk Windows ↗

CurveHearth · Diperbarui 2026-10-25