ฉันเป็นนักฟิสิกส์และได้เรียนรู้การเขียนโปรแกรมมาบ้างและเจอผู้คนมากมายที่ใช้ควอเทอร์เนียนสำหรับการหมุนแทนที่จะเขียนสิ่งต่าง ๆ ในรูปแบบเมทริกซ์ / เวกเตอร์
ในฟิสิกส์มีเหตุผลที่ดีมากที่เราไม่ใช้ควอเทอร์เนียน (แม้จะมีเรื่องราวแปลกประหลาดที่เล่าเกี่ยวกับแฮมิลตัน / กิ๊บส์ / ฯลฯ เป็นครั้งคราว) ฟิสิกส์ต้องการให้คำอธิบายของเรามีพฤติกรรมการวิเคราะห์ที่ดี (สิ่งนี้มีความหมายที่กำหนดไว้อย่างชัดเจน แต่ด้วยวิธีการทางเทคนิคบางอย่างที่ไปไกลกว่าสิ่งที่สอนในชั้นเรียนแนะนำปกติดังนั้นฉันจะไม่ลงรายละเอียดใด ๆ ) ปรากฎว่าควอเทอร์เนียนไม่มีพฤติกรรมที่ดีเช่นนี้ดังนั้นจึงไม่มีประโยชน์และเวกเตอร์ / เมทริกซ์ทำดังนั้นเราจึงใช้มัน
อย่างไรก็ตาม จำกัด เฉพาะการหมุนแบบแข็งและคำอธิบายที่ไม่ใช้โครงสร้างการวิเคราะห์ใด ๆ การหมุน 3 มิติสามารถอธิบายได้เทียบเท่ากันไม่ว่าจะด้วยวิธีใด (หรือวิธีอื่น ๆ )
โดยทั่วไปเราต้องการเพียงแค่การทำแผนที่ของจุด X = (x, y, z) ไปยังจุดใหม่ X '= (x', y' Z ') เรื่องกับข้อ จำกัด ที่ X 2 = X' 2 และมีหลายสิ่งหลายอย่างที่ทำเช่นนี้
วิธีที่ไร้เดียงสาคือเพียงแค่วาดสามเหลี่ยมที่กำหนดและใช้ตรีโกณมิติหรือใช้ไอโซมอร์ฟิซึมระหว่างจุด (x, y, z) และเวกเตอร์ (x, y, z) และฟังก์ชัน f (X) = X 'และ เมทริกซ์ MX = X 'หรือใช้ควอเทอร์เนียนหรือฉายภาพส่วนประกอบของเวกเตอร์เก่าพร้อมกับใหม่โดยใช้วิธีการอื่น (x, y, z) T (a, b, c) (x', y ', z ') ฯลฯ
จากมุมมองทางคณิตศาสตร์คำอธิบายเหล่านี้จะเทียบเท่าในการตั้งค่านี้ (เป็นทฤษฎีบท) พวกเขาทั้งหมดมีองศาอิสระเท่ากันจำนวนข้อ จำกัด เท่ากัน ฯลฯ
เหตุใดควอเทอร์เนียนจึงดูเหมือนจะชอบมากกว่าเวกเตอร์?
เหตุผลทั่วไปที่ฉันเห็นคือไม่มีการล็อก gimbal หรือปัญหาเกี่ยวกับตัวเลข
ไม่มีอาร์กิวเมนต์ gimbal lock ดูแปลกเนื่องจากนี่เป็นเพียงปัญหาของมุมของ euler นอกจากนี้ยังเป็นเพียงปัญหาพิกัด (เช่นเดียวกับความเป็นเอกฐานที่ r = 0 ในพิกัดเชิงขั้ว (จาโคเบียนสูญเสียอันดับ)) ซึ่งหมายความว่าเป็นเพียงปัญหาในท้องถิ่นเท่านั้นและสามารถแก้ไขได้โดยการสลับพิกัดหมุนออกจากความเสื่อม หรือใช้ระบบพิกัดสองระบบที่ทับซ้อนกัน
ฉันไม่ค่อยแน่ใจเกี่ยวกับปัญหาด้านตัวเลขเนื่องจากฉันไม่ทราบรายละเอียดว่าทั้งสองอย่างนี้ (และทางเลือกอื่น ๆ ) จะถูกนำไปใช้อย่างไร ฉันได้อ่านมาว่าการทำให้ควอเทอร์เนียนเป็นปกตินั้นง่ายกว่าการทำแบบนั้นสำหรับเมทริกซ์การหมุน แต่นี่เป็นจริงสำหรับเมทริกซ์ทั่วไปเท่านั้น การหมุนมีข้อ จำกัด เพิ่มเติมที่ทำให้สิ่งนี้เล็กน้อย (ซึ่งสร้างขึ้นในคำจำกัดความของควอเทอร์เนียน) (อันที่จริงสิ่งนี้จะต้องเป็นจริงเนื่องจากมีจำนวนองศาอิสระเท่ากัน)
แล้วสาเหตุของการใช้ควอเทอร์เนียนกับเวกเตอร์หรือทางเลือกอื่น ๆ คืออะไร?