Bir daire etrafında dönen bir kadran üzerinde çalışıyorum.
Bu kadran, kadranın konumunu, çemberdeki tıklama ile aynı açıya sahip bir noktaya ayarlamak için dairenin herhangi bir yerine farenizi hareket ettirmenize izin vermelidir. Örneğin, yukarıdaki kadrandan, aşağıda pembe olarak gösterilen noktayı tıklarsanız kadranı bu noktanın üzerine, ancak dairenin üzerine taşırdım.
Yarıçap ve açı (radyan cinsinden) verilen bir daire üzerindeki bir noktanın konumunu nasıl alacağımı biliyorum. Bu formül :
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
Ancak, biraz tersini yapmak istiyorum - bir daire (kontrol düğmesi nereye) bir noktaya dönüştürmek istiyorum bir tıklama noktası var. Kontrol noktasını daireye aynı açıda yerleştirebilmem için bu noktayı (ve belirli bir yarıçapı) radyan cinsinden açıyı anlamaya çalışıyorum.
Bunu başarmak için kullanabileceğim kullanışlı bir formül var mı?
atan
kısadır arctan
ve atan2
yalnızca bağımsız değişkenleri kabul eden ve bölümü sizin için yapan bir işlevdir.