私は円の周りを回転するダイヤルに取り組んでいます。
このダイヤルを使用すると、円の任意の場所にマウスを移動して、ダイヤルの位置をクリックと同じ角度の円上の点に調整できます。たとえば、上のダイヤルから、下にピンクで表示されているスポットをクリックした場合、そのポイントの上で円上にダイヤルを移動します。
半径と角度(ラジアン単位)を指定して、円上の点の位置を取得する方法を知っています。それがこの式です:
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
しかし、私は反対のことをやろうとしています。クリックポイントがあり、それを円上のポイント(コントロールノブが行く場所)に変えたいと思っています。このポイント(および指定された半径)を使用して、角度をラジアン単位で計算して、同じ角度でコントロールノブを円に配置しようとしています。
これを達成するために使用できる便利な式はありますか?
ポイント間の角度を取得するための式をお探しですか?
—
ウィリアムマリアガー
2点間の角度を取得できますか?勾配を計算することはできますが、三角形を作成し、逆三角関数を使用してこれを解決するには3番目の点が必要であると推測しました。
—
編集者
方法を示す回答を投稿しました。
—
ウィリアムマリアガー