استيفاء خطي
فِي الرِّياضيَّات، الاسْتيفاء الخطِّيّ (بالانجليزية:Linear interpolation) هُو طَرِيقَة لِتوْفِيق المنْحنيات بِاسْتخْدام مُتعدِّدات اَلحُدود الخطِّيَّة لِبناء نِقَاط بيانَات جَدِيدَة ضِمْن نِطَاق مَجمُوعة مِن البيانات المعْروفة.
الاستيفاء الخطي بين نقطتين معروفتين
[عدل]إذا كانتا النقطتين المعروفتين ممثلتين بالإحداثيات وَ , فإن الخط المستوفي هو الخط المستقيم بين هاتين النقطتين. لقيمة في الفترة , تُعطى القيمة على طول الخط المستقيم من معادلة الميلاتوالتي يمكن استنتاجها هندسياً من الشكل على اليسار. إنها حالة خاصة من استيفاء متعدد الحدود بقيمة .
حل هذه المعادلة لـ , وهي القيمة المجهولة في , يعطيوهو الصيغة للاستيفاء الخطي في الفترة . خارج هذه الفترة، تكون الصيغة متطابقة مع استكمال خارجي.
يمكن أيضاً فهم هذه الصيغة على أنها متوسط مرجح. الأوزان معكوسة مرتبطة بالمسافة من النقاط النهائية إلى النقطة المجهولة؛ النقطة الأقرب لها تمتلك تأثيراً أكبر من النقطة الأبعد. وبالتالي، الأوزان تكون
وَ , والتي تمثل المسافات الموحدة بين النقطة المجهولة وكل من النقاط النهائية. لأن هذه المجموعة تساوي 1،مما يعطي الصيغة للاستيفاء الخطي المذكورة أعلاه.
استيفاء مجموعة بيانات
[عدل]يتكون الاستيفاء الخطي على مجموعة من نقاط البيانات (النقاط الحمراء) من قطع الاستيفاء الخطي (الخطوط الزرقاء). الاستيفاء الخطي على مجموعة من نقاط البيانات (x0, y0), (x1, y1), ..., (xn, yn) يُعرَّف كخطي قطعة قطعة، ناتج عن اتحاد قطع مستقيمة الاستيفاء بين كل زوج من نقاط البيانات. وينتج عن ذلك منحنى مستمر، ولكنه يكون له تفاضل متقطع (بشكل عام)، وبالتالي من الفصل التفاضلي .
الاستيفاء الخطي كتقريب
[عدل]الاستيفاء الخطي يستخدم غالبا لتقريب قيمة دالة f باستخدام قيمتين معروفتين لتلك الدالة في نقاط أخرى. يتم تعريف خطأ هذا التقريب كما يلي.
حَيْث يُمثِّل p متعدد الحدود لِلاسْتيفاء الخطِّيِّ اَلمُعرف أَعلَاه:
يُمْكِن أن يَتِم إِثْباته بِاسْتخْدام مُبَرهنَة رُول أَنَّه إِذَا كان لَدى الدَّالَّة f مُشْتقَّة ثَانِية مُسْتمِرَّة ، فَإِن الخطأ مَحصُور بِواسِطة
صحيح ، يُصْبِح التَّقْريب بَيْن نُقْطتَيْنِ على دَالَّة مُعَينَة أَسوَأ مع تَزايُد المشْتقَّة الثَّانية لِلدَّالَّة المقرَّبة وَهذَا مَنطقِي أيْضًا : كُلمَا كَانَت الدَّالَّة أَكثَر اِنحِناء ، زاد سُوء التَّقْريبات اَلتِي يَتِم إِجْراؤهَا بِاسْتخْدام الاسْتيفاء الخطِّيِّ اَلبسِيط . . .
التاريخ والتطبيقات
[عدل]الاستيفاء الخطي قد استُخدم منذ العصور القديمة لملء الفجوات في الجداول. لنفترض أن لدينا جدول يُدرج فيهِ تعداد سكان بلد ما في 1970 وَ1980 وَ1990 وَ2000، وَنريدُ تقدير تعداد السكان في عام 1994. يأتي دور الاستيفاء الخطي كوسيلة سهلة للقيامِ بذلك. يُعتقد أنه تم استخدامه في الإمبراطورية السلوقية (ثلاثة قرون الأخيرة قبلَ الميلاد) ومِن قِبَل عالم الفلك وَالرياضي اليُوناني أبرخش (القرن الثاني قبلَ الميلاد). يمكن العثور على تفسير للاستيفاء الخطي في النص الرياضي الصيني القديم المسمى "الفصول التسعة في الفن الرياضي [الإنجليزية]" (九章算術)،[1] المؤرخ مابين 200 قبل الميلاد وَ100 ميلادي، وفي "المجسطي" (القرن الثاني الميلادي) لبطليموس.
غالبًا ما تُستَعملُ العملية الأساسية للاستيفاء الخطي في الرسومات الحاسوبية. في هذا المجال، يُطلق عليها أحيانًا مصطلح "ليرب" (بالإنجليزية: Lerp مِن Linear Interpolation). يمكن استخدام المصطلح كفعل أو اسم للعملية. مثلاً، "خوارزمية بريسنهام تقوم بِليرب بمنحى تصاعُديّ بين نقطتي نهاية الخط".
صارت عمليات الاستيفاء (ليرب) مدمجة بجميع معالجات الرسوميات للحواسيب الحديثة. وغالباً ما يتم استخدامها كقطع بناء لعمليات أكثر تعقيدًا: على سبيل المثال، يمكن تحقيق استيفاء خطي ثنائي في ثلاث عمليات ليرب. وبما أن هذه العملية هيّنة، فإنها أيضًا طريقة جيدة لتنفيذ جداول بحث دقيقة مع بحث سريع للدوال الناعمة دون الحاجة إلى الكثير من مداخيل الجدول.
إضافات
[عدل]الدقة
[عدل]إذا كانت الدالة C0 غير كافية، على سبيل المثال إذا كانَ الإجراء الذي أنتجَ نقاط البيانات معلوم بأنهُ أكثرَ نعومة مِن C0، فمن الشائِع استبدال الاستيفاء الخطي باستيفاء شريحة أو في بعض الحالات، استيفاء حدودي.
متعدد المتغيرات
[عدل]الاستيفاء الخطي كما هوَ موضّح هنا يتعلق بنقاط البيانات في بُعْدٍ مكانيّ واحد. بالنسبة لبُعْدَيْن مكانِيَين، يُطلَق على امتداد الاستيفاء الخطي مصطلحَ استيفاء خطي ثنائي، وفي الأبعاد الثلاثة، يُطلَق عليه استيفاء ثلاثي الخط [الإنجليزية]. لاحظ، على الرغم من ذلك، أن هذه الاستيفاءات لم تعد دوال خطية للإحداثيات المكانية، بقدر ما هيَ جداءات للدوال الخطية، هذا مُوضّح من خلال المثال غير الخطي بشكل ظاهِر عبرَ الاستيفاء الخطي الثنائي الشكل أدناه. يُمكن تطبيق امتدادات أخرى للاستيفاء الخطي على أنواع أخرى من الشبكات مثل الشبكات المثلثية وَرباعية السطوح، بما في ذلك أسطُح بيزييه. يُمكن تحديد هذه كدوال خطية قطعية فعلاً بأبعاد أعلى (انظر الشكل الثاني أدناه).
في البرمجة
[عدل]العديد من المكتبات ولغات التظليل تحتوي على وظيفة ليرب مساعدة "lerp" (التي تعرف في جي إل إس إل بـِ mix)، والتي تقوم بإرجاع استيفاء بين مدخلين (v0, v1)
للعامل t في فترة الوحدة المغلقة [0, 1]. تُنفّذ توقيعات وظائف lerp بأشكال مختلفة بين (v0, v1, t)
وَ (t, v0, v1)
.
// Imprecise method, which does not guarantee v = v1 when t = 1, due to floating-point arithmetic error.
// This method is monotonic. This form may be used when the hardware has a native fused multiply-add instruction.
float lerp(float v0, float v1, float t) {
return v0 + t * (v1 - v0);
}
// Precise method, which guarantees v = v1 when t = 1. This method is monotonic only when v0 * v1 < 0.
// Lerping between same values might not produce the same value
float lerp(float v0, float v1, float t) {
return (1 - t) * v0 + t * v1;
}
تُستخدَم وظيفة "lerp" بشكل شائع لتجميع ألفا (المُعامل "t" هو قيمة "ألفا")، يمكن توسيع الصيغة لدمج مكونات متعددة من مُتجه (مثل المحاور س وَ ع وَ ص أو مكونات الألوان ح خ ز) بشكل متوازي.
انظر أيضا
[عدل]- استيفاء
- استيفاء شريحة
- استيفاء الجار الأقرب
- استيفاء خطي ثنائي
- استيفاء الدرج
- خوارزمية دوكاستلجو
- استيفاء حدودي
- منحنى بيزيه
المراجع
[عدل]- ^ Joseph Needham (1 يناير 1959). Science and Civilisation in China: Volume 3, Mathematics and the Sciences of the Heavens and the Earth. Cambridge University Press. ص. 147–. ISBN:978-0-521-05801-8. مؤرشف من الأصل في 2023-03-26.
- Meijering، Erik (2002)، "A chronology of interpolation: from ancient astronomy to modern signal and image processing"، Proceedings of the IEEE، ج. 90، ص. 319–342، DOI:10.1109/5.993400، مؤرشف من الأصل في 2024-04-28.