三维世界到局部转换

I am having a real headache trying to set a node's local position to match a given world position.

I was given a solution but, AFAICS, it only takes into account orientation and position but NOT scaling :

node_new_local_position = node_parent.derivedOrientation().Inverse() * ( world_position_to_match - node_parent.derivedPosition() );

The node in question is a child of node_parent; node_parent local and derived properties (orientation, position and scaling) are known, as well as its full matrix transform.

All the positions are 3d vectors; the orientation is a quaternion; the full transform is a 4x4 matrix.

Could someone please help me to modify the solution to support scaling in the node hierarchy?

Many thanks in advance,

Bill

#0

I'm no expert in ogre3d but I guess you would need something like:

 node_new_local_position =  node_parent._getFullTransform ().inverse() * world_position_to_match;

where _getFullTransform ().inverse() is a full 4 x 4 inverse of node_parents transform.

EDIT: It looks like maybe you should just use _setDerivedPosition which does exactly what you're trying to accomplish.

推荐文章

将mysql表导出为xml

将mysql表导出为xml

推荐文章

自定义html.tpl.php格式以及模块/特定内容类型的其他模板。(德鲁帕尔7)

自定义html.tpl.php格式以及模块/特定内容类型的其他模板。(德鲁帕尔7)

推荐文章

C#-寻找像Spring Security这样的Web服务安全性

C#-寻找像Spring Security这样的Web服务安全性

推荐文章

Hudson是用于单元测试还是集成测试?

Hudson是用于单元测试还是集成测试?

推荐文章

找不到类型或命名空间名称“LAD”(是否缺少using指令或程序集引用?)

找不到类型或命名空间名称“LAD”(是否缺少using指令或程序集引用?)

推荐文章

通过评估服务器答复尝试服务器连接

通过评估服务器答复尝试服务器连接

推荐文章

需要一张查找表吗?

需要一张查找表吗?

推荐文章

图形模板类

图形模板类

推荐文章

从选项卡重定向到网站

从选项卡重定向到网站

推荐文章

如何高效地使用java中的opencsv将行追加到现有csv文件?

如何高效地使用java中的opencsv将行追加到现有csv文件?

推荐文章

检查ruby对象的存在性并在一行中测试该对象的属性

检查ruby对象的存在性并在一行中测试该对象的属性

推荐文章

Perl:简单的搜索和替换问题

Perl:简单的搜索和替换问题

推荐文章

在Symfony2中使用buildForm->add()函数时,可以接受哪些选项?

在Symfony2中使用buildForm->add()函数时,可以接受哪些选项?

推荐文章

游戏中心多人沙盒在被邀请时无法连接到玩家

游戏中心多人沙盒在被邀请时无法连接到玩家

推荐文章

asp net内联标签文本与标签控件

asp net内联标签文本与标签控件

推荐文章

Ruby、Java等语言中的多重继承

Ruby、Java等语言中的多重继承