将向量从运动数据转换为 0-1 值

问题描述 投票:0回答:0

here is an image example 你好。我有一个关于从运动捕捉转换数据的问题(下面的例子)。 一个程序在脸上投射锚点。每个点都是一个包含 3 个分量 (x,y,z) 的向量。 我想知道程序如何将这些值转换为 0 到 1 的范围,然后将其连接到 3D 包中的混合形状。 这有点奇怪,因为程序不知道点在捕捉到用户脸上的锚点之前以及用户开始移动嘴巴、眼睛等之前的最大/最小值

(请看图片) 比如我们嘴巴有2个点:

  1. top_lip = Vector(x,y,z);
  2. bot_lip = Vector(x,y,z);

每个向量都给我们提供了非常小的难以操作的数字: top_lip = (-0.000815, 0.00247, -0.00267); bot_lip = (-0.000815, 0.00115, -0.00279);

对于混合形状,它需要看起来像: top_lip_bshape = some_functions(top_lip.Vector(y)); bot_lip_bshape = some_functions(bot_lip.Vector(y));

top_lip_bshape = 0.454 ; bot_lip_bshape = 0.134 ;

我在上面说过程序无法知道最小值和最大值,因为所有用户的脸都不一样。 但是您需要了解它们才能将它们带到 0-1 范围内。

我阅读了规范化和范围转换。 但我不明白从哪里获得最小值和最大值。 如果这不是真的,请告诉我。

任何帮助将不胜感激。谢谢。

vector transform capture motion face
© www.soinside.com 2019 - 2024. All rights reserved.