Тёмный

无伤理解欧拉角中的“万向死锁”现象 

EleXLab
Подписаться 32 тыс.
Просмотров 19 тыс.
50% 1

无伤理解欧拉角中的“万向死锁”现象

Опубликовано:

 

16 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 79   
@nickvfx
@nickvfx Год назад
解决这个问题的方法是,在控制物体外建三个group,分别为x group,y group,z group。 要调整旋转,不要转动被控制物体,而是分别转动相应的group。 这样相当于每个物体只旋转了一个维度,其他维度保持0。 就不会发生要命的莫名其妙的旋转了。 至少在maya中是这么解决的。
@JSiuDev
@JSiuDev Год назад
再簡單一點說,就是把轉換分三步,每次只獨立做一軸。
@unknow_______
@unknow_______ Год назад
實在太厲害了,能淺顯易懂的表達這樣理論的概念,跪求四元數講解~~
@user-ne1wx6kc5e
@user-ne1wx6kc5e Год назад
+1
@time_travel8871
@time_travel8871 Год назад
+1
@robotic381
@robotic381 Год назад
+1
@wjchuang2487
@wjchuang2487 Год назад
+1
@damien_j
@damien_j Год назад
+2
@lucasteo5015
@lucasteo5015 Год назад
写游戏时,我们通常会分成世界轴和物体轴
@海洋-t5s
@海洋-t5s 7 месяцев назад
按照编程的逻辑来看的话,就是欧拉角中的三个轴高度耦合了,不管动其中那一轴,绝对会有其他轴受到牵连,那么解决方法就是尽量让这三个轴保持独立,四元数我觉得就是完美让每个轴保持独立的一个解决办法,因为从某种角度来看他没有三个轴这个概念,他就是你给个角度,再来个轴,我就给你旋转。完美的一个过程式编程的感觉。
@markusmoller8641
@markusmoller8641 6 месяцев назад
你说的是axis angle吧,四元数之所以能表示旋转不就是靠三个虚部分别对应xyz轴吗,感觉四元数不会出现奇艺是因为四位数是个比三维更高一维的四维量
@mr.dragon8447
@mr.dragon8447 Год назад
怪不得Unity在3D物件的轉動API不只提供了歐拉角,還有Rotate跟Quarternion,原來就是為了避免萬向死鎖的情況
@SyuAsyou
@SyuAsyou Год назад
感謝!很清晰的解釋了死鎖的成因!
@wangmingchang
@wangmingchang Год назад
感谢UP主,清晰了好多。欧拉角,表示一切都得从初始0状态且按规定顺序,开始变换。并不是以用户旋转的顺序变换,这个确实会让人头晕
@zaq1234sd
@zaq1234sd Месяц назад
没错,v社的破金源起源引擎就是这样一天到晚锁上,给武器模型的附件(手电筒)匹配旋转角度的时候,动不动就不给旋转了,看了这个视频才懂为什么
@phantomxiang
@phantomxiang Год назад
不錯,解答了我一年前的困惑,那時教授說四元數沒萬向鎖問題,但沒解釋萬向鎖是啥。
@kylxyzkean4973
@kylxyzkean4973 3 месяца назад
精彩!你是全网讲的最明白的。
@余皓-z4g
@余皓-z4g 4 месяца назад
终于理解了,原来欧拉角都是都是默认的和初始姿态作为参照,并且旋转轴顺序和用户ui操作无关。
@zhihaoliu2326
@zhihaoliu2326 Год назад
让我想起了上学的时候,学到的飞机姿态调整的那节课。当时没有太直观的理解,谢谢你。
@lha987
@lha987 9 месяцев назад
11:31 老一点的模拟飞行似乎就是这么设置的,机头抬到90度后就会有鬼畜的操控反馈
@memomariya2101
@memomariya2101 Год назад
真的太赞了,每一个视频都看得津津有味
@ltfx801
@ltfx801 Год назад
那么简单来说就是:虽然看起来是先调整了y轴角度再调整其他轴角度,但实际上是根据输入的x、y、z轴角度按照设定好的xyz顺序来进行旋转,所以其实根本没有按照旋转后的本地参考系来进行下一步旋转,这最终导致了万向死锁
@user-wp5rx6el6k
@user-wp5rx6el6k Год назад
讲得太好了,通俗易懂
@junsongli1815
@junsongli1815 Год назад
他讲的有很多bug。故意隐藏某个轴 让别人以为他讲的有道理。
@kjyhh
@kjyhh Год назад
非常感谢,我终于看懂了,我正在搞3D开发一直很奇怪为啥每祯都置零
@ZhiqiangLi-or9id
@ZhiqiangLi-or9id 8 месяцев назад
哥们太牛逼了 清晰易懂
@biran007
@biran007 Год назад
讲得太好了
@Jack-cl1iw
@Jack-cl1iw Год назад
每次调整都把上一次调整结果当成初始状态, 而调整顺序也按当前操作的顺序来, 这样会不会解决这个问题?
@waylonwong369
@waylonwong369 Год назад
朕已阅,这个有点意思,按照这个说法,假如让x轴一直上下摆动,然后再让飞机慢慢转过90度,会发现机头是在画振幅由大到小的波浪线,最后转到90度时,他变成了一个点,然后就绕着z轴转起来了
@ggalsorunning3762
@ggalsorunning3762 Год назад
关键点是变换时,相对的是变换前的本地坐标,而不是转动y轴后的本地坐标
@snaker90
@snaker90 10 месяцев назад
讲得好, 终于让我搞明白了.
@palapapa0201
@palapapa0201 Год назад
這是我看過最好理解gimbal lock的影片
@smithgodel
@smithgodel 7 месяцев назад
魔方里是不是也这个原理
@frankyonng1710
@frankyonng1710 Год назад
其实就是在一个矩阵变换计算中,轴不变
@zaq1234sd
@zaq1234sd Месяц назад
那既然可以用欧拉角表示任意角度,那么向左俯冲这个动作的正确旋转值是哪三个
@sanvendi6236
@sanvendi6236 Год назад
開頭的歐拉角直接讓我想到空戰奇兵7 Ace combat 7 (?
@phoenixnexflix476
@phoenixnexflix476 Год назад
好有趣阿 講得好專業
@junsongli1815
@junsongli1815 Год назад
他讲的有很多bug。故意隐藏某个轴 让别人以为他讲的有道理。
@duckduck9487
@duckduck9487 Год назад
​@@junsongli1815你講一次
@b97b01067
@b97b01067 11 месяцев назад
原來林克扭脖子是這樣來的XD
@黄天意-i1u
@黄天意-i1u 10 месяцев назад
博主赶紧出一期四元数吧,我到现在没搞懂
@user-xi6pp2qi6p
@user-xi6pp2qi6p Год назад
變換成直角造成直角堆疊在另一維度, 即任意維度90度 會碰觸到另一維度的0度 如果180度及更換一個方向?
@chengminli4720
@chengminli4720 Год назад
其实带入战斗机座舱视角就能理解了
@菲力克斯
@菲力克斯 2 месяца назад
好有趣歐
@isaacyoungyxt
@isaacyoungyxt Год назад
“并没有什么难以理解的地方”🥲
@Zonwee
@Zonwee Год назад
輕描淡寫...以前玩慣性元件+Unity 就沒搞懂過四元數 🥲
@techguy6565
@techguy6565 11 месяцев назад
如果用固定軸而非物體自身軸,兩軸旋轉好像已經可以令3維物體轉成任意角度?
@michaelwei9744
@michaelwei9744 5 месяцев назад
为什么变换一定要从初始状态开始?
@dragonlinux8298
@dragonlinux8298 Год назад
1:28 gimbal lock
@coolkk0812
@coolkk0812 8 месяцев назад
小弟資質愚鈍 跪求四元數解說
@uwu-ming
@uwu-ming Год назад
10:11的圖沒法理解 結果圖不應該是飛機上下俯仰嗎 怎麼會變成滾筒操作了
@worldofwheat
@worldofwheat Год назад
我的理解是X先計算再算Y跟Z,所以X計算完之後飛機確實是上下俯仰,但因為被Y轉了一下,看起來像滾筒
@uwu-ming
@uwu-ming Год назад
​@@worldofwheat 重看一次後懂了 在這裡留言給有相同問題的人 旋轉X軸時Y也轉動了 所以後面的Y變化並不是水平的變化
@ananglerfish
@ananglerfish Год назад
為什麼有“群論”的感覺
@TheChungYuan
@TheChungYuan Год назад
所以Maya那是用什麼寫的?
@miku3920
@miku3920 Год назад
讓結果的狀態成為初始狀態不就解決了嗎
@palapapa0201
@palapapa0201 Год назад
要這樣還不如用四元數,一個3D引擎總不能有些物件的旋轉順序跟其他的不一樣
@huangdi7116
@huangdi7116 Год назад
3d 数学 很有趣
@junsongli1815
@junsongli1815 Год назад
他讲的有很多bug。故意隐藏某个轴 让别人以为他讲的有道理。
@K59820433
@K59820433 Год назад
終於懂了 拜託出四元數
@linkary
@linkary 9 месяцев назад
niubiu
@muduhe
@muduhe Год назад
你竟然让我自学,麻的发克
@junsongli1815
@junsongli1815 Год назад
00:40 你绕Y轴旋转90度,连Z轴也转了90度 为何X轴不也旋转90度。要么X轴和Z轴一起旋转,要么X轴和Z轴一起不动。 差评。 01:50 最终朝向和三个轴旋转顺序无关。他这是分别按两个坐标系旋转的。 这种视频就 踩一下 避免这种刷点击率的视频再次出现在RU-vid上。
@altrougeraieon9092
@altrougeraieon9092 Год назад
没看出来错误,按照欧拉变化按照XYZ顺序变化原则,初始状态X轴变化之后,你纠结X轴是否旋转还有何意义?X轴只能被调整一次
@altrougeraieon9092
@altrougeraieon9092 Год назад
影片主要问题就是标题唬人有标题党之嫌,所谓的万向死锁使得欧拉角听起来好像有巨大缺陷一般,实际上就是物体角度状态与欧拉坐标并非一一对应,即基于自身坐标的状态并不能唯一确定欧拉角坐标,目前UE引擎底层使用四元数计算,但是UI上表现为欧拉角便于直观调整
@junsongli1815
@junsongli1815 Год назад
@@altrougeraieon9092 他这个绕Y轴旋转90度时XYZ3轴是一起的还能单独分开旋转? Z轴和X轴要么一起旋转90度按飞机座参考系,要么X轴和Z轴固定按空间坐标系。 按照这个逻辑再向上旋转90度,XYZ3个轴重合了只剩一个Z轴了。X轴Y轴都变成Z轴了。 他这随时转换坐标系我都能以超光速移动了一会以太阳为原点计算距离,一会以北极星作为原点计算距离。就是这几秒计算的功夫我的位移速度超过光速了。
@crapsome7605
@crapsome7605 Год назад
​​@@junsongli1815在一開始由初始狀態轉X軸的時侯,再轉Y軸90度後,Z軸就顯示在原本你之前在轉的X軸上了,主因還是歐拉角是有順序的,三個參數不是同時變換的。此外,坐標糸變換是正常的。
@nep7nep7
@nep7nep7 Год назад
你没听懂
@elvisxu8631
@elvisxu8631 Год назад
嘿嘿,刚学编程时,写了个 3d 旋转软件,就理解了这个问题
Далее
【计算机博物志】DES的生与死
17:56
Просмотров 28 тыс.
Батя всех бургеров на 7000 ккал!
00:55
如何理解信息熵
12:25
Просмотров 32 тыс.
Euler (gimbal lock) Explained
8:07
Просмотров 1,4 млн
iPhone 初代诞生的故事
27:47
Просмотров 52 тыс.
一箱油,环游世界
23:00
Просмотров 105 тыс.
DDoS 技术鉴赏
18:06
Просмотров 236 тыс.
【计算机实验】雨中是跑还是走?
9:23
Просмотров 15 тыс.
移动互联网财富江湖的猫鼠游戏
20:33
Просмотров 12 тыс.