手ブレについて考えたことがあるけど、ずばり焦点距離が x のとき、特定カメラの性能で 1px 以内に手ぶれが収まるシャッタースピードを求める関数が欲しかったので書いた。

/**
 * `focalLength`mm の焦点距離のとき 1px 以内に手ぶれが収まる最低限のシャッタースピード
 * `opts.sensorSize.width`: センササイズ (横)
 * `opts.pixels.width`: ピクセル数 (横)
 * `opts.jiggle_angle`: 手ぶれの角速度 (角度/秒)
 *
 * (focalLength * Math.tan(degreeToRadians(2) * speed)) / (opts.sensorSize.width / opts.pixels.width) == 1;
 * focalLength * Math.tan(degreeToRadians(2) * speed) == (opts.sensorSize.width / opts.pixels.width);
 * Math.tan(degreeToRadians(2) * speed) == (opts.sensorSize.width / opts.pixels.width) / focalLength;
 * degreeToRadians(2) * speed == Math.atan( (opts.sensorSize.width / opts.pixels.width) / focalLength );
 * speed == Math.atan( (opts.sensorSize.width / opts.pixels.width) / focalLength ) / degreeToRadians(2);
 */
function minimunSpeedByFocalLength (focalLength, opts) {
	if (!opts) opts = {};
	if (!opts.jiggle_angle) opts.jiggle_angle = minimunSpeedByFocalLength.JIGGLE_ANGLE.ADVANCED;
	return Math.atan( (opts.sensorSize.width / opts.pixels.width) / focalLength ) / degreeToRadians(opts.jiggle_angle);
}
minimunSpeedByFocalLength.JIGGLE_ANGLE = { // 手ぶれ限界 角速度(角度/秒)
	NOVICE   : 5,
	ADVANCED : 2
};

var sensorSize = {
	width: 36,
	height: 24
};

var pixels = {
	width: 5616,
	height: 3744
};

function show (f) {
	var speed = 1 / minimunSpeedByFocalLength(f, {
		sensorSize : sensorSize,
		pixels     : pixels
	});
	console.log("%dmm 1/%dsec (スピード%d倍=%d段)",
		f,
		Math.floor(speed),
		~~(speed / f),
		Math.sqrt(speed / f).toFixed(2)
	);
}

// NOVICE
show(24);   //=> 24mm 1/326sec (スピード13倍=3.69段)
show(50);   //=> 50mm 1/680sec (スピード13倍=3.69段)
show(100); //=> 100mm 1/1361sec (スピード13倍=3.69段)
show(200); //=> 200mm 1/2722sec (スピード13倍=3.69段)

// ADVANCED
show(24);   //=> 24mm 1/130sec (スピード5倍=2.33段)
show(50);   //=> 50mm 1/272sec (スピード5倍=2.33段)
show(100); //=> 100mm 1/544sec (スピード5倍=2.33段)
show(200); //=> 200mm 1/1089sec (スピード5倍=2.33段)

手ぶれ補正4段分ぐらいあってようやく、いわゆる「焦点距離分の1」で手ブレが無視できるようになる。

画質の評価とかをする場合、十分にシャッタースピードが早いかを確認する必要がありそうだと思った。

  1. トップ
  2. tech
  3. 手ぶれを無視できるシャッタースピード