ماذا أوضح بشأن النقاط خارج المثلث؟
حدد ما إذا كانت الأوزان ذات الإشارة متوقعة وكيف يستخدمها المستدعي. لا تفترض أن النقطة الخارجية غير صالحة لمجرد أن أحد الأوزان سالب. أدرج حالة اختبار لنقطة خارجية مع النتيجة المقصودة وسلوك الشيفرة المستهلكة.
احسب أوزانًا مركزية مثلثية دقيقة لثلاثة رؤوس صحيحة ونقطة صحيحة بمقادير إحداثيات لا تتجاوز 10000.
from fractions import Fraction
def barycentric(vertices, point):
vertices, point = tuple(tuple(v) for v in vertices), tuple(point)
if len(vertices) != 3 or any(len(v) != 2 for v in vertices) or len(point) != 2:
raise ValueError("triangle.shape")
if any(type(c) is not int or abs(c) > 10000 for v in vertices + (point,) for c in v):
raise ValueError("coordinate.range")
(x0, y0), (x1, y1), (x2, y2) = vertices
x, y = point
den = (y1-y2)*(x0-x2) + (x2-x1)*(y0-y2)
if den == 0:
raise ValueError("triangle.degenerate")
a = Fraction((y1-y2)*(x-x2) + (x2-x1)*(y-y2), den)
b = Fraction((y2-y0)*(x-x2) + (x0-x2)*(y-y2), den)
return a, b, 1-a-b| المشروع | اختبر رأسًا ونقطة خارجية وارفض الرؤوس الواقعة على خط واحد وتحقق من إعادة بناء النقطة بالأوزان. |
|---|---|
| راجع قبل التطبيق | قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية. |
| النماذج | اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل. |
from fractions import Fraction
def barycentric(vertices, point):
vertices, point = tuple(tuple(v) for v in vertices), tuple(point)
if len(vertices) != 3 or any(len(v) != 2 for v in vertices) or len(point) != 2:
raise ValueError("triangle.shape")
if any(type(c) is not int or abs(c) > 10000 for v in vertices + (point,) for c in v):
raise ValueError("coordinate.range")
(x0, y0), (x1, y1), (x2, y2) = vertices
x, y = point
den = (y1-y2)*(x0-x2) + (x2-x1)*(y0-y2)
if den == 0:
raise ValueError("triangle.degenerate")
a = Fraction((y1-y2)*(x-x2) + (x2-x1)*(y-y2), den)
b = Fraction((y2-y0)*(x-x2) + (x0-x2)*(y-y2), den)
return a, b, 1-a-bBarySlate مساحة عمل برمجية على Windows لمناقشة الشيفرة المتعلقة بالهندسة مع نموذج ذكاء اصطناعي تربطه بنفسك. ابدأ بنظام الإحداثيات والنتيجة التي يحتاج إليها تطبيقك. يساعد وصف تلك القواعد بدقة على إبقاء المحادثة مفيدة عندما تكون النتيجة مقنعة بصرياً ومع ذلك تحمل إشارة أو ترتيباً أو تمثيلاً عددياً خاطئاً.
يقدم مثال الإحداثيات المركزية المرجحة للمثلث مهمة محددة للمشروع: مراجعة الأوزان ذات الإشارة ورفض المثلث المنحل. اطلب من النموذج فحص الدالة مع الشيفرة التي تستهلك تلك الأوزان. وضح ما إذا كان المستدعي يحتاج إلى كسور دقيقة أم تمثيل آخر قبل طلب تغيير قد يبدل تلك الواجهة.
راجع الاقتراح باستخدام الرؤوس ونقطة داخلية وأخرى خارجية مع توقعات مثبتة بصورة مستقلة. أدرج حالة انحلال وافحص مسارها عبر معالجة الأخطاء. شغّل هذه الحالات بأدوات مشروعك وافحص سلوك الشيفرة المستهلكة أيضاً؛ فتغيير التعامل مع النقاط الخارجية قد يؤثر فيما يتجاوز الحساب نفسه.
لا يكون نموذج ذكاء اصطناعي بلا قيود خياراً قابلاً للاختيار إلا إذا توفر عبر نقطة النهاية المدعومة لديك، المتوافقة مع OpenAI أو الخاصة بـ Anthropic. قدم بيانات الاعتماد عند الحاجة وتحقق من دعم السياق والأدوات. تظل قيود النموذج المختار سارية، فيما يمنح BarySlate تغييراته المقترحة سياق مشروع ملموساً لتقييمها.
حدد ما إذا كانت الأوزان ذات الإشارة متوقعة وكيف يستخدمها المستدعي. لا تفترض أن النقطة الخارجية غير صالحة لمجرد أن أحد الأوزان سالب. أدرج حالة اختبار لنقطة خارجية مع النتيجة المقصودة وسلوك الشيفرة المستهلكة.
قد يغير تبديل نوع القيمة المعادة المقارنات والتسلسل والحسابات اللاحقة. إذا كان مشروعك يعتمد على قيم دقيقة، فصرح بهذا المتطلب. راجع أي تحويل مقترح إلى قيم الفاصلة العائمة مع المستدعين الذين سيتلقونها.
ابدأ بكل رأس وأوزانه المتوقعة، ثم نقطة داخلية بنتيجة معروفة. اجعل ترتيب الرؤوس صريحاً في حالة الاختبار. قد تكشف هذه الحالات افتراضات ترتيب يخفيها رسم مثلث واحد.
استخدم بيئة الرسم وفحوص مشروعك لإثبات ذلك. تدعم مساحة العمل مناقشة الشيفرة واقتراح التعديلات. قارن حالات الاختبار العددية بالسلوك المرئي بدلاً من اعتبار شرح النموذج أو صورة واحدة تحققاً كاملاً.
BarySlate · آخر تحديث 2026-10-25