成果物
D3.jsのサンプルで魚眼レンズが紹介されていたので、早速実装してみました。部分的に拡大できるのが特徴です。円形に拡大するものと、軸を拡大するものがあります。座標変換の結果を利用すれば、画像変形などもできそうです。※軸を変形させる方は、まだ逆変換ができそうなのですが、もう一つは逆変換が難しいので、画像変形も難しそうです。逆変換に頼らない画像変形も今後探していきたいです。
仕組み
こちらのコードをもとにしています。拡大率と、範囲、焦点を変更できます。詳しい導出は分かりませんでしたが、周囲とのずれなく拡大できます。
d3-plugins/fisheye.js at master · d3/d3-plugins · GitHub
Fisheye Distortion
コード
Axis Fisheye, Normal Fisheyeという名前で追加しています。
github.com