نقاط منحنى بيزيه التربيعي
احسب نقطة بيزيه تربيعية من ثلاث نقاط تحكم ثنائية الأبعاد لا تتجاوز إحداثياتها 1e100 مقدارا.
from math import isfinite
def quadratic_bezier(points, t):
def valid(v):
return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
if type(points) not in (list, tuple) or len(points) != 3:
raise ValueError("three control points")
if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
raise ValueError("bounded finite 2D controls")
if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
return mix(mix(points[0],points[1]),mix(points[1],points[2]))- المشروع
- اختبر الطرفين والمنتصف وارفض الإحداثيات غير المنتهية والمعامل خارج صفر إلى واحد دون تعديل نقاط التحكم.
- راجع قبل التطبيق
- قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
- النماذج
- اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
from math import isfinite
def quadratic_bezier(points, t):
def valid(v):
return type(v) in (int, float) and -1e100 <= v <= 1e100 and isfinite(v)
if type(points) not in (list, tuple) or len(points) != 3:
raise ValueError("three control points")
if any(type(p) not in (list, tuple) or len(p) != 2 or not all(map(valid,p)) for p in points):
raise ValueError("bounded finite 2D controls")
if not valid(t) or not 0 <= t <= 1: raise ValueError("parameter 0 through 1")
def mix(a,b): return tuple((1-t)*x+t*y for x,y in zip(a,b))
return mix(mix(points[0],points[1]),mix(points[1],points[2]))أدخل التوقعات البصرية في مراجعة الكود
قد يعكس المنحنى الذي يبدو خاطئا اصطلاحا للبيانات، لا صيغة معطوبة. CurveHearth مساحة برمجة بالذكاء الاصطناعي على Windows لربط تلك النتيجة المرئية بتنفيذ مشروعك. ابدأ بالشكل المتوقع وبيانات التحكم والمكون الذي يستخدمها، ثم اطلب من النموذج المتصل فحص المسار بينها.
إحدى المهام الممكنة مراجعة دالة مساعدة لمنحنى تربيعي تستخدمها معاينة محرر. اطلب من المساعد فحص ترتيب نقاط التحكم وحدود المعلمة وطريقة تقديم المستدعي للإحداثيات. لا تطلب تعديلا محددا إلا بعد وضوح هذه الافتراضات. المعاينة مثال لمهمة تطبيق؛ والنتيجة المفيدة كود يمكنك فهمه والتحقق منه في مشروعك.
افحص المقترح بحالات اختبار دقيقة لطرفي المنحنى وقيمة وسيطة، ثم افحص النتيجة المعروضة باستخدام نظام إحداثيات التطبيق. أدرج مدخلات غير صالحة أو غير منتهية إذا كانت الدالة تتعهد برفضها. شغل اختبارات المشروع ذات الصلة وابحث عن تغييرات غير مطلوبة في النطاقات المقبولة، إذ قد يخفي تحسين بصري تغييرا أوسع في العقد.
يتصل CurveHearth بنقاط نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic. اختر نموذجا بلا رقابة إذا أتاحته خدمتك؛ وتبقى أدواته وسياقه وقيوده معتمدة على الإعداد. تدعم المحادثة مراجعتك، بينما تحدد حالات الاختبار وفحوص الواجهة ما إذا كان التعديل يلبي المتطلب.
أسئلة لتعديل الاستيفاء
ما السياق الذي يساعد في تفسير منحنى مشوه؟
قدم نقاط التحكم بترتيبها الفعلي وقيمة المعلمة واصطلاح إحداثيات المستدعي. أدرج النتيجة البصرية المتوقعة. تساعد هذه التفاصيل في فصل خطأ الاستيفاء عن افتراض تحويل أو عرض في موضع آخر من التطبيق.
هل تكفي فحوص الطرفين؟
هي مفيدة لكنها غير مكتملة. قد يعيد التنفيذ الطرفين بشكل صحيح وينتج قيما وسيطة خاطئة. أضف حالة داخلية واحدة على الأقل محسوبة بصورة مستقلة، وافحص المسار المرئي في التطبيق الذي يستخدمه.
هل ينبغي أن تقبل الدالة قيما خارج مجالها الحالي؟
قرر ما إذا كان الاستقراء جزءا من العقد قبل توسيع النطاق. اسأل أي المستدعين يحتاجه وكيف تعالج المدخلات غير الصالحة اليوم. اجعل توسيع النطاق صريحا بدلا من إخفائه داخل تصحيح للاستيفاء.
هل يستطيع CurveHearth تأكيد المظهر دون تشغيل محرري؟
لا تفترض أن فحص الكود يثبت النتيجة المعروضة. استخدم محررك أو تطبيقك لفحص تحويلات الإحداثيات الفعلية والعرض. راجع الحساب المقترح منفصلا، ثم تحقق من أن تكامله ينتج الشكل المقصود.
CurveHearth · آخر تحديث 2026-10-25