找回密码
 点一下
查看: 551|回复: 10

[已解决]求算法高手支援,此函数如何逆运算?

[复制链接]
发表于 2015-1-29 23:06:03 | 显示全部楼层 |阅读模式
本帖最后由 yxxiaobin 于 2015-2-2 18:04 编辑

换了个思路解决:虚拟一个世界坐标,初始状态和真实世界坐标重合,通过下面那个触发器可以计算出虚拟世界坐标下的坐标点,然后再将这个坐标点绕Z轴做二次旋转,就能得到真实世界中的坐标了。这样就避过了直接计算导致的算法复杂化,算是个取巧的方法吧。
------------------------------------------------------------------
细心的朋友们可能还记得,在较早的时候我曾发布过一个小工具,用于计算准确旋转演算体的球坐标值。其实当时那个东西算法是简化版的,用于特定的计算标准状态下的前移和上移坐标。尽管能完成所有计算,但是太不直观了。随着大家的试用和我自己使用发现,并不是所有状态都能直观的想到模型是如何变幻都某个角度的。所以我最近想加入一个功能,在原有按模型自己的坐标系旋转的基础上,加入按世界坐标系进行旋转,两种旋转方法可以混合使用。这就要求,在给定前移或上移坐标在世界坐标系中的坐标值后,能求出它是依次按三个坐标轴旋转了多少度后得到的,然后再使用局部坐标旋转时才能知道累加多少角度上去。但是如何根据坐标计算出旋转角度呢,这个真的难住我了。所以发上来求助,希望在算法或者立体解析几何方面有造诣的站友帮忙做个算法出来。
顺便附上给定初始坐标值和旋转角度,求旋转后坐标值的函数截图,以供参考。
1.jpg
结合截图,这一问题可以直接描述为:给定x、y、z和x0、y0、z0的值,如何求PhiX、PhiY和PhiZ?
当然,必要时也可以给出该球坐标在局部坐标系下的坐标,这个在旋转前和旋转后都是不变的。



发表于 2015-1-30 00:55:31 | 显示全部楼层
球坐标也是空间坐标的一种记法吧,如果编辑器没有3维矩阵运算工具,那自己写个,然后做矩阵叠加就好,接着做个球坐标和普通3D坐标互转的工具。
回复

使用道具 举报

发表于 2015-1-30 18:08:56 | 显示全部楼层
求旋转矩阵的逆矩阵就好了√

点评

矩阵是什么?  详情 回复 发表于 2015-1-31 13:20
回复

使用道具 举报

 楼主| 发表于 2015-1-31 13:20:32 | 显示全部楼层
四夕水草肃 发表于 2015-1-30 18:08
求旋转矩阵的逆矩阵就好了√

矩阵是什么?
回复

使用道具 举报

发表于 2015-1-31 22:00:51 | 显示全部楼层
楼主搜搜坐标的矩阵运算吧。不过说实在,我的经验是懂得数学工具的人能自己写出数学工具来,因为简单。但不懂的人即使拿着这些工具也用不了。关键不是有无工具,而是了解空间坐标运算的是如何运作的。矩阵乘法是不满足交换率的,和一般计算有极大差异。例如aXb和bXa是完全两个结果。

点评

矩阵神马的真心看不懂。我觉得这次可能真的要拿来主义了。  发表于 2015-2-1 01:02
回复

使用道具 举报

发表于 2015-2-1 11:19:17 | 显示全部楼层
《论<线性代数>的重要性》

点评

这本书有点高深,有木有小学数学之类的课本可以推荐?  详情 回复 发表于 2015-2-1 18:55
回复

使用道具 举报

 楼主| 发表于 2015-2-1 18:55:50 | 显示全部楼层
四夕水草肃 发表于 2015-2-1 11:19
《论<线性代数>的重要性》

这本书有点高深,有木有小学数学之类的课本可以推荐?
回复

使用道具 举报

发表于 2015-2-1 20:00:01 | 显示全部楼层
嗯……楼主你可以用文字打出来算式嘛,我懒得照着图按计算器了……

点评

用一个取巧的方法解决了。  发表于 2015-2-2 18:04
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-20 22:15 , Processed in 0.268115 second(s), 33 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表