当前位置:网站首页>Introduction to Quaternion
Introduction to Quaternion
2022-06-12 22:25:00 【ZEKEGU1997】
There are two main types of rotation in graphics : Euler rotation and angular rotation .
Euler once proved , Any rotation can be expressed as the rotation of an object about its three axes . So Euler's rotation is the object in a particular order , Rotation around its three axes in turn . But this rotation is about the second axis 90° You lose a degree of freedom , Cause universal joint lock .
Shaft angle type , As the name suggests, it rotates a certain angle around a certain axis , By quaternion sum Rodriguez The formula can express this rotation process .
The plural number can be expressed as a+bi, among i²=-1, The multiplication of complex numbers and the multiplication of matrices can be regarded as equivalent . Quaternions are similar to complex numbers but not complex numbers . Definition of quaternion a+bi+cj+dk, among i²=j²=k²=ijk=-1. Let vector V=(b,c,d), Then quaternion can also be expressed as [a,V]. Quaternions are like matrices , Commutative law that does not satisfy multiplication .
For a vector V, Express it as v=[0,V], Make q=[cos(θ/2),sin(θ/2)U], among U For the axis of rotation ,θ Is the angle of rotation about the axis . be v'=qvq*,q* by q Conjugation of ,v' Namely V Around the U Shaft rotation θ After the results of the .
Another advantage of quaternion is that it can be easily interpolated , This produces a smoother continuous rotation . Interpolation methods are :Lerp,NLerp,Slerp.
边栏推荐
- Leetcode Yanghui triangle
- Unity 常用3D数学计算
- [machine learning] learning notes 01- introduction
- Use group_ Dplyr issues when using group_ by(multiple variables)
- Database daily question --- day 10: combine two tables
- 42岁大厂高管,给30岁-39岁人提个醒:这6个让你变强的习惯,要尽快养成
- Why is pain rating important?
- vim利用右下4键
- MySQL case when then function use
- 【LeetCode】103. Zigzag sequence traversal of binary tree
猜你喜欢

Mr. Sun's version of JDBC (21:34:25, June 12, 2022)

NoSQL - redis configuration and optimization (II) high availability, persistence and performance management

JVM foundation - > talk about class loader two parent delegation model

leetcodeSQL:574. Elected

Kotlin collaboration process - flow

QT quick 3D learning: mouse picking up objects

How to prevent phishing emails? S/mime certificate to help!
![[C language] data type occupation](/img/12/e0f9679076d89fb5bd993ee3c345bf.jpg)
[C language] data type occupation

How to specify your webpage's language so Google Chrome doesn't offer to translate it

微信小程序提现功能
随机推荐
[890. find and replace mode]
[C language] data type occupation
The kotlin coroutine -- coroutine context and exception propagation
C#读取word中表格数据
Flutter series part: detailed explanation of GridView layout commonly used in flutter
Su embedded training day13 - file IO
Prefix sum and difference
Generate the chrysanthemum code of the applet (generate the chrysanthemum code, change the middle logo, change the image size, and add text)
【LeetCode】69. Square root of X
Leetcode: the maximum number of building change requests that can be reached (if you see the amount of data, you should be mindless)
【Proteus仿真】简易数码管定时器时钟
【LeetCode】209. Minimum length subarray
生成小程序菊花码(生成菊花码、更换中间logo、更改图片尺寸,加文字)
[leetcode] the k-largest element in the array
(downloadable) Research Report on the development and utilization of government data (2021), a glimpse of the development of Government Office
疼痛分级为什么很重要?
JS fighting on...
[image denoising] image denoising based on trilateral filter with matlab code
[data analysis] data clustering and grouping based on kmeans, including Matlab source code
Is there any risk in opening a securities account? How to open an account safely?