首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 求一旋转算法,熟悉图形学的请进,先说声多谢

2012-05-14 
C++ 求一旋转算法,熟悉图形学的请进,先说声谢谢~条件:有两条直线,我们且称作标准线和偏移线,已知4个端点坐

C++ 求一旋转算法,熟悉图形学的请进,先说声谢谢~
条件:
  有两条直线,我们且称作标准线和偏移线,已知4个端点坐标,
要求:
  以任意点为旋转点,使偏移线经过旋转、平移(等一系列变换,因为我现在想到的只有这两种方式)运动到标准线,
   
  另,需要说明的是现在3个电机转动,分别是 X轴、Y轴、θ轴。要求每个轴运动的时候不影响其他轴,也就是每个轴的计算结果并不依靠别的轴的运动,比如:先平移后旋转 和 先旋转后平移 的结果是一样的。

不要求代码,求一个思路就可以了,谢谢!

[解决办法]
不明白你的电机是如何驱动偏移线的。如果两条线都在X,Y平面内,那么改变斜率是用θ轴电机?还是需要别的什么方式?
[解决办法]
画线的时候,鼠标会记录两个点,起点和终点,直接将偏移线的起点和终点的位置改为标准线起点和终点的既可啊。
[解决办法]
显然,很有可能要缩放,因为你没有限定线段一样长。
首先,端点相减,得到两个线段的方向向量。
然后叉乘两个向量,可以得到旋转的时候需要的轴,同时得到sin角;点乘两个向量,得到cos角。构建旋转四元数,不解释。
剩下的平移、缩放,自己推去吧……

热点排行