中心に対するマウスの角度を取得したい場合は、 atan2 を使用してソートする必要があります。
ofDrawBitmapString("mouse angle: " + ofToString(ofRadToDeg(atan2(mouseY,mouseX)), 3),30,30);
別のポイントと比較した回転が必要な場合は、最初に 2 つのポイント (マウス、その他のポイントなど) の間で減算を行うことを忘れないでください。
3D で 2 つのベクトル間の角度を取得する場合 ( ofxVec3f )、2 つのベクトルを正規化してから、ベクトル間の内積の aco を取得する必要があります。
angle_in_radians = acos(v1.dot(v2))
ofxVec3fはangle()およびangleRad()メソッドを介してこの機能を既に提供しています。ここで、角度は度数で角度を返し、ラジアンで angleRad を返します。
以下は、コンソールに 2 つのランダムなベクトル間の角度を表示する基本的なテストです。
ofxVec3f v1(ofRandom(0,20),ofRandom(0,20),ofRandom(0,20));
ofxVec3f v2(ofRandom(0,20),ofRandom(0,20),ofRandom(0,20));
printf("v1(%f,%f,%f)\tv2(%f%f%f)\tangle:%f",v1.x,v1.y,v1.z,v2.x,v2.y,v2.z,v1.angle(v2));
//here's a test print: v1(10.333943,16.629400,5.899722) v2(3.60652910.2126262.595955) angle:12.418082