BBarySlate
سير العمل

سير العمل البرمجي · إحداثيات مركزية مثلثية دقيقة

03
المنتج

سير العمل

احسب أوزانًا مركزية مثلثية دقيقة لثلاثة رؤوس صحيحة ونقطة صحيحة بمقادير إحداثيات لا تتجاوز 10000. اختبر رأسًا ونقطة خارجية وارفض الرؤوس الواقعة على خط واحد وتحقق من إعادة بناء النقطة بالأوزان.

01

نزّل التطبيق

اختر مجلدًا واطلب من المساعد قراءة الملفات المعنية قبل تعديلها. حدّد الهدف وحدود المهمة في المحادثة.

02

افتح مجلد المشروع

اختر نقطة اتصال متوافقة. تعتمد الأدوات المتاحة وجودة الإجابات على النموذج والخادم المستخدمين.

03

اربط النموذج واختبره

راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

04

راجع التغييرات وشغّل الاختبارات

قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.

إحداثيات مركزية مثلثية دقيقة

سير العمل
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

راجع قبل التطبيق. راجع التغييرات ونتائج الأوامر. شغّل فحوص المشروع قبل اعتماد النتيجة؛ الشيفرة المُولّدة ليست مختبرة تلقائيًا.

مساحة عمل برمجية بالذكاء الاصطناعي

تبدأ فكرتك التالية هنا.

تنزيل لنظام Windows ↗