ฉันกำลังทำงานกับแป้นหมุนที่หมุนรอบวงกลม
ปุ่มหมุนนี้จะช่วยให้คุณสามารถย้ายที่ใดก็ได้ในวงกลมเพื่อปรับตำแหน่งของวงแหวนเป็นจุดบนวงกลมที่มีมุมเดียวกับการคลิก ตัวอย่างเช่นจากการหมุนด้านบนหากคุณคลิกจุดที่แสดงเป็นสีชมพูด้านล่างฉันจะย้ายการหมุนด้านบนจุดนั้น แต่ในวงกลม
ฉันรู้วิธีรับตำแหน่งของจุดบนวงกลมที่ให้รัศมีและมุม (เป็นเรเดียน) นั่นคือสูตรนี้ :
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
อย่างไรก็ตามฉันกำลังมองหาที่จะทำตรงกันข้าม - ฉันมีจุดคลิกที่ฉันต้องการที่จะกลายเป็นจุดบนวงกลม (ที่ปุ่มควบคุมไป) ฉันพยายามใช้จุดนี้ (และรัศมีที่กำหนด) เพื่อหามุมในหน่วยเรเดียนเพื่อให้ฉันสามารถวางปุ่มควบคุมบนวงกลมในมุมเดียวกัน
มีสูตรที่ใช้งานง่ายที่ฉันสามารถใช้เพื่อทำให้สิ่งนี้สำเร็จหรือไม่?
atan
สั้นarctan
และatan2
เป็นเพียงฟังก์ชั่นที่ยอมรับการขัดแย้งกันและแบ่งให้คุณ