У меня настоящая головная боль, когда я пытаюсь установить локальную позицию узла в соответствии с миром позицией.
Мне дали решение, но, AFAICS, оно учитывает только ориентацию и положение , но НЕ масштабирование :
node_new_local_position = node_parent.derivedOrientation().Inverse() * ( world_position_to_match - node_parent.derivedPosition() );
Рассматриваемый узел является дочерним по отношению к node_parent ; Известны свойства node_parent local и (ориентация, положение и масштабирование), а также полное матричное преобразование .
Все позиции 3d векторов ; ориентация: кватернион ; полное преобразование - матрица 4x4.
Может кто-нибудь помочь мне изменить решение для поддержки масштабирования в иерархии узлов?
Заранее большое спасибо,
Bill