1

给定这个单位圆(度):

在此处输入图像描述

旋转图像以水平和垂直翻转它的函数的代码是什么?

例如,

  • 水平翻转(315)= 225,
  • 水平翻转(45)= 135,
  • 翻转垂直(315)= 45,
  • 翻转垂直(135)= 225。
4

3 回答 3

1

加 180,模 360。所以如果大于 360,则加 180 并减去 360。

angle += 180;
if (angle > 360) angle -= 360;
于 2012-03-09T15:02:13.657 回答
0
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));
}
于 2012-03-09T18:56:31.100 回答
0

例如:

如果你想 FlipHorizo​​ntal(315) = 225,你需要做这样的事情:

1) 阿尔法 > Pi?

2) 如果是,您的转换将是 2Pi - alpha -> Pi + alpha,其中 2Pi - alpha = 315。

3)如果不是,你的转换将是 alpha -> Pi - alpha,其中 alpha = 45。

像数学任务一样解决这个任务

于 2012-03-09T09:34:39.677 回答