2009-06-26 6 views
2

私はn点の基準集合と、それらの点をそれぞれ「近似する」集合を持っています。近似とリファレンスセットの間の絶対/パーセンテージ誤差をどのようにして調べるのですか?2点の3D点のパーセンテージ誤差

言い換えれば、私は缶詰のアニメーションとシミュレーションを持っています。どのように1つの数字の点で2の間の 'ドリフト'がどれくらいか分かりますか?つまり、アニメーションのものと比較して頂点を近似するシミュレーションがどれほど良いかです。

私は実際には、すべての頂点について次のようにします:| actual - reference |/| actual |その後、vertsの数を除算することによって誤差を平均化する。これはまったく正しいですか?

答えて

2

は、この測定は本当にパーセント値する必要もありません:各関節は、単位長さであった場合の平均ドリフトがどうなるか - すなわち、その親関節の関節オリエンテーションのための正規化された平均誤差を取得しますか?私はあなたが1つのリファレンスセットを持っていることを推測しています。そして、このセットに近似しているいくつかのセットが、あなたはある意味で「最高の」ものを選びたいと思っています。このアプローチに/ numvertices

主な利点| - |(^ 2参照実際1..nの、)

avgSquareDrift =合計:

私が実際とリファレンスの間の距離の二乗を追加したいです我々はコストのかかる操作である平方根を適用する必要はないということです。

1

すべての頂点を超える数式を合計し(そして次にverts数で除算する)、すべての頂点の平均エラーパーセンテージを計算します。

しかし、このパーセンテージの誤差は、大きさが小さいため、原点に近い方の頂点の方が同じ変位に対して大きな「パーセンテージ誤差」を持つため、おそらくあなたが望むものではありません。

あなたは、まったく何もによって分裂しないあなたが世界単位での平均ドリフトを持って、正確に何をしたいとすることができる場合は、次の

average_drift = sum(1->numvertices, |actual - reference|)/numvertices 

あなたはより適切な何かに分割したいこと意味のある無数の数字を得るためのあなたの特定の状況。 average_driftをモデルの高さで割った場合、モデルサイズのパーセンテージとしてエラーが発生します。

ジョイントされたモデルの頂点である場合のように、個々の頂点が「ペアレント化」された頂点から遠く離れていると、個々の頂点のエラーが増える可能性が高い場合は、

orientation_drift = sum(1->numvertices, |actual - reference|/jointlength)/numvertices