求多个四元数的平均数
生活随笔
收集整理的這篇文章主要介紹了
求多个四元数的平均数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近要對前幾幀數據進行平均數采樣。所以又造了一個輪子
?
此方法經過一些單數和雙數的基本測試,并且解決了無效四元數的問題,基本可用:
public static Quaternion Average(Quaternion[] quatArray) {var result = new Quaternion();var count = quatArray.Length;var error = 0;while (count > 1){if (error >= 10000) break;error++;var k = 0;for (int i = 0; i + 1 < count; i += 2){var a = quatArray[i];var b = quatArray[i + 1];if (Quaternion.Dot(a, a) < Quaternion.kEpsilon)a = Quaternion.identity;if (Quaternion.Dot(b, b) < Quaternion.kEpsilon)b = Quaternion.identity;var avgQuat = Quaternion.LerpUnclamped(a, b, 0.5f);quatArray[k] = avgQuat;k++;}var lastCount = count;count = k;if ((lastCount & 1) == 1){k++;count++;quatArray[k] = quatArray[lastCount - 1];}}result = quatArray[0];return result; }?
轉載于:https://www.cnblogs.com/hont/p/6295311.html
總結
以上是生活随笔為你收集整理的求多个四元数的平均数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【暴力】UVALive - 4882 -
- 下一篇: SMB服务介绍