Найти градусы (0-360º) точки на окружности

Я работаю над небольшим веб-приложением, в котором мне нужно вращать фигуры. я хотел бы добиться этого, взяв точку на круге и перетаскивая его, чтобы повернуть изображение.

Вот краткая иллюстрация, чтобы помочь объяснить вещи:

two points on circle, i'm looking to find the degrees of p1

Мой основной круг можно перетащить в любое место на холсте. Я знаю это радиус (r) и где 12 часов (p0) всегда будет (cx, cy - r). Что Мне нужно знать, какой будет градус p1 (0–360º), чтобы я мог повернуть содержимое основного круга соответствует Raphael.rotate ().

Я просмотрел кучу различных формулировок JavaScript, чтобы найти это ( пример ), но ни одна из них, похоже, не дает мне значений от 0 до 360 и мои базовые математические навыки ужасно несовершенные.

Демонстрация Color Picker (перемещение курсора по кольцу справа) имеет нужное мне поведение, но даже после тщательного изучения исходного кода я не могу воспроизвести его

Я буду признателен за все, что укажет мне правильное направление.

7
задан Phrogz 10 July 2011 в 15:21
поделиться