日期:2014-05-17  浏览次数:20764 次

求个小算法(C#)
有一个数是一个图形的旋转角度 他可能是正数可能是负数
他在90度的时候会向左偏移15在180度的时候会向右偏移15
给个算法 根据旋转角度求出偏移量

------解决方案--------------------
什么叫有时候会啊,这样没规律的东西,有什么算法
------解决方案--------------------
“他在90度的时候会向左偏移15在180度的时候会向右偏移15”
这句话看不懂
------解决方案--------------------
引用:
“他在90度的时候会向左偏移15在180度的时候会向右偏移15”
这句话看不懂


同看不懂,感觉像是跟三角函数啥的有关
------解决方案--------------------
既然是旋转,那别向左向右的了,把别人都搞晕了
你直接说+或-15度不就完了
------解决方案--------------------
很多包装上也见过+-0.5%之类的吧,还是做工程的
------解决方案--------------------
你的意思是整个图的边界因为旋转而发生偏移么?
那不就是算个三角函数的事?
旋转的中心是图的中心点么?
------解决方案--------------------
-270度与90度是否完全相同(或者绝对值超出360的,就取模)
负的加上360度(或者2PAI)变成正的,或者Math.Abs()取绝对值
然后根据你的条件去换算
------解决方案--------------------
如果-270度与90度是相同处理
r = (r + 360) % 360;
switch(rnd)
{
    case 90 : return 90-15;
    case 270: return 270+15;
    ...
}
------解决方案--------------------
这样吧,你回去先用数学方程(组)列出来,到程序里传代入变量