SVG ドキュメント内のマウス カーソルの位置に関して問題が発生しています。HTML ページでJavaScriptを使用して、ドラッグ時にカーソルを追従するポテンショメータを設計したいと考えています。
試しevt.clientX/Y
てみevt.screenX/Y
ましたが、SVG がautoscaleであるため、SVG 内の座標が異なります。私は何日も答えを探していましたが、解決策を見つけることができませんでした (SVG の再スケーリング係数をリアルタイムで知っているか、SVG 座標系でのマウス位置の関数を持っています)。
ローテーションは単純なルールに従います。
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;
回転の中心として、すべてを SVG 内のマウスの座標に(xc;yc)
置き換えます。evt.screenX/Y