حساب موضع الجسم المتسارع بعد زمن معين [مغلق]

StackOverflow https://stackoverflow.com/questions/153507

  •  03-07-2019
  •  | 
  •  

سؤال

كيف أحسب موضع الجسم المتسارع (على سبيل المثال؟سيارة) بعد فترة زمنية معينة (على سبيل المثال.1 ثانية)؟

بالنسبة لجسم متحرك لا يتسارع، فهي علاقة خطية، لذلك أفترض بالنسبة للجسم المتسارع أنها تتضمن مربعًا في مكان ما.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

المعادلة هي:ق = ي + (1/2) أ ر ^ 2

حيث s هو الموضع، u هي السرعة عند t = 0، t هو الوقت وa هو تسارع ثابت.

على سبيل المثال، إذا بدأت سيارة ثابتة، وتسارعت لمدة ثانيتين بتسارع قدره 3 م/ث^2، فإنها تتحرك (1/2) * 3 * 2^2 = 6 م

تأتي هذه المعادلة من التكامل التحليلي للمعادلات التي تنص على أن السرعة هي معدل تغير الموضع، والتسارع هو معدل تغير السرعة.

عادة في حالة برمجة اللعبة، يمكن للمرء استخدام صيغة مختلفة قليلاً:في كل إطار، يتم دمج متغيرات السرعة والموضع ليس تحليليًا، ولكن رقميًا:

s = s + u * dt;
u = u + a * dt;

حيث dt هو طول الإطار (يتم قياسه باستخدام مؤقت:1/60 ثانية أو نحو ذلك).تتمتع هذه الطريقة بميزة أن التسارع يمكن أن يختلف بمرور الوقت.

يحرر لاحظ بعض الأشخاص أن طريقة أويلر للتكامل العددي (كما هو موضح هنا)، على الرغم من أنها أبسط طريقة للتوضيح، إلا أنها تتمتع بدقة ضعيفة إلى حد ما.يرى سرعة فيرليت (غالبًا ما تستخدم في الألعاب)، و الترتيب الرابع رونج كوتا (طريقة "قياسية" للتطبيقات العلمية) لتحسين الخوارزميات.

نصائح أخرى

حسنًا، يعتمد الأمر على ما إذا كانت العجلة ثابتة أم لا.إذا كان الأمر كذلك فهو ببساطة

s = ut+1/2 at^2

إذا لم يكن ثابتًا، فأنت بحاجة إلى التكامل عدديًا.يوجد الآن مجموعة متنوعة من الطرق ولن يتمكن أي منها من التغلب على القيام بذلك يدويًا للتأكد من دقته، حيث إنها جميعها حلول تقريبية في النهاية.

الأسهل والأقل دقة هو طريقة أويلر .هنا تقوم بتقسيم الوقت إلى أجزاء منفصلة تسمى الخطوات الزمنية، وتنفيذها

v[n] = v[n-1] * t * a[t]

n هو الفهرس، t هو حجم خطوة زمنية.يتم تحديث الموقف بالمثل.وهذا جيد حقًا فقط لتلك الحالات التي لا تكون فيها الدقة مهمة.هناك نسخة خاصة من طريقة أويلر سوف تسفر عن حل دقيق لحركة المقذوفات (انظر الويكي)، لذلك على الرغم من أن هذه الطريقة بدائية، إلا أنها يمكن أن تكون مثالية لبعض الحالات.

طريقة التكامل العددي الأكثر شيوعًا المستخدمة في الألعاب وفي بعض عمليات محاكاة الكيمياء هي سرعة فيرليت, ، وهو شكل خاص من طريقة Verlet الأكثر عمومية.أود أن أوصي بهذا إذا كان أويلر خامًا جدًا.

يمكنك جوجل ذلك.لقد وجدت هذا: http://www.ugrad.math.ubc.ca/coursedoc/math101/notes/applications/velocity.html

ولكن إذا كنت لا تريد أن تقرأ، فهو:

ع(ر) = س(0) + ت(0)*ر + (1/2)أر^2

أين

  • ع (ر) = الموقع في الوقت ر
  • x(0) = الموقع عند الزمن صفر
  • v(0) = السرعة عند الزمن صفر (إذا لم يكن لديك سرعة، يمكنك تجاهل هذا المصطلح)
  • أ = التسارع
  • t = العنصر الحالي الخاص بك

بافتراض أنك تتعامل مع تسارع ثابت، فإن الصيغة هي:

المسافة = (السرعة_الابتدائية * الزمن) + (التسارع * الزمن * الزمن) / 2

أين

مسافة هي المسافة المقطوعة

السرعة الأولية هي السرعة الأولية (صفر إذا كان الجسم في حالة سكون في البداية، لذا يمكنك إسقاط هذا الحد في هذه الحالة)

وقت هو الوقت المناسب

التسريع هو التسارع (الثابت).

تأكد من استخدام الوحدات المناسبة عند الحساب، أي.متر وثواني وهكذا.

كتاب جيد جدا حول هذا الموضوع هو الفيزياء لمطوري اللعبة.

بافتراض التسارع الثابت والسرعة الأولية v0،

x(t) = (1/2 * a * t^2) + (v0 * t)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top