มุมที่จุดศูนย์กลางทรงกลมหน่วย
คืนมุมศูนย์กลางเป็นเรเดียนระหว่างตำแหน่งบนทรงกลมที่ละติจูดใน ±90 และลองจิจูดใน ±180 องศา.
from math import asin, cos, isfinite, radians, sin, sqrt
def central_angle(lat1, lon1, lat2, lon2):
values = (lat1, lon1, lat2, lon2)
if any(type(x) not in (int, float) or not -limit <= x <= limit
or not isfinite(x) for x, limit in zip(values, (90, 180, 90, 180))):
raise ValueError("bounded finite coordinates")
p, q = radians(lat1), radians(lat2)
a = sin((q-p)/2)**2 + cos(p)*cos(q)*sin(radians(lon2-lon1)/2)**2
return 2 * asin(sqrt(min(1.0, max(0.0, a))))โมเดล
ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
โปรเจกต์
ทดสอบจุดซ้อนและจุดตรงข้าม พร้อมปฏิเสธพิกัดไม่จำกัดโดยไม่สมมติรัศมีโลก.
ตรวจสอบก่อนนำไปใช้
เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
from math import asin, cos, isfinite, radians, sin, sqrt
def central_angle(lat1, lon1, lat2, lon2):
values = (lat1, lon1, lat2, lon2)
if any(type(x) not in (int, float) or not -limit <= x <= limit
or not isfinite(x) for x, limit in zip(values, (90, 180, 90, 180))):
raise ValueError("bounded finite coordinates")
p, q = radians(lat1), radians(lat2)
a = sin((q-p)/2)**2 + cos(p)*cos(q)*sin(radians(lon2-lon1)/2)**2
return 2 * asin(sqrt(min(1.0, max(0.0, a))))รักษาข้อตกลงพิกัดตลอดการแก้ไข
ArcNerine ให้พื้นที่ทำงาน Windows สำหรับตรวจซอร์สและสนทนากับ AI ในงานซอฟต์แวร์เกี่ยวกับพิกัด นำไฟล์โปรเจกต์และอธิบายว่าตัวเลขขาเข้าแทนอะไรก่อนขอแก้โค้ด หน่วย ลำดับพิกัด และช่วงที่ยอมรับเป็นส่วนของพฤติกรรม จึงควรอยู่ในคำขอคู่กับการคำนวณที่ต้องการปรับ
ตัวอย่างมุมศูนย์กลางทรงกลมหน่วยเป็นงานตรวจที่มีประโยชน์ ขอให้โมเดลที่เชื่อมต่อติดตามอินพุตหน่วยองศาผ่านรูทีนที่คืนเรเดียน แล้วตรวจว่าผู้เรียกใช้ผลอย่างไร เปรียบเทียบตำแหน่งตรงกันและตรงข้าม และอภิปรายการปฏิเสธค่าที่ไม่เป็นจำนวนจำกัด การรวมกรณีเหล่านี้ช่วยเผยเมื่อการแก้โค้ดเปลี่ยนข้อสมมติอินเทอร์เฟซ ไม่ใช่เพียงเลขคณิต
ตรวจแพตช์โดยพิจารณาตัวตรวจอินพุตและส่วนใช้ผล รันกรณีอ้างอิงโปรเจกต์และยืนยันกฎแปลงหรือแสดงผลอย่างชัดเจน โมเดลไม่กรองเนื้อหาช่วยได้เมื่อมีผ่านปลายทางที่รองรับแบบเข้ากันได้กับ OpenAI หรือ Anthropic ซึ่งตั้งค่าข้อมูลรับรองจำเป็นแล้ว เครื่องมือและขีดจำกัดบริบทมาจากโมเดลและเซิร์ฟเวอร์นั้น เป้าหมายคือการแก้แอปที่ข้อตกลงยังสอดคล้องกัน โดยงานเรขาคณิตตัวอย่างให้วิธีตรวจที่เป็นรูปธรรม
คำถามพิกัดสำหรับการตรวจโค้ด
- ผลตัวอย่างเป็นระยะทางกิโลเมตรหรือไม่
เป็นมุมศูนย์กลางหน่วยเรเดียนบนทรงกลมหน่วย การตีความเป็นระยะทางจริงต้องมีแบบจำลองและเลือกรัศมีเพิ่มเติม ตรวจผู้เรียกเพื่อไม่ให้ติดป้ายผลมุมเป็นระยะทางโดยไม่มีการแปลงชัดเจน
- ควรระบุอะไรเรื่องละติจูดและลองจิจูด
ระบุลำดับ หน่วย และช่วงที่รองรับ แล้วใส่ความคาดหวังนั้นในชุดทดสอบ ขอให้ผู้ช่วยตรวจแหล่งข้อมูลและส่วนใช้ผลควบคู่ฟังก์ชัน เพราะอาร์กิวเมนต์สลับกันยังอาจเป็นตัวเลขที่ถูกต้อง
- ตำแหน่งใดเป็นกรณีอ้างอิงที่มีประโยชน์
ใช้ตำแหน่งตรงกันและจุดตรงข้ามบนทรงกลม พร้อมกรณีกลางง่ายที่ทราบมุมคาดหวัง แยกตรวจการปฏิเสธค่าที่ไม่เป็นจำนวนจำกัดและนอกช่วง เพื่อไม่ให้ผลเรขาคณิตสำเร็จปิดบังขอบเขตอินพุตที่อ่อนลง
- การหนีบค่าควรแทนการตรวจอินพุตหรือไม่
ไม่ ตรวจว่าทำไมมีการหนีบค่าเชิงตัวเลขและรักษาการตรวจพิกัดที่ยอมรับอย่างชัดเจน การจัดการการปัดเศษภายในการคำนวณต่างจากการยอมรับอินพุตแอปผิดเงื่อนไข และควรทดสอบทั้งสองตามข้อกำหนดของแต่ละเรื่อง
ArcNerine · อัปเดต 2026-10-25