日期:2014-05-18  浏览次数:20718 次

任意角度直线移动问题
已知一个控件的坐标,该控件的模拟前方于Y轴的夹角。求出该控件在此模拟前方的方向上的移动坐标。
  说的有点儿模糊,不过大体意思已经说清楚了,请各位前辈帮帮忙!
  小弟感激不尽。

------解决方案--------------------
那不就是个数学问题了。
两点就可以确定一条直线。
在求这直线的移动轨迹。
这样理解不知道对不对?
你题目的模拟前方于Y轴的夹角?有点莫不清楚。
------解决方案--------------------
呵呵
关注下
------解决方案--------------------
当前坐标(x1,y1),移动后坐标(x2,y2),与Y轴夹角为A
则往上移动x2=x1+Math.Atan(A) , y2=y1+Math.Atan(A)
往下移动x2=x1-Math.Atan(A) , y2=y1-Math.Atan(A)

------解决方案--------------------
真的是数学问题的呀。。。
------解决方案--------------------
3楼原来写的不对,现改为下面这样

当前坐标(x1,y1),移动后坐标(x2,y2),与Y轴夹角为A
可以得出这条经过原点的直线为Y=X*Math.Tan(90-A)
则往上移动,当水平移动的距离为a时,x2=x1+a , y2=y1+a*Math.Tan(90-A)

往下移动,当水平移动的距离为a时,x2=x1-a , y2=y1-a*Math.Tan(90-A)