ঠিক আছে, আমি ফলাফল নিয়ে ফিরে এসেছি!
আমি দুটি পদ্ধতির চেষ্টা করেছি:
চাকাগুলির কেন্দ্রগুলির গতিবিধি নিয়ন্ত্রণকারী একটি ডিফারেনশিয়াল সমীকরণ অর্জনের জন্য সলিড মেকানিক্স ব্যবহার করে: সিস্টেম "বাইক" এর ইনপুটগুলি পিছনের চাকা এবং সামনের চক্রের কোণে টর্ক থাকে এবং ফলাফলগুলি কেন্দ্রগুলির গতিবিজ্ঞান হয় চাকার। তবে আমি হাল ছেড়ে দিয়েছি, এটা কঠিন!
জ্যামিতিক দৃষ্টিকোণ থেকে কী ঘটেছিল তা অনুমান করার চেষ্টা করার সময় যখন পিছনের চাকাটি সামনের চাকাটি সামনের দিকে না রেখে সামনের চাকাটিকে সামনে এগিয়ে "ধাক্কা দেয়"। এই পদ্ধতিটি সরাসরি অসীম বর্ধনের একটি সমীকরণ লাভ করে (নীচে দেখুন) যেখান থেকে আপনি একটি প্রকৃত ডিফারেনশিয়াল সমীকরণ পেতে পারেন। আমি এই প্রথম সমীকরণটি ওডিডি পাওয়ার জন্য হেরফের করার চেষ্টা করি নি তবে আমার অনুমান যে সলিড মেকানিক্স ব্যবহার করে আমি সেই একই ওডিইটি অর্জন করতে পারতাম। এটা ঠিক ঠিক বোধ।
স্বরলিপি এবং অনুমান:
আমরা বেসে ভেক্টর প্রাক্তন এবং ey সহ প্লেনে রয়েছি ।
A হ'ল পিছনের চাকাটির কেন্দ্রস্থল। বি সামনে চাকা কেন্দ্র। বাইকের এল এর দৈর্ঘ্য এ এবং বি এর মধ্যকার দূরত্ব । মধ্যবর্তী কোণ ey ও ভেক্টর এবি হয় φ । মধ্যবর্তী কোণ এবি এবং সামনের চাকা হয় θ ।
স্বজ্ঞাত যুক্তি:
আমরা অনুমান, একটি নির্দিষ্ট তাত্ক্ষণিক টি , এ (T) একটি বেগ হয়েছে ভী (টি) সঙ্গে colinear এবি । অতএব, একটি ক্ষুদ্রাতিক্ষুদ্র timestep জন্য DT ,
A (t + dt) = A (t) + V (t) .dt ।
আমরা যে অনুমান করা সময়ে, T , সামনের চাকা প্রপাত না অর্থাত গতি বি সামনের চাকা নির্দেশনায় colinear, অর্থাত্ একটি কোণের ফর্ম θ সঙ্গে এবি । আমরা কল Uθ একক ভেক্টর একটি কোণের বিরচন θ সঙ্গে এবি , সামনের চাকা হিসাবে একই নির্দেশনায় অর্থাত একক ভেক্টর।
অতএব, t + dt এ ,
বি (টি + ডিটি) = বি (টি) + λ.Uθ θ
একটি নির্দিষ্ট বাস্তবের জন্য, ধনাত্মক - যেমন বাইকের এল এর দৈর্ঘ্য সংরক্ষণ করা হয়:
দূরত্ব (A (t + dt), বি (টি + ডিটি) = এল
গণনাগুলি:
এই শেষ সমীকরণটি অনুবাদ করে
আদর্শ (B (t) + λ.Uθ - A (t) - V (t) .dt) = L²
কিন্তু বি (টি) , সংজ্ঞা অনুসারে, এ (টি) + এল.ইউ , যাতে λ অবশ্যই সমীকরণটি পূরণ করতে পারে
আদর্শ (L.Uφ + λ.Uθ - V (t) .dt) = L² ।
সমাধানটি অবশ্যই from থেকে স্বতন্ত্র φ যেহেতু বাইকটি ইতিবাচক y এর দিকে নির্দেশ করলে সমস্যাটি একই । অতএব, যদি আমরা কল আর কোণ সঙ্গে ঘূর্ণন ম্যাট্রিক্স -φ , λ ইতিবাচক সমাধান হতে হবে
norm² (L.ey; λ.Uθ - আরভি (টি) .dt) = L² ।
কয়েক গণনার পরে, যদি আমরা কল বনাম আদর্শ ভী , আপনি পেতে
λ = এল ।
উপরের অ্যানিমেশনটি পাওয়ার জন্য সিউডোকোডটি এখানে রয়েছে ( Uθ ব্যবহারের পরিবর্তে আমি u = U (θ + φ) ব্যবহার করি কারণ এটি সহজ ছিল):
// I start at i=1 because i=0 contains the initial values
for (int i=1; i<=N; i++)
{
// the array in which I stored the successive A points
Aarray[i] = Aarray[i-1] + dt*V;
float lambda = L*( sqrt(1 - (sin(theta)*(1-v*dt/L))**2) - cos(theta) )
+ cos(theta)*v*dt;
// the array in which I stored the successive B points
Barray[i] = Barray[i-1] + lambda*u;
// the AB vector normalized
AiBiUnit = (Barray[i] - Aarray[i])/L;
// Refreshing the velocity of A
V = v*AiBiUnit;
// Refreshing u.
// u is indeed a unit vector separated from AiBiUnit by an angle theta,
// so you get it by rotating the newly computed AiBiUnit by an angle
// of +theta:
u = AiBiUnit.rotate(theta);
}
যদি আপনি প্রচুর পুনরাবৃত্তি করেন এবং / বা স্টিয়ারিং এঙ্গেলটি বাড়ান তবে ট্রাজেক্টোরিটি একটি বৃত্ত, যা সুসংগত, আমি বিশ্বাস করি।