あのぞんブログ

【JavaScript】ズームしたときの座標を求める関数

2021-02-13

図の外側四角 (sx, sy, ex, ey) と選択点(ox, oy)と拡大率から 内側の四角(nsx, nsy, nex, ney)を求める関数です。

コード

const zoom1D = (s, e, p, scale = 2) => {
  const d = e - s
  const o = s + d * p
  const r = d / scale / 2
  return [o - r, o + r]
}
const zoom2D = (sx, sy, ex, ey, px, py, scale = 2) => {
  const [nsx, nex] = zoom1D(sx, ex, px, scale)
  const [nsy, ney] = zoom1D(sy, ey, py, scale)
  return [nsx, nex, nsy, ney]
}

マンデルブロ集合をズームしてくサンプル

コード

Web


© 2021 あのぞんびより All Rights Reserved