c++ - 我怎样才能逆时针旋转

标签 c++ math geometry

这是一个顺时针旋转的函数。参数是我们要旋转多少度。 怎么改成逆时针旋转?

void rotateClockwise( int degree ) {    
  int currentDegree = getDegree();
  int desiredDegree = currentDegree + degree;
  if( desiredDegree > 359 ) {
    desiredDegree -= 359;
  }
  do {
    newDegree = getDegree(); // Returns current degree
    desiredDegreeSINE = sin(desiredDegree * (PI/180));
    currentDegreeSINE = sin(newDegree * (PI/180));
    if( desiredDegreeSINE > 0 && currentDegreeSINE < 0 ) {
      newDegree = newDegree - 360;
    }
    if( newDegree >= desiredDegree ) {
      // Stop rotating
      break;
    } else {
      // Keep rotating
    }
  } while(true);
}

我们每时每刻旋转 1 度。

最佳答案

void rotateCounterClockwise( int degree ) {
   return rotateClockwise(360 - (360 + degree) % 360);
}

关于c++ - 我怎样才能逆时针旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36418339/

相关文章:

c++ - c标准库的LuaBind绑定(bind)?

java - 以编程方式查找给定函数的周期性

algorithm - 计算分数和的公分子的最有效算法

ios - 在iOS中找到封闭对象内部的区域

c++ - 就处理器时间而言,fmod 有多昂贵?

c++ - map /设置迭代器不可递增,我无法从头开始重新启动 map

c++ - std::queue::pop() 对其 std::unique_ptr 数据的操作

java - 根据百分比选择一个值

java - Rectangle2D getY() 返回值小于 getMaxY()

java - 计算几何 : find where the triangle is after rotation, 在镜子上的平移或反射