给定这个单位圆(度):
旋转图像以水平和垂直翻转它的函数的代码是什么?
例如,
- 水平翻转(315)= 225,
- 水平翻转(45)= 135,
- 翻转垂直(315)= 45,
- 翻转垂直(135)= 225。
加 180,模 360。所以如果大于 360,则加 180 并减去 360。
angle += 180;
if (angle > 360) angle -= 360;
vflip(a)
{
return 360-a;
}
hflip(a)
{
if (a > 180)
return 540 - a;
else
return 180 - a;
}
flipboth(a)
{
return 360 - ((a>180)?540 - a:180 - a);
//aka
//return vflip(hflip(a));
}
例如:
如果你想 FlipHorizontal(315) = 225,你需要做这样的事情:
1) 阿尔法 > Pi?
2) 如果是,您的转换将是 2Pi - alpha -> Pi + alpha,其中 2Pi - alpha = 315。
3)如果不是,你的转换将是 alpha -> Pi - alpha,其中 alpha = 45。
像数学任务一样解决这个任务