Posição do mouse dentro do SVG com autoescala

Estou com problemas em relação à posição do cursor do mouse dentro do meu documento SVG. Eu gostaria de projetar um potenciômetro que irá seguir o cursor quando arrastado, usandoJavaScript em uma página HTML.

Eu tentei evt.clientX / Y e evt.screenX / Y, mas como o meu SVG está emescala automática, coordenadas dentro do meu SVG são diferentes. Eu tenho procurado por uma resposta há dias, mas não consegui encontrar nenhuma solução (conhecendo meu fator de reescalonamento SVG em tempo real ou tenho uma função para localização de mouse no sistema de coordenadas SVG).

A rotação seguirá uma regra simples:

if (evt.screenX <xc)

ang = Math.atan ((evt.screenY - yc) / (evt.screenX - xc)) * 360 / (2 * Math.PI) - 90;
if (evt.screenX> xc)
ang = Math.atan ((evt.screenY - yc) / (evt.screenX - xc)) * 360 / (2 * Math.PI) + 90;

Com (xc; yc) como centro de rotação e substituindo todos os evt.screenX / Y pelas coordenadas do mouse dentro do meu SVG.

questionAnswers(3)

yourAnswerToTheQuestion