グラデーションNDフィルター計算
空がEV 15、地面がEV 12なら明暗差は3段で、0.9のハードGNDが合います。2つの測光値と地平線の形を入れると、フィルターの濃度と100 mm角フィルター上の境目の位置が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Sky ev
- 15
- 前景のEV
- 12
- 水平線の種類
- Flat
- 水平線の位置の割合
- 40
- 残す段数
- 0
- フィルターの高さ (mm)
- 100
- 差 (段)
- 3
- 必要ストップ数
- 3
風景 写真 では 短い 露出 を 求める 明るい 空 と 、 より 長い 露出 を 求める 暗い 前景 を 測光 する こと が 日常 です 。グラデーション ND フィルター は 画面 の 上側 だけ を 暗くし 、 1 枚 の raw で ハイライト の 質感 を 残しつつ 地面 を 潰さない ように します 。本 グラデーション ND フィルター 遷移 計算機 は 空 と 前景 の スポット 測光 EV を 受け取り 、 差 を 段 ( ストップ ) として 求め 、 市販 GND の 1 から 5 段 まで で 最も 近い 強さ を 推奨 します 。あわせて hard ・ soft ・ reverse の 遷移 を 地平線 に 置き 、 フレーム 内 および 75 ・ 100 ・ 150 ミリ の フィルター 上 で フェード が どこ に 来る か を 示します 。
地平線上のハード・ソフト・リバース遷移
強さはグラデーション ND 判断の半分にすぎません。もう半分は遷移、つまり暗部とクリア部のフェードと、地平線に対する位置です。計算機は hard スタイルと、地平線中心の名目 10 パーセント帯を返し、フェードが木や水面へにじまないようにします。
答えは soft スタイルと 50 パーセント帯で、勾配が峰の陰に隠れ、見える縞を描きません。答えは reverse グラデーションで、地平線より下はクリア、地平線が最も暗く、画面の約 30 パーセントで上へ向けて薄くなります。
100 ミリのフィルターでは同じパーセントがミリメートルになり、40 パーセントの地平線と hard の 10 パーセント帯は板の下端から 35 から 45 ミリを占めます。上下端近くでは帯をフィルター内にクランプするため、開始が 0 未満、終了が 100 超になることはありません。
活用例
海と湖の事前確認
明るい空とより暗い水面や砂を測光し、推奨のハードエッジ GND とミリメートル印を使って、光が落ちる前にフェードを直線の地平線へ合わせます。
山と森のスカイライン
不規則な地平線を指定してソフトエッジの強さと広い遷移帯を得ると、峰の陰に隠れ、木々を横切る見える縞を切りません。
日没リバースグラデーションの計画
太陽が地平線にあるとき、空と地面の EV 差をリバース GND に換え、地平線から始まり天頂へ開くフェードにします。
よくある質問
明暗差が3段のときはどのハーフNDを使いますか?
空と前景をスポット測光します。空がEV 15、地面がEV 12なら差は3段で、ND8とも呼ばれる0.9のGNDが合い、光の12.5%を通します。
ハード、ソフト、リバースはどう選びますか?
海や湖のようなまっすぐな地平線にはハード、山や木々には境目が目立たない幅広のソフト、地平線上の太陽には上へ向かって薄くなるリバースを使います。
フィルターの境目はどこに合わせますか?
地平線に合わせます。平らな地平線が画面の40%の位置で、ハードの帯が10%なら、100 mmフィルターの下端から35〜45 mmが境目になります。
空が5段以上明るいときは?
推奨は5段のフィルターで止まり、フィルターの重ね掛けや露出合成のほうが向いているという注意が付きます。明暗差が半段未満ならフィルターは不要と表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/photo-graduated-nd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sky_ev":15,"foreground_ev":12,"horizon_type":"flat"}'const res = await fetch("https://api.kit.forhosting.com/hobby/photo-graduated-nd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sky_ev": 15,
"foreground_ev": 12,
"horizon_type": "flat"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/photo-graduated-nd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sky_ev": 15,
"foreground_ev": 12,
"horizon_type": "flat"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/photo-graduated-nd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sky_ev":15,"foreground_ev":12,"horizon_type":"flat"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sky_ev":15,"foreground_ev":12,"horizon_type":"flat"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/photo-graduated-nd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sky_ev": 15,
"foreground_ev": 12,
"horizon_type": "flat"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.photo_graduated_nd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効 な 測光 、 空 と 地面 の 逆転 、 範囲 外 の 地平線 は invalid_input で 失敗 し 、 課金 され ません 。
空と前景の EV が GND 強度になる仕組み
グラデーション ND は写真の段で指定され、露出値と同じ単位です。半段未満は 0 と no filter ラベルに落ちます。ほぼ均衡した場面を 1 段の板で暗くし過ぎるためです。5 を超える値は 5 段推奨にクランプし、単板よりスタックや露出合成が良いという短い注記を付けます。測光値は捏造しません。 空が地面より実際に暗い場合は要求を拒否します。空側を暗くするグラデーションは不均衡を直すどころか悪化させるからです。スポットメーター(またはカメラのスポット測光)が明るい空に sky_ev 15、暗い地面に foreground_ev 12 を返すと、場面は 3 段のコントラストを持ち、delta_stops は sky_ev から foreground_ev を引いた値です。この 3 段の差こそ、0.9 の hard または soft の GND が取り除くために売られている量です。任意の keep_stops を使うと、空が芝生と同じ暗さに見えないよう自然な差を残せます。needed_stops はそのとき delta_stops から keep_stops を引いた値です。エンジンは needed_stops を 0 から 5 の閉じた集合の最も近い整数へ丸め、市販の ND2、ND4、ND8、ND16、ND32(光学密度 0.3、0.6、0.9、1.2、1.5)に合わせます。暗い部分の透過は 2 の recommended_stops 乗分の 1 なので、3 段 GND は空の光の 12.5 パーセントを通します。remaining_contrast_stops はその推奨板のあとに残る場面コントラストです。
地平線上のハード・ソフト・リバース遷移
直線の海・湖・草原なら horizon_type を flat にします。山・森・折れ線のスカイラインなら horizon_type を irregular にします。太陽が地平線にあり最明部が天頂ではなく帯なら horizon_type を sunset にします。horizon_percent はフレーム下端から測り(下端が 0、上が 100)、既定は 50 です。任意の filter_height_mm は既定 100 ミリを上書きし、75 ミリや 150 ミリのホルダーでも開始・終了・幅をその単位で返します。
入力契約、失敗、数値が使われる場面
失敗はプリペイド残高を消費しません。5 段以内のときのスタック注記など、当てはまらない任意出力キーは null にせず省略します。図が必要ならホルダー目盛りやライブビュー重ね合わせと組み合わせてください。本能力は段と配置だけを計算し、画像バイトには触れません。必須の有限 sky_ev と foreground_ev(区間は −20 から 30)と、horizon_type を文字列 flat、irregular、sunset のいずれかにした JSON を POST します。任意の horizon_percent は 0 以上 100 以下、任意の keep_stops は 0 以上 10 以下、任意の filter_height_mm は 20 以上 200 以下です。ev_sky、fg_ev、style、filter_mm などの別名も受け付け、表計算や型付きフォームが同じ契約を再利用できます。成功時は入力をエコーし、delta_stops、needed_stops、recommended_stops、optical_density、nd_factor、nd_label、gnd_label、transition_style、フェードの開始・終了・中心・幅(パーセントとミリ)、remaining_contrast_stops、暗部の transmission と transmission_percent、filter_needed フラグを返します。formula 文字列とメソッドタグ graduated_nd_transition で API クライアントは自己説明的になります。測光欠落、非有限数、地面より暗い逆転した空、未知の horizon_type、範囲外パーセントは invalid_input でフィールド名を示します。実装は純粋 parse の tier A のため、成功呼び出しは公開の基本価格 $0.002 で、モデルトークンも外向き通信もありません。
技術的な質問
必要なグラデーション ND フィルターはどう計算しますか?
スポットメーターの sky_ev と foreground_ev に horizon_type を添えて送ってください。API は delta_stops = sky_ev − foreground_ev と、市販 1–5 段 GND に最も近い recommended_stops(半段未満は no filter)を返します。
ハード・ソフト・リバース遷移の違いは何ですか?
horizon_type の flat は直線地平向けの hard 約 10% 帯、irregular は折れ線向けの soft 約 50% 帯、sunset は地平線から天頂へ向かい下はクリアな reverse フェードです。
horizon_percent はどう測りますか?
フレーム下端からです。0 が下端、100 が上、50(既定)が中央です。同じパーセントを filter_height_mm に掛け、板をミリメートルで印します。
keep_stops は何のためですか?
フィルター後に残したいコントラストです。needed_stops = (sky_ev − foreground_ev) − keep_stops。完全に揃えるなら 0、空と地面に 1 段の自然差を残すなら 1 です。
グラデーション ND フィルター計算機の料金は?
ブラウザツールは無料です。API は成功呼び出しごとに KIT 前払い残高から $0.002、無効入力は課金されません。