मैं एक भौतिक विज्ञानी हूं, और कुछ प्रोग्रामिंग सीख रहा हूं, और मैट्रिक्स / वेक्टर रूप में चीजों को लिखने के बजाय रोटेशन के लिए quaternions का उपयोग करने वाले बहुत से लोग आए हैं।
भौतिकी में, बहुत अच्छे कारण हैं जो हम quaternions का उपयोग नहीं करते हैं (विचित्र कहानी के बावजूद जो कभी-कभी हैमिल्टन / गिब्स / आदि के बारे में बताया जाता है)। भौतिकी के लिए आवश्यक है कि हमारे विवरणों में अच्छा विश्लेषणात्मक व्यवहार हो (इसका ठीक-ठीक परिभाषित अर्थ है, लेकिन कुछ तकनीकी तरीकों से जो सामान्य इंट्रो कक्षाओं में पढ़ाया जाता है, उससे बहुत आगे निकल जाता है, इसलिए मैं किसी भी विस्तार में नहीं जाऊंगा)। यह पता चला है कि quaternions के पास यह अच्छा व्यवहार नहीं है, और इसलिए वे उपयोगी नहीं हैं, और वैक्टर / मैट्रिस करते हैं, इसलिए वे उनका उपयोग नहीं करते हैं।
हालांकि, कठोर घुमावों और विवरणों तक सीमित है जो किसी भी विश्लेषणात्मक संरचनाओं का उपयोग नहीं करते हैं, 3 डी घुमावों को समान रूप से (या कुछ अन्य तरीकों से) वर्णित किया जा सकता है।
आमतौर पर, हम बस एक नए बिंदु X '= (x, y, z) के एक बिंदु की मैपिंग चाहते हैं X "= (x', y ', z') बाधा के अधीन है कि X 2 = X ' 2 । और बहुत सी चीजें हैं जो ऐसा करती हैं।
भोला तरीका यह है कि त्रिकोण को परिभाषित करें और त्रिकोणमिति का उपयोग करें, या एक बिंदु (x, y, z) और एक वेक्टर (x, y, z) और फ़ंक्शन f (X) और 'x' के बीच समरूपता का उपयोग करें। एक मैट्रिक्स एमएक्स = एक्स ', या क्वाटर्न्स का उपयोग करना, या पुराने वेक्टर के घटकों को किसी अन्य विधि (एक्स, वाई, जेड) टी (ए, बी, सी) (एक्स', वाई ',) का उपयोग करके नए के साथ पेश करना । z '), आदि।
गणित के दृष्टिकोण से, ये विवरण इस सेटिंग में (एक प्रमेय के रूप में) सभी समान हैं। उन सभी के पास स्वतंत्रता की समान डिग्री, बाधाओं की समान संख्या आदि हैं।
तो क्यों quaternions वैक्टर पर पसंद करने लगते हैं?
मेरे द्वारा देखे जाने वाले सामान्य कारण कोई गिमबल लॉक या संख्यात्मक मुद्दे नहीं हैं।
कोई गिमबल लॉक तर्क अजीब नहीं लगता है, क्योंकि यह केवल यूलर एंगल्स की समस्या है। यह केवल एक समन्वित समस्या है (ध्रुवीय निर्देशांक में (r = 0 पर विलक्षणता की तरह) या दो अतिव्यापी समन्वय प्रणालियों का उपयोग करना।
मैं संख्यात्मक मुद्दों के बारे में कम निश्चित हूं, क्योंकि मुझे नहीं पता है कि इन दोनों (और किसी भी विकल्प) को कैसे लागू किया जाएगा। मैंने पढ़ा है कि एक घुमाव को फिर से सामान्य करना एक रोटेशन मैट्रिक्स के लिए करने से आसान है, लेकिन यह केवल सामान्य मैट्रिक्स के लिए सच है; एक रोटेशन में अतिरिक्त बाधाएं होती हैं जो इसे तुच्छ बनाती हैं (जो कि quaternions की परिभाषा में बनाई गई हैं) (वास्तव में, यह सच है क्योंकि उनके पास स्वतंत्रता की समान संख्या है)।
तो वैक्टरों या अन्य विकल्पों पर बटेरों के उपयोग का कारण क्या है?