SShoalMetric
Ruang kerja kode dengan AI

Luas poligon berorientasi

Kembalikan dua kali luas berorientasi untuk 3–256 titik sudut bilangan bulat dengan besar koordinat hingga 1000000.

● ● ●ShoalMetric●
Alur kerja · Luas poligon berorientasi ×
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
✳Kembalikan dua kali luas berorientasi untuk 3–256 titik sudut bilangan bulat dengan besar koordinat hingga 1000000.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
  1. Tinjau sebelum menerapkan

    Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

  2. 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.

  3. Proyek

    Uji urutan terbalik dan titik segaris, tangani perpotongan diri secara aljabar dan tolak koordinat yang salah.

Alur kerja

Luas poligon berorientasi

Alur kerja ↗
Alur kerja
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
Ruang kerja kode dengan AI

Hubungkan konvensi koordinat dengan kode yang menggunakannya

ShoalMetric adalah ruang kerja pemrograman AI di Windows untuk membahas perhitungan dalam konteks aplikasi yang menggunakannya. Pilih folder proyek dan jelaskan konvensi koordinat, keluaran yang diharapkan, serta kasus yang harus ditolak aplikasi. Minta asisten yang terhubung memeriksa validasi dan kode pengguna hasil sebelum mengusulkan perubahan. Dengan begitu, tugas geometri memiliki batas perangkat lunak yang konkret, bukan makna yang hanya tersimpan dalam rumus terpisah.

Tugas yang melibatkan polygon.py dapat membahas mengapa pembalikan urutan titik mengubah hasil luas bertanda. Sertakan contoh poligon dan nyatakan apakah pemanggil membutuhkan orientasi, besar nilai, atau representasi lain. Tinjau usulan perubahan berdasarkan kebutuhan itu, termasuk urutan kedatangan titik sudut. Hasil yang berguna adalah kode dengan makna hasil yang disepakati di setiap tempat aplikasi menggunakannya.

Setelah pemeriksaan, jalankan pengujian proyek dengan bentuk sederhana, urutan terbalik, dan kasus degenerat yang dicakup kontrak Anda. Bandingkan perhitungan serta perilaku selanjutnya, lalu bawa ketidaksesuaian kembali ke percakapan. ShoalMetric mendukung koneksi model yang kompatibel dengan OpenAI atau Anthropic, dengan kredensial sesuai kebutuhan. Anda dapat memilih model tanpa pembatasan jika tersedia, dengan tetap tunduk pada aturan penyedia; alat, kapasitas konteks, dan pembatasan respons tetap bergantung pada model serta server yang dikonfigurasi. Anda tetap bertanggung jawab memverifikasi perilaku geometri yang diharapkan.

Asumsi geometri yang perlu disepakati di ruang kerja

Haruskah hasil luas negatif dianggap sebagai kesalahan?

Hal itu bergantung pada apakah pemanggil menggunakan besaran bertanda untuk mempertahankan orientasi. Tentukan makna yang diperlukan sebelum mengubah tanda atau mengambil besar nilainya, lalu periksa dampaknya pada kode yang menggunakan hasil tersebut.

Mengapa pengujian perlu menyertakan urutan titik sudut terbalik?

Kasus itu menunjukkan apakah orientasi merupakan bagian dari kontrak dan apakah implementasi mempertahankannya. Gunakan bentuk yang hasilnya diketahui secara independen, lalu periksa keluaran numerik dan perilaku pemanggil untuk urutan terbalik.

Apakah contoh ini memvalidasi semua kemungkinan poligon?

Jangan menyimpulkan demikian dari perhitungan luas. Jika aplikasi membutuhkan pemeriksaan perpotongan atau sifat geometri lainnya, nyatakan kebutuhan tersebut secara terpisah dan periksa implementasi terkait, alih-alih menganggap perhitungan sudah membuktikannya.

Bagaimana sebaiknya menentukan batas koordinat?

Gunakan batasan aplikasi dan representasi numerik Anda. Beri tahu asisten mengenai batas itu, periksa penerapannya, dan uji nilai di dekatnya. Batas dalam kode contoh tidak membuktikan akurasi atau kinerja untuk skala data yang berbeda.

Unduh untuk Windows ↗

ShoalMetric · Diperbarui 2026-10-25