প্রকৃতপক্ষে, এটি প্রমাণিত হয়েছে যে আপনি এটি 'উভয় উপায়ে' রাখতে পারবেন না: যদি আপনার উদ্দেশ্যটি গোলকের উপর 'পরম অভিমুখীকরণের' কোনও ধারণা না রাখে (অর্থাৎ, যদি খেলোয়াড়রা সর্বদা দণ্ডগুলির দিকে মুখ না করে থাকে) ), তারপরে আপনার প্লেয়ার ওরিয়েন্টেশনের ধারণা থাকতে হবে। এই কারণ কি স্বজ্ঞা পরামর্শ দিয়ে থাকি বিপরীত, গোলক ওপর চলাচলের হয় না ঠিক একটি প্লেনে আন্দোলন মত, এমনকি স্থানীয়ভাবে না (বেশ); গোলকের অভ্যন্তরীণ বক্রতা মানে প্লেয়াররা এমন পদক্ষেপ নিতে পারে যা নিজেরাই ঘোরবে!
আমি যা বলছি তার চূড়ান্ত উদাহরণের জন্য, কল্পনা করুন যে প্লেয়ারটি নিরক্ষীয় অঞ্চলে একটি বিন্দুতে শুরু হয় (সুবিধার্থে আমরা কল্পনা করব যে একটি ঘড়ির মুখটি উপরে থেকে নিরক্ষীয় অঞ্চলে ম্যাপ করা আছে, এবং খেলোয়াড়টি 6 টা বাজবে ), 'আপ' - এর মুখোমুখি উত্তর মেরুর দিকে towards ধরুন, খেলোয়াড় উত্তর মেরুতে সমস্ত পথে হাঁটছেন; তারপরে তারা সরাসরি 12 টা বাজির দিকে মুখোমুখি হবেন। এখন, খেলোয়াড়কে উত্তর মেরু থেকে সরাসরি নিরক্ষীয় অঞ্চলে ফিরে সরাসরি তাদের ডানে চলে যেতে দিন; তারা 3 টা বাজে পয়েন্টে বাতাসে যাবে - তবে তারা ডানদিকে যাওয়ার সময় তাদের মুখের পরিবর্তন হয় না(ধারণাটি হ'ল তারা যেভাবে চলুক না কেন তাদের মুখের পরিবর্তন হয় না), তারা এখনও 12 টা বাজির মুখোমুখি হবেন - তারা এখন নিরক্ষীয় বরাবর মুখোমুখি! এখন, তাদের 'পূর্বের দিকে' তাদের শুরুতে (6 টা বাজে) পয়েন্টে ফিরে যেতে দিন; তারপরে তারা এখনও নিরক্ষীয় অঞ্চলের সাথে মুখোমুখি হবেন, সুতরাং তারা 3 টা পয়েন্টের দিকে মুখোমুখি হবেন - কেবল তাদের 'ব্যক্তিগত' প্রবণতা পরিবর্তন না করেই গোলকের পাশ দিয়ে অগ্রসর হওয়া তাদের উত্তর মেরুর দিকে মুখ করে ঘোরানো হয়েছে নিরক্ষীয় বরাবর মুখোমুখি! এক অর্থে, এটি পুরানো 'একটি শিকারি এক মাইল দক্ষিণে, এক মাইল পশ্চিমে এবং তারপরে একটি মাইল উত্তরে' রসিকতাটির একটি বিস্তৃততা - তবে এখানে আমরা দিক পরিবর্তনকে প্রভাবিত করতে গোলকের বক্রতাটির সুবিধা নিচ্ছি। নোট করুন যে একই প্রভাব এখনও আরও ছোট আকারের স্কেলগুলিতেও ঘটে;
ভাগ্যক্রমে, কোয়ার্টারিয়নগুলি (যেমন আপনি নিজেরাই উল্লেখ করেছেন) এই পরিস্থিতিটি পরিচালনা করে; যেহেতু একটি চৌবাচ্চা একটি স্বেচ্ছাচারিত আবর্তনকে প্রতিনিধিত্ব করে, এটি কার্যকরভাবে গোলকের একটি স্বেচ্ছাসেবী 'পয়েন্ট প্লাস ওরিয়েন্টেশন'কে উপস্থাপন করে: উৎপত্তিস্থলে একটি' ট্রায়াক্সিস 'দিয়ে শুরু করে কিছুটা স্বেচ্ছাচারী ঘূর্ণায়মান কল্পনা করুন, তারপরে যে একক দিকে ঘোরানো অক্ষটি এক দিকে ঘুরে দেখুন' জেড-অক্ষ পয়েন্টস; কিছুটা ভাবনা আপনাকে বোঝাবে যে এটি আপনাকে কিছু 'ওরিয়েন্টেশন' (যেমন, আপনার ট্রায়াক্সিসের এক্স এবং ওয়াইয়ের কয়েকটি বিন্যাস) দিয়ে ইউনিট গোলকের এক বিন্দুতে নিয়ে আসে এবং আপনি প্রতিটি বিন্দুতে + অভিমুখীকরণে যেতে পারেন ইউনিট গোলকটি এইভাবে (কেবল আপনার জেড অক্ষটি গোলকের উপরে আপনার বিন্দুর মধ্য দিয়ে উত্স থেকে রেখার দিকে নির্দেশ করার জন্য নির্ধারণ করুন, তারপরে আপনার ট্রায়াক্সগুলি সেই লাইনের সাথে আবার উত্সে পরিবহন করুন)। আর কি চাই, যেহেতু কোয়ার্টেরিয়ানের গুণগুলি ঘূর্ণনের সংমিশ্রণের সাথে সম্পর্কিত, আপনার বর্ণিত প্রতিটি ক্রিয়াকলাপ যথাযথ-নির্বাচিত চৌম্বকটি দ্বারা আপনার 'বর্তমান ওরিয়েন্টেশন'কে গুণিত করে প্রতিনিধিত্ব করা যেতে পারে: বিশেষত, (ইউনিট) কোয়ার্টেরিয়ন (কিউএক্স, কিউ, কিউজ, কিউডাব্লু) থেকে এর অর্থ 'আরকিওস (কিউডাব্লু) দ্বারা (কিউএক্স, কিউ, কিউজেড) অক্ষ সম্পর্কে ঘোরান', তারপরে (আপনার সমন্বিত সিস্টেমের নির্দিষ্ট পছন্দের উপর নির্ভর করে এবং সি_একে কোস (আলফা) এবং এস_একে পাপ (আলফা) হিসাবে দুটি দেওয়া হবে তিনটি চৌম্বক এম_এক্স = (এস_এ, 0, 0, সি_এ), এম_ই = (0, এস_এ, 0, সি_এ), এবং এম_জে = (0, 0, এস_এ, সি_এ) I দিকের দিকে 'ঘোরানো (অর্থাত্ সরানো) উপস্থাপন করবে 'বর্তমানে আমি আলফার মুখোমুখি' এবং 'আমি বর্তমানে আল্ফার মুখোমুখি হয়েছি এমন একটি দিকের অরথোগোনাল ঘোরান'। (এই চৌকোটিগুলির মধ্যে তৃতীয়টি 'তার নিজের অক্ষ সম্পর্কে আমার চরিত্রটি ঘোরান' উপস্থাপন করবে)Cur_q = M_x * Cur_q
যদি প্লেয়ার টিপতে থাকে Cur_q = M_y * Cur_q
বা প্লেয়ারটি ডানদিক চাপ দেয় (বা সম্ভবত Cur_q = M_yinv * Cur_q
প্লেয়ারটি বাম টিপে রাখার মতো কিছু , যেখানে এম_আইএনভ এম-ওয়াই কোয়ার্টেরিয়নের 'বিপরীত', অন্যভাবে একটি ঘূর্ণন উপস্থাপন করে)। নোট করুন যে আপনি আগে থেকে বা উত্তর বহুগুণে কিনা ঘূর্ণনটি কোন দিকে 'প্রয়োগ করেন' সে সম্পর্কে আপনাকে সতর্ক থাকতে হবে; স্পষ্ট করে বলতে গেলে, এটি বিচার-এবং-ত্রুটির সাথে সমাধান করা সবচেয়ে সহজ হতে পারে, উভয় গুণকে চেষ্টা করে এবং কোনটি কাজ করে তা দেখে।
আপনার আপডেট হওয়া চৌম্বক থেকে গোলকের একটি বিন্দুতে (এবং আপনার চরিত্রের একটি দিকনির্দেশ) দিকে যাওয়া তুলনামূলকভাবে সহজও: শেষ অনুচ্ছেদের চিঠিপত্রের মাধ্যমে, আপনাকে যা করতে হবে তা ভিত্তিক ভেক্টরগুলিতে আপনার চৌম্বকটি ব্যবহার করতে হবে (1, 0,0), (0,1,0) এবং (0,0,1) আপনার ফ্রেমের 'কোয়ার্টারিয়ন বাই ভেক্টর ঘোরান' অপারেশন ভি → কিউকিউ -1 এর মাধ্যমে (যেখানে এখানে গুণাগুণগুলি কোয়ার্টেরিয়ান গুণ রয়েছে এবং আমরা ভেক্টর ভি = (x, y, z) 'ডিজেনরেট কোয়ার্টারিয়ন' (x, y, z, 0)) দিয়ে। উদাহরণস্বরূপ, ইউনিট গোলকের অবস্থানটি কেবল z ভেক্টরকে রূপান্তরিত করে অর্জন করেছে: পজ = (কিউএক্স, কিউ, কিউজেড, কিউডাব্লু) * (0, 0, 1, 0) * (-কিউএক্স, -কিউ,-কিউজেড, qw) = (কিউএক্স, কিউ, কিউজেড, কিউডাব্লু) * (কিউই, -কিউএক্স, কিউডাব্লু, কিউজেড) = (২ (কিউই * কিউডব্লিউ + কিউজ * কিউএক্স), ২ (কিউজেড * কিউ-কিউউ * কিউএক্স), (কিউজেড) 2 + কিউডাব্লু ^ 2) - (কিউএক্স ^ 2 + কিউই ^ 2), 0), তাই(2(qy*qw+qz*qx), 2(qz*qy-qw*qx), (qz^2+qw^2)-(qx^2+qy^2))
ইউনিট গোলকের 'রূপান্তরিত' ব্যবহারকারীর স্থানাঙ্ক হবে (এবং একটি স্বেচ্ছাসেবী ক্ষেত্রের মধ্যে স্থানাঙ্কগুলি পেতে, অবশ্যই আপনি গোলকের ব্যাসার্ধের দ্বারা কেবল এটিগুলি বহুগুণ করতে পারবেন); অনুরূপ গণনা অন্যান্য অক্ষের জন্য যেমন ব্যবহারকারীর মুখের দিকনির্দেশনা নির্ধারণ করতে কাজ করে।