1
典型的方式找到一個矢量從X軸(假設X軸線延伸從左到右使得角度和ÿ軸線延伸底部到頂部)是:查找矢量使得在可變角度軸
double vector_angle = atan2(y , x)
不過,我想我的軸有他們的原籍在一個點上一圈,以便X軸從圓的邊緣點通過圓心運行,並且和軸與該循環相切(因此這將垂直於軸線)。
Assumedly代碼仍然是相同的,但現在距離ķ和角度THETA調整,也許是:
double y_position = (y + k) * theta;
double x_position = (x + k) * theta;
double vector_angle = atan2(y_position, x_position);
但我不知道這件事。對於基於觸摸的應用程序來說,這是一個普遍的問題,我希望有一種通用的方法來使用滑動運動來移動一個精靈(在cocos2d中),該運動總是與圓心的距離恆定不變。
這裏,乙是這可能是由旋轉THETA待轉化的矢量的原點。例如,如果我們通過90度時,乙轉化圓和點乙將在(4,0)和行乙 - >甲將沿軸線4(Y = 4 )。我想在轉換時得到點B的節點空間中的角度。
僅當矢量的原點是(0,0)時,反正切纔會給出矢量的角度。矢量在你的其他座標中起源於哪裏?圓圈的中心?你可以包括一個示例向量的草圖來解釋一下好一點嗎? –
不好意思,這個矢量起源於我的新斧頭來自的圓上的點。切線形成的圓上的點。 –
感謝您的更新。根據新的段落,它聽起來像你的矢量總是從圓上的一個點運行到它的中心。在您更改的座標系下,這總是_x_軸的一個分支,所以角度始終爲0°或180°。除非你想要_original_座標系中的角度?但是,如果這是真的,你的原始程序就可以工作 - 只需使用atan2()'。 –