我目前正在openFrameworks中创建一种需要计算鼠标移动角度的绘图程序。这样做的原因是程序需要能够像 Photoshop 那样绘制笔触。
我已经能够让它以一种非常参差不齐的方式工作。我已经将我的代码放在 openFrameworks 中的 MouseDragged 事件中,但是计算出的角度非常参差不齐,而且无论如何都不平滑。它需要平滑才能使绘图部分看起来不错。
void testApp::mouseMoved(int x, int y ){
dxX = x - oldX;
dxY = y - oldY;
movementAngle = (atan2(dxY, dxX) * 180.0 / PI);
double movementAngleRad;
movementAngleRad = movementAngle * TO_RADIANS;
if (movementAngle < 0) {
movementAngle += 360;
}
testString = "X: " + ofToString(dxX) + " ,";
testString += "Y: " + ofToString(dxY) + " ,";
testString += "movementAngle: " + ofToString(movementAngle);
oldX = x;
oldY = y;
}
我尝试了不同的方法来优化代码以使其顺利运行,但可惜没有结果。
如果您对如何解决或优化此问题有一个绝妙的想法,我将不胜感激。