atan2


في الحوسبة والرياضيات ، الدالة atan2 هي دالة الظل العكسي ذات الوسيطين . بحسب التعريف،هي قياس الزاوية ( بالراديان ، مع) بين الإيجابيالمحور السيني والشعاع من نقطة الأصل إلى النقطةفي المستوى الديكارتي . أو بعبارة أخرى،هو وسيط (يسمى أيضًا الطور أو الزاوية ) العدد المركب( يجب عدم الخلط بين وسيط الدالة ووسيط العدد المركب، المذكورين أعلاه.)
الظهرت الدالة لأول مرة في لغة البرمجة فورتران عام 1961. وكان الهدف منها في الأصل إرجاع قيمة صحيحة لا لبس فيها للزاوية .في التحويل من الإحداثيات الديكارتيةإلى الإحداثيات القطبيةإذاو، ثمو
إذا، قياس الزاوية المطلوب هولكن عندما تكون x < 0 ، فإن الزاويةوهو معاكس تمامًا للزاوية المطلوبة، ويجب إضافة نصف دورة لوضع النقطة في الربع الصحيح . [ 1 ] باستخدامتتخلص الدالة من هذا التصحيح، مما يبسط التعليمات البرمجية والصيغ الرياضية.
تحفيز
من الشائع في التطبيقات العملية للهندسة التحويل بين الإحداثيات الديكارتيةوالإحداثيات القطبيةتُستخدم الإحداثيات المستطيلة والقطبية لتمثيل النقاط في المستوى الإقليدي، على سبيل المثال لإيجاد الزاوية الموجهة التي تمثل اتجاه متجه أو لحساب سعة عدد مركب . ويمكن تلخيصالعلاقات بين الإحداثيات المستطيلةوالقطبية بالمعادلات التالية: أين،، وهي دوال مثلثية و هو المجموع الفيثاغورسي لـ وأي وتر المثلث القائم الزاوية ذي الساقينو .

الحوسبةومنويُعدّ التحويل المباشر من هذه الصيغ أمرًا بسيطًا. أما في الاتجاه المعاكس، فمن المفيد توفير دوال خاصة لتنفيذ التحويلات. صيغة حساب منوقد يؤدي ذلك إلى تجاوزات ونقص في القيم العددية، وهو ما تتجنبه وظائف العديدhypot من المكتبات القياسية. حسابمنوالأمر أكثر تعقيداً لسببين: (1) لأنه قد يتضمن القسمة على صفر، و(2) لأن ناتج القسمةيساوي وبالتالي ، لا يميز بين النقطةوالنقطة المقابلةدالة الظل العكسي العادية ذات الوسيط الواحدلا تُرجع إلا قياسات الزوايا في الفترة المحددة .لذا ، فإنّ هذا تطبيق بسيط لتحويل الإحداثيات من الإحداثيات المستطيلة إلى الإحداثيات القطبية ،، سيؤدي إلى نتائج غير صحيحة كلما .
لتحديد زاوية الاتجاه من نقطة الأصل بشكل كامل، بمعلومية نقطة معينة .باستخدام دالة الظل العكسي، يجب أن تعالج الصيغ الرياضية أو التعليمات البرمجية الحاسوبية حالات متعددة؛ حالة واحدة على الأقل للقيم الموجبة لـوواحد للقيم السالبة لـوأحيانًا حالات إضافية عندماإما سالبة أو أن أحد إحداثياتها يساوي صفرًا.
لتوفير عناء البرمجة على المبرمجين، قدمت لغات برمجة الحاسوب دالة atan2 ، على الأقل منذ لغة فورتران 4 في ستينيات القرن العشرين. [ 2 ] الكمية هو قياس الزاوية بين المحور - وشعاع من نقطة الأصل إلى نقطة أخرىفي أي مكان في المستوى الديكارتي. علاماتوتُستخدم لتحديد ربع النتيجة واختيار الفرع الصحيح للدالة متعددة القيم . .
تُعد دالة atan2 مفيدة في العديد من التطبيقات التي تتضمن متجهات إقليدية ، مثل إيجاد الاتجاه من نقطة إلى أخرى أو تحويل مصفوفة الدوران إلى زوايا أويلر .
تم تضمين دالة atan2 الآن في العديد من لغات البرمجة الأخرى، كما أنها شائعة الاستخدام في الصيغ الرياضية في جميع أنحاء العلوم والهندسة.
ترتيب الحجج
في عام 1961، قدمت لغة فورتران دالة atan2 بترتيب الوسائط بحيث تكون زاوية الطور (الوسيط) للعدد المركب هيوهذا يتبع الترتيب من اليسار إلى اليمين للكسر المكتوبلهذا السبب.للقيم الموجبة لـلكن هذا عكس ترتيب المكونات التقليدي للأعداد المركبة،أو كإحداثياتانظر قسم التعريف والحساب .
اختارت بعض لغات البرمجة الأخرى (انظر قسم " تحقيقات الدالة في لغات الحاسوب الشائعة ") الترتيب المعاكس. على سبيل المثال، يستخدم برنامج مايكروسوفت إكسليستخدم برنامج OpenOffice Calcويستخدم برنامج Mathematicaيتم استخدام دالة الظل العكسي ذات الوسيط الواحد افتراضياً إذا تم استدعاؤها بوسيط واحد.
التعريف والحساب
تقوم الدالة atan2 بحساب الوسيط الرئيسي للعدد المركب وهو أيضاً الجزء التخيلي من القيمة الرئيسية للوغاريتم المركب . أي،
إضافة أي مضاعف صحيح لـ( المقابلة للدورات الكاملة حول نقطة الأصل) تعطي وسيطًا آخر من نفس العدد المركب، ولكن الوسيط الرئيسي يُعرَّف على أنه الزاوية التمثيلية الوحيدة في الفترة .
بدلالة دالة الظل العكسي القياسية، التي صورتها هي ، يمكن التعبير عن دالةatan2 بشكل مجزأ :

في الحالات التي تكون فيها دالة atan2 غير متاحة أو غير ملائمة للاستخدام، وحيث يكون تقليل عدد الحالات التي يجب مراعاتها أمرًا مهمًا (على سبيل المثال، بالنسبة للحسابات المتجهة على وحدة معالجة الرسومات)، يمكن أن يكون من المفيد حساب atan2 من خلال صيغة نصف زاوية الظل : [ 3 ]
إلا في حالة أنو، عندما يكون atan2 مساوياً لـ وفقاً للاتفاقية .
المشتق
بما أن الدالة atan2 هي دالة لمتغيرين، فإن لها مشتقتين جزئيتين . عند النقاط التي توجد عندها هاتان المشتقتان، تكون atan2 ، باستثناء ثابت، مساوية لـ arctan( y / x ) . وبالتالي، هذان المشتقان الجزئيان هما إحداثيات التدرج .
إن تمثيل الدالة atan2 بشكل غير رسمي كدالة الزاوية θ ( x , y ) = atan2( y , x ) (والتي لا تُعرف إلا حتى ثابت) ينتج عنه الصيغة التالية للتفاضل الكلي :
بينما تكون الدالة atan² غير متصلة على طول المحور السيني السالب ، مما يعكس حقيقة أن الزاوية لا يمكن تعريفها بشكل متصل، فإن هذه المشتقة معرفة بشكل متصل باستثناء نقطة الأصل، مما يعكس حقيقة أنه يمكن تعريف التغيرات المتناهية الصغر (والمحلية بالفعل) في الزاوية في كل مكان باستثناء نقطة الأصل. ويعطي تكامل هذه المشتقة على طول مسار ما التغير الكلي في الزاوية على طول هذا المسار، بينما يعطي التكامل على مسار مغلق عدد اللفات .
في لغة الهندسة التفاضلية ، تُعدّ هذه المشتقة شكلاً تفاضلياً من الدرجة الأولى ، وهي مغلقة (مشتقتها تساوي صفرًا) ولكنها ليست تامة (فهي ليست مشتقة شكل تفاضلي من الدرجة الصفرية، أي ليست دالة)، وفي الواقع، تُولّد أول تماثل دي رام للمستوى المثقوب . هذا هو أبسط مثال على هذا الشكل، وهو أساسي في الهندسة التفاضلية.
لا تحتوي المشتقات الجزئية لـ atan2 على دوال مثلثية ، مما يجعلها مفيدة بشكل خاص في العديد من التطبيقات (مثل الأنظمة المدمجة) حيث يمكن أن تكون الدوال المثلثية مكلفة في التقييم.
الرسوم التوضيحية

يوضح هذا الشكل قيم دالة atan2 على امتداد أشعة مختارة من نقطة الأصل، والمُشار إليها عند دائرة الوحدة . تظهر القيم، بالراديان، داخل الدائرة. يستخدم الرسم التخطيطي الاصطلاح الرياضي القياسي الذي ينص على أن الزوايا تزداد عكس اتجاه عقارب الساعة من الصفر على طول الشعاع إلى اليمين. لاحظ أن ترتيب الوسائط معكوس؛ حيث تحسب الدالة atan2( y , x ) الزاوية المقابلة للنقطة ( x , y ) .

يوضح هذا الشكل قيمجنبا إلى جنب معلكلا الدالتين فرديتان ودوريتان بفترات زمنية.ووبالتالي يمكن استكمالها بسهولة إلى أي منطقة من القيم الحقيقية لـيمكن للمرء أن يرى بوضوح آثار قطع الفروع-وظيفة فيو من-وظيفة في[ 4 ]
يُظهر الشكلان أدناه عرضين ثلاثيي الأبعاد للدالة atan2( y , x ) والدالة arctan( y / x ) على التوالي ، وذلك على منطقة من المستوى. لاحظ أنه بالنسبة للدالة atan2( y , x ) ، فإن الأشعة في المستوى x / y المنبثقة من نقطة الأصل لها قيم ثابتة، بينما بالنسبة للدالة arctan( y / x ) ، فإن الخطوط في المستوى x / y المارة بنقطة الأصل لها قيم ثابتة. عندما تكون x > 0 ، يُعطي الشكلان قيمًا متطابقة.
عرض ثلاثي الأبعاد لـ atan2( y , x )
عرض ثلاثي الأبعاد لدالة arctan( y / x )
متطابقة مجموع وفرق الزوايا
مجموع أو فرق زوايا متعددة يتم حسابه بواسطةيمكن حسابها بدلاً من ذلك عن طريق تركيبها كأعداد مركبة . بالنظر إلى زوجين من الإحداثياتو، زواياها من الموجبسيتم تركيب المحاور (وضرب الأطوال) إذا تم التعامل معها كأعداد مركبة ثم ضربها معًا ، . يمكن إيجاد الزاوية الناتجة باستخدام معادلة واحدةالعملية ، طالما أن الزاوية الناتجة تقع في : وينطبق الأمر نفسه على أكثر من زوجين من الإحداثيات. إذا تقاطعت الزاوية المركبة مع السالبالمحور - (أي يتجاوز النطاق )) ، ثم يمكن حساب عدد التقاطعات والمضاعف الصحيح المناسب لـتمت إضافتها إلى النتيجة النهائية لتصحيحها.
تُستخدم صيغة الفرق هذه بشكل متكرر في الممارسة العملية لحساب الزاوية بين متجهين مستويين ، لأن الزاوية الناتجة تكون دائمًا في النطاق .
اصطلاحات الشرق عكس اتجاه عقارب الساعة، والشمال مع اتجاه عقارب الساعة، والجنوب مع اتجاه عقارب الساعة، إلخ.
الصُممت هذه الدالة في الأصل وفقًا للاتفاقية الرياضية البحتة التي يمكن تسميتها باتجاه الشرق عكس عقارب الساعة . مع ذلك، في التطبيقات العملية، غالبًا ما تكون اتفاقيات اتجاه الشمال مع عقارب الساعة واتجاه الجنوب مع عقارب الساعة هي السائدة. في علوم الغلاف الجوي، على سبيل المثال، يمكن حساب اتجاه الرياح باستخدام[ 5 ] يمكن حساب زاوية السمت الشمسي باستخدام مركبتي متجه الرياح الشرقية والشمالية كمعاملات. يُحدد اتجاه الرياح عادةً باتجاه الشمال مع عقارب الساعة، بينما تستخدم زاوية السمت الشمسي كلا الاصطلاحين الشمالي والجنوبي مع عقارب الساعة على نطاق واسع. [ 6 ] يمكن تحقيق هذه الاصطلاحات المختلفة عن طريق تبديل مواقع وإشارات وسيطي x و y كما يلي:
- (اتفاقية الشرق-عكس اتجاه عقارب الساعة)
- (اتفاقية اتجاه عقارب الساعة)
- (اتفاقية اتجاه عقارب الساعة من الجنوب)
على سبيل المثال، لنفترضوثم يعطي تنسيق الشرق عكس اتجاه عقارب الساعة، يعطي التنسيق باتجاه الشمال مع عقارب الساعةويعطي التنسيق الجنوبي باتجاه عقارب الساعة.
يمكن أن يؤدي تغيير إشارة وسيطي x و/أو y و/أو تبديل مواقعهما إلى إنشاء 8 اختلافات محتملة لـالوظيفة، ومن المثير للاهتمام أنها تتوافق مع 8 تعريفات محتملة للزاوية، وهي: في اتجاه عقارب الساعة أو عكس اتجاه عقارب الساعة بدءًا من كل اتجاه من الاتجاهات الأصلية الأربعة ، الشمال والشرق والجنوب والغرب.
تطبيقات الوظيفة في لغات البرمجة الشائعة
يختلف تنفيذ هذه الوظيفة من لغة برمجة إلى أخرى.
اليتم استخدام هذا الاصطلاح (معكوسًا بالنسبة للاصطلاح المستخدم في المناقشة أعلاه) بواسطة:
- في مايكروسوفت إكسل ، [ 7 ] وأوبن أوفيس.أورج كالك ، وليبر أوفيس كالك ، [ 8 ] وجوجل سبريد شيتس ، [ 9 ] وآي وورك نمبرز ، [ 10 ] تحتوي دالة الظل العكسي ذات الوسيطين على وسيطين بالتسلسل القياسي..
- في برنامج Mathematica ، يُستخدم هذا الشكل عندما يُعطي الشكل ذو المعامل الواحد دالة الظل العكسي العادية. ويصنف برنامج Mathematica هذا التعبير على أنه غير محدد.
ArcTan[x,y]ArcTan[0,0] - في معظم الآلات الحاسبة البيانية من نوع TI (باستثناء TI-85 و TI-86 )، تُسمى الدالة المكافئة R►Pθ ولها الوسائط التالية.
- في الآلة الحاسبة TI-85، يتم استدعاء الدالة arg
angle(x,y)، وعلى الرغم من أنها تبدو وكأنها تأخذ وسيطين، إلا أنها في الواقع تحتوي فقط على وسيط مركب واحد يتم الإشارة إليه بزوج من الأرقام: x + iy = ( x , y ) .
اليستخدم هذا الاصطلاح من قبل:
- صُممت دالة C
atan2، ومعظم تطبيقات الحاسوب الأخرى، لتقليل الجهد المبذول في تحويل الإحداثيات الديكارتية إلى الإحداثيات القطبية، ولذلك تُعرّف دائمًاatan2(0, 0). في التطبيقات التي لا تحتوي على صفر مُوَقَّع ، أو عند إعطاء وسائط صفرية موجبة، يُعرَّف عادةً على أنه 0. وستُعيد دائمًا قيمة في النطاق [ −π , π ] بدلاً من إظهار خطأ أو إرجاع NaN (ليس رقمًا). - في لغة Common Lisp ، حيث توجد وسائط اختيارية،
atanتسمح الدالة بتوفير الإحداثي x بشكل اختياري : . [ 11 ](atan y x) - في لغة جوليا ، الوضع مشابه للغة كومون ليسب: فبدلاً من استخدام
atan2دالة واحدة، تحتوي اللغة على صيغة ذات مُعامل واحد وصيغة ذات مُعاملينatan. [ 12 ] ومع ذلك، فهي تحتوي على أكثر من دالتين، مما يسمح بتحسين الأداء بشكل كبير أثناء وقت الترجمة . [ 13 ] - يستخدم برنامج Mathcad ترتيب الوسائط
atan2(x, y).atan2(0, 0)غير محدد. [ 14 ] - بالنسبة للأنظمة التي تُنفذ الأصفار الموقعة ، أو اللانهاية ، أو القيم غير الرقمية (على سبيل المثال، نظام الفاصلة العائمة IEEE )، من الشائع تنفيذ امتدادات معقولة قد تُوسع نطاق القيم المُنتجة ليشمل -π و-0 عندما تكون y = -0 . وقد تُعيد هذه الامتدادات أيضًا قيمة NaN أو تُثير استثناءً عند تمرير وسيط NaN إليها.
- في لغة التجميع الخاصة ببنية Intel x86 ، تُعرف هذه العملية باسم تعليمة (الظل العكسي الجزئي للأعداد العشرية). [ 15 ] يمكنها التعامل مع القيم اللانهائية، وتقع نتائجها في الفترة المغلقة [ −π , π ] ، على سبيل المثال = + π /2 لقيم x المحدودة . وبالتحديد، تُعرَّف هذه العملية عندما يكون كلا الوسيطين يساوي صفرًا.
atan2FPATANatan2(∞, x)FPATANيرتبط هذا التعريف بمفهوم الصفر الموقّع .atan2(+0, +0)= +0;atan2(+0, −0)= + π ;atan2(−0, +0)= −0;atan2(−0, −0)= − π .
- في الكتابات الرياضية الأخرى غير شفرة المصدر ، كالكتب والمقالات، استُخدمت الرموز Arctan [ 16 ] و Tan −1 [ 17 ] ؛ وهي صيغ مُعدّلة بحروف كبيرة من الرموز العادية arctan و tan −1 . يتوافق هذا الاستخدام مع ترميز الوسيط المركب ، بحيث يكون Atan( y , x ) = Arg( x + iy ) .
- في آلات حاسبة HP ، تعامل مع الإحداثيات كعدد مركب ثم خذ
ARG. أو<< C->R ARG >> 'ATAN2' STO. - في الآلات الحاسبة العلمية، يمكن في كثير من الأحيان حساب الدالة على أنها الزاوية المعطاة عند تحويل ( x ، y ) من الإحداثيات المستطيلة إلى الإحداثيات القطبية .
- عادةً ما تُرجع الأنظمة التي تدعم الرياضيات الرمزية قيمة غير محددة لـ atan2(0, 0) أو تشير بطريقة أخرى إلى حدوث حالة غير طبيعية.
- تحتوي مكتبة الرياضيات المجانية FDLIBM (مكتبة LIBM القابلة للتوزيع مجانًا) المتوفرة من netlib على شفرة مصدرية توضح كيفية تنفيذها
atan2، بما في ذلك التعامل مع القيم الاستثنائية المختلفة لـ IEEE. - بالنسبة للأنظمة التي لا تحتوي على مُضاعِف مادي، يمكن تنفيذ الدالة atan2 بطريقة موثوقة عدديًا باستخدام طريقة CORDIC . لذا، من المرجح أن تختار تطبيقات atan( y ) حساب atan2( y , 1) .
انظر أيضاً
مراجع
- ↑ "حجة العدد المركب" (ملف PDF) . معهد سانتا كروز لفيزياء الجسيمات. شتاء 2011.
- ↑ أورغانيك، إليوت آي. (1966). مدخل إلى لغة فورتران 4. أديسون-ويسلي. ص 42.
توفر بعض المعالجات أيضًا دالة المكتبة المسماة ATAN2، وهي دالة ذات وسيطين (المقابل والمجاور).
- ↑ كوساكا، تاكاشي؛ تاناكا، تاكايوكي (2022). "طرق تقريبية سريعة ودقيقة لحسابات الدوال المثلثية ودالة الظل العكسي لأجهزة الكمبيوتر منخفضة الأداء". إلكترونيات . 11 (15) 2285.
- ↑ "وولف يونغ: ماندل، برنامج للديناميكيات المعقدة" . www.mndynamics.com . تم الاطلاع عليه بتاريخ 20 أبريل 2018 .
- ↑ "مرجع سريع لاتجاه الرياح" . مختبر رصد الأرض التابع للمركز الوطني لأبحاث الغلاف الجوي (NCAR) وجامعة أبحاث الغلاف الجوي (UCAR).
- ↑ تشانغ، تايبينغ؛ ستاكهاوس، بول دبليو؛ ماكفرسون، برادلي؛ ميكوفيتز، جيه. كولين (2021). "صيغة سمت شمسي تجعل المعالجة الظرفية غير ضرورية دون المساس بالدقة الرياضية: الإعداد الرياضي والتطبيق وتوسيع صيغة تستند إلى النقطة تحت الشمسية ودالة atan2" . الطاقة المتجددة . 172 : 1333-1340 . Bibcode : 2021REne..172.1333Z . doi : 10.1016/j.renene.2021.03.047 . S2CID 233631040 .
- ↑ "طريقة Atan2 في مايكروسوفت إكسل" . مايكروسوفت. 14 يونيو 2014.
- ↑ "LibreOffice Calc ATAN2" . Libreoffice.org.
- ↑ "الدوال والصيغ - مساعدة محرري المستندات" . support.google.com .
- ↑ "قائمة الدوال المثلثية للأعداد" . أبل.
- ↑ "CLHS: Function ASIN, ACOS, ATAN" . LispWorks.
- ↑ "الرياضيات · لغة جوليا" . docs.julialang.org .
- ↑ "الأسئلة الشائعة · لغة جوليا" . docs.julialang.org .
- ↑ "مساعدة Mathcad - الزوايا القطبية" . PTC.
- ↑ دليل مطوري برامج معمارية إنتل IA-32. المجلد 2أ: مرجع مجموعة التعليمات، AM، 2004.
- ↑ برجر، فيلهلم؛ بورج، مارك جيه. (7 يوليو 2010). مبادئ معالجة الصور الرقمية: التقنيات الأساسية . سبرينغر ساينس آند بيزنس ميديا. ISBN 978-1-84800-191-6تم الاطلاع عليه بتاريخ 20 أبريل 2018 – عبر كتب جوجل.
- ↑ جليسون، تيلدون هـ. (18 فبراير 2011). مقدمة في تحليل وتصميم الدوائر . سبرينغر ساينس آند بيزنس ميديا. ISBN 9789048194438تم الاطلاع عليه بتاريخ 20 أبريل 2018 – عبر كتب جوجل.
روابط خارجية
- حاسبة ATAN2 عبر الإنترنت
- Java 1.6 SE JavaDoc
- atan2 at Everything2
- حل PicBasic Pro لـ atan2 لـ PIC18F
تطبيقات/أكواد أخرى لـ atan2
ملحوظات
- الدوال المثلثية العكسية
