Diện tích đa giác có hướng
Trả về hai lần diện tích có hướng cho 3–256 đỉnh nguyên với trị tuyệt đối tọa độ không quá 1000000.
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]))Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
Dự án
Thử thứ tự đảo ngược và các điểm thẳng hàng, xử lý tự giao theo đại số và từ chối tọa độ sai dạng.
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]))Gắn quy ước tọa độ với mã sử dụng chúng
ShoalMetric là không gian lập trình AI trên Windows để thảo luận các phép tính trong ngữ cảnh ứng dụng sử dụng chúng. Chọn thư mục dự án và mô tả quy ước tọa độ, đầu ra mong đợi cùng những trường hợp ứng dụng phải từ chối. Yêu cầu trợ lý được kết nối kiểm tra việc xác thực và mã sử dụng kết quả trước khi đề xuất thay đổi. Nhờ đó, bài toán hình học có ranh giới phần mềm cụ thể thay vì chỉ mang ý nghĩa trong một công thức riêng lẻ.
Một tác vụ liên quan đến polygon.py có thể hỏi vì sao đảo thứ tự điểm làm thay đổi kết quả diện tích có dấu. Cung cấp đa giác mẫu và nêu rõ mã gọi hàm cần hướng, độ lớn hay dạng biểu diễn khác. Rà soát sửa đổi được đề xuất theo yêu cầu đó, kể cả thứ tự các đỉnh được đưa vào. Kết quả hữu ích là mã có đầu ra mang ý nghĩa thống nhất ở mọi nơi ứng dụng sử dụng nó.
Sau khi rà soát, chạy các bước kiểm tra dự án với hình đơn giản, thứ tự đảo ngược và những trường hợp suy biến mà quy ước của bạn đề cập. So sánh phép tính với hành vi phía sau, rồi đưa các sai lệch trở lại cuộc trao đổi. ShoalMetric hỗ trợ kết nối mô hình tương thích OpenAI hoặc Anthropic với thông tin xác thực khi cần. Bạn có thể chọn mô hình không hạn chế khi có sẵn, theo quy định của nhà cung cấp; công cụ, dung lượng ngữ cảnh và hạn chế phản hồi vẫn phụ thuộc vào mô hình cùng máy chủ đã cấu hình. Bạn vẫn phải kiểm chứng hành vi hình học mong đợi.
Những giả định hình học cần thống nhất trong không gian làm việc
Có nên coi kết quả diện tích âm là lỗi?
Điều đó phụ thuộc vào việc mã gọi hàm có dùng đại lượng có dấu để giữ thông tin về hướng hay không. Xác định ý nghĩa cần có trước khi đổi dấu hoặc lấy độ lớn, rồi kiểm tra ảnh hưởng lên mã sử dụng kết quả.
Vì sao nên kiểm thử với thứ tự đỉnh đảo ngược?
Điều này cho thấy hướng có thuộc quy ước hay không và cách triển khai có giữ lại hướng hay không. Dùng hình có kết quả đã được xác định độc lập, rồi kiểm tra cả đầu ra số lẫn hành vi của mã gọi hàm với dãy đảo ngược.
Ví dụ có xác thực mọi đa giác có thể có không?
Không nên suy ra điều đó từ phép tính diện tích. Nếu ứng dụng cần kiểm tra giao cắt hoặc thuộc tính hình học khác, hãy nêu riêng các yêu cầu ấy và kiểm tra phần triển khai liên quan thay vì cho rằng phép tính đã xác nhận chúng.
Nên chọn giới hạn tọa độ thế nào?
Dùng các ràng buộc của ứng dụng và dạng biểu diễn số. Cho trợ lý biết các giới hạn đó, kiểm tra cách chúng được áp dụng và thử giá trị gần giới hạn. Giới hạn trong mã mẫu không xác nhận độ chính xác hay hiệu năng ở quy mô dữ liệu khác.
ShoalMetric · Cập nhật 2026-10-25